ラズパイでDNSキャッシュサーバー(Dnsmasq)

 2023/01/13改訂

 今までBIND8→9でしたけど、面倒くさいのでより軽くって事で。
 他にもキャッシュサーバーを軽く見てきたけど、設定が楽。
 ローカルのLANの為にゾーンとか要らない…LAN内の名前解決は単純に鯖のhostsを参照してくれるだけ(‘∀`)

 あと、今更ながらTLDを普通のにして使ってたので(ドメイン名は独特なのでまあ使われる事は無いし、最終的には1つだけ使ってるドメイン…このレン鯖に割り当ててるのを使えばいいのだけど)、.internalを使う事にしました。

 先ずはラズパイのローカルアドレスを固定します。

$ sudo nano /etc/dhcpcd.conf

 なんかズラズラ書かれてますが、最終行近くにGUIとかで設定したのが書き出されていたりするので、それを弄るw

interface eth0
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
inform 192.168.0.2
static ip6_address=::ffff:192.168.0.2

 なんでinformになってるんだ…。ググったらこれでおかしな動作になっちゃうとか。GUIで設定するとそうなる模様(‘A`)
 informの所をコメントアウト(消してもイイと思う)してstaticで書き直す。

interface eth0
static routers=192.168.0.1
static domain_name_servers=192.168.0.2
#inform 192.168.0.2
static ip_address=192.168.0.2/24
static ip6_address=::ffff:192.168.0.2

 設定変更したら、eth0を再起動。

$ sudo ifconfig eth0 down
$ sudo ifconfig eth0 up

 ネットにしっかり接続してる事を確認したら、Dnsmasqのインストールです。

$ sudo apt install dnsmasq -y

 さっくり終わるので、設定ファイルの/etc/dnsmasq.confを弄ります(゚∀゚)

$ sudo nano /etc/dnsmasq.conf

 弄るのは最初の方の3箇所。

#domain-needed
#bogus-priv
…
#server=/localnet/192.168.0.1
#local=/localnet/
…
#expand-hosts
#domain=thekelleys.org.uk

 これを↓の用な感じに。domain-neededとbogus-privのコメントアウトを外して有効化、#serverの下に外部(インターネット)に問い合わせるサーバーを書き加えます。

domain-needed
bogus-priv
…
server=192.168.0.1
local=/hogehoge.internal/
…
expand-hosts
domain=hogehoge.internal

 (2023/01/13:ローカルのDNSもするならexpand-hostsとdomainの項目も設定した方が良さげ)
 ルーターに転送しちゃってるけど…まあいいかと思われ。

 次は名前解決用のファイル、/etc/hostsを編集する。

$ sudo nano /etc/hosts

 ローカルホスト(自分自身の)名前解決のだけ書かれているので、後に継ぎ足していく感じで書き足していくんですが…。
 個人的にホームネットワークとか色々やってて無線LAN子機が凄い沢山になりそうなので、100件以上割り当てているんですよね(‘∀`) 要らないっちゃ要らないんだけど…。
 ここまで多いと手打ち編集が大変なので、元々BINDで使ってた設定ファイルを弄ってhostsに合わせたテキストファイル(tuika_hosts.txt)を用意。FTPでラズパイに転送しておいて、nanoのファイル読み込み(して現在の編集している奴に挿入する)機能を使います。

 えーと編集中に(念の為)最後方にカーソル持ってきておいて、「Ctrl+r」で読み込むファイルを指定すると、その中身がコピペされます。

 ちなみにhostsの書式は、

192.168.0.3  hoge.hogehoge.internal hoge

 と、とても簡単の模様です。

 最後にDnsmasqの再起動。

$ sudo systemctl restart dnsmasq

 あとは名前解決しているか確認して下さい(^_^;)


 あと、/etc/dnsmasq.confの後半の方にキャッシュサイズを変更できる設定があります。

#cache-size=150

 デフォルト設定かなと思います。ラズパイのメモリの使用状況に合わせてちょい増やしてみるのも良いかも。


 最後に、DnsmasqはDHCPも出来るみたいです…が、自分はルーターにお願いしているので使ってません。
 基本的に無線LAN使う機器に対してだけDHCP割り当てています。


 さて、あっと言う間にやりたい事終わってしまった…。ラズパイ自体は本来はもっと色々出来るだろうけど、LANの基幹サーバーになったので、某か色々やるならもう一個買って弄くり倒す方がいいのかなと思います。
 そんな高くないしね(以前に比べたらちょっと高いけど…)。

投稿者: しらいし じゅん

趣味に奔る人ですε=ε=ε=┌(;゚∀゚)┘

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です