DNSMASQ難しい

家庭内DNSを導入するにあたり、BINDは難しいし重い。
ISCのDHCPサーバも大げさすぎる。

とよく言われて、DNSMASQなら簡単軽量でさくっとできる。

これは嘘だと思う。
BINDやISC-DHCPは何度も設定しているが、ネットで調べながら
やれば、まず数時間でできる。

片やDNSMASQは2~3回やったけど、まともに動くまで4時間以上
かかる。
/etc/hostsに登録したIPの解決はまあすぐにできる。
しかし、グローバルなドメインの解決までできるようになるまで
あっちこっちいじりまわしてようやくまともになる。

resolvconfというツールと協調してる点で、DNSMASQだけ調べても
だめだった。ネットに載っている情報も少なく試行錯誤が多い。

ということで備忘録。

インストール
apt-get install dnsmasq

resolvconfは導入不要。
dnsmasq入れた時点ですでに、resolvconfコマンドは存在する。
ここで別途いれても、systemdに登録されてしまって、予期しない結果を
生む原因になる。

/etc/dnsmasq.confの内容
domain-needed
bogus-priv
resolv-file=/etc/dnsmasq.resolv.conf
local=/home/
except-interface=wlan0
expand-hosts
domain=home
===========ここまで

/etc/resolvconf.confの内容
suga@choro_rasp1:/etc $ cat resolvconf.conf
# Configuration for resolvconf(8)
# See resolvconf.conf(5) for details

resolv_conf=/etc/resolv.conf
# If you run a local name server, you should uncomment the below line and
# configure your subscribers configuration files below.
#name_servers=127.0.0.1
name_server=127.0.0.1
name_server=8.8.8.8
dnsmasq_resolv=/etc/dnsmasq.resolv.conf

# Mirror the Debian package defaults for the below resolvers
# so that resolvconf integrates seemlessly.
dnsmasq_resolv=/var/run/dnsmasq/resolv.conf
pdnsd_conf=/etc/pdnsd.conf
unbound_conf=/var/cache/unbound/resolvconf_resolvers.conf
===========ここまで

これでとりあえずうまくいった。
2か月前にやったら、ブート時に100%dnsmasqの起動に失敗するという
現象があったけど、今回はなかった。
アップデートされたのかもしれない。

まあとにかく、BIND+ISC-DHCPに比較して不安定なのは間違いない。
「簡単」では決してない。