状況
DHCPv6は動くのにDHCPv4だけ払い出されず、IPv4ネットワークの通信ができない…
Androidの場合はIPv4のリースがないとWi-Fiの接続すらできない…
解決方法
対象のインターフェイスのDHCPを無視していないか確認する
ここにチェックが入っていると、DHCPは動作しません。
DHCPおよびDNS
設定で、DNSサーバーポートが53以外を指定していないか確認する
空白または53
以外を指定すると、DHCPでOption 6(DNSサーバ)の広報が無効になります。
他にDHCPサーバが稼働していないか確認する
当たり前ですが、DHCPサーバが他に稼働しているとリクエストを横取りされたり衝突したりして不具合の原因になります。
意図的に待機系としてもう一台DHCPを動かす場合は、遅延させるオプションを設定することで擬似的にプライマリ・セカンダリ運用が可能です。
/etc/dnsmasq.conf
にdhcp-reply-delay=10
のように、遅延させたい秒数を追記してからサービスをリロードすることでDHCPオファーを遅延させることが可能です。
それでも治らん!どないすりゃええねん!!🤬
nano /etc/config/dhcp
を叩いてconfig dhcp 'lan'
と書かれたブロックをすべて削除して保存しましょう。
保存後に再起動やサービスのリロードは不要です。
luciでlanを編集するとDHCPを初期設定することが可能になり、殆どの場合の設定ミスを修正できます。
ちなみにdnsmasq
とdnsmasq-full
はどちらを使用していても問題ありません。(基本的に排他なので同時インストールはできません)