dnsmasq で DHCP サーバー
最近、ネットワークの接続が不安定になった。つながっていたものが、突然インターネットに接続できなくなったりする。
NEC の無線LANルーターを使っているが、DHCP のリソースが足りなくなったのかもしれない。過去にもそのようなことに、別の環境で遭遇したことがある。NEC の無線LANルーターは、DHCP のリソースが Buffalo より少なかったことが原因だった。
ということで、原因はよくわからないが、DHCP のリソース不足の不安を解消するために、NECの無線LANルーター の DHCP サーバーを使うのをやめて、自前サーバーで DHCP サーバーを動かすことにした。
ISC-DHCP が有名というかよく使われるらしいが、DNS のために dnsmasq を動かしているので、そのまま DHCP も dnsmasq で動かしてしまおう。
1. /etc/dnsmasq.conf の設定
1. domain-needed のコメントを外した
2. bogus-priv のコメントを外した
3. dhcp-range を設定
例. “ dhcp-range=10.56.90.100,10.56.90.254,12h ”
こんな感じ。
4. dhcp-option=option:router を設定
例. “ dhcp-option=option:router,10.56.90.1 ”
5. 同様に、netmask, dns-server, dhcp-leasefile を設定。
例. “ dhcp-option=option:netmask,255.255.255.0 “
” dhcp-option=option:dns-server,10.56.90.33,10.56.90.1 “
” dhcp-leasefile=/var/lib/misc/dnsmasq.leases “
6. dhcp-authoritative のコメントを外した
2. ルーターの DHCP 機能を OFF にする
dnsmasq の DHCP サーバーを起動する前に、NECの無線ルーターの DHCPサーバーを 停止する。
3. dnsmasq を再起動
systemctl restart dnsmasq
これで、あとは動作確認。
4. ログを確認
cat /var/lib/misc/dnsmasq.leases
を実行して、割り当て状況を確認する。