dnsmasqをHostapdベースのWiFiホットスポット用のDHCPサーバーとして設定しようとしています。
クライアントが WAP2 に接続するとネゴシエーションは成功しますが、dnsmasq は常に次のエラーを出力します。
[ 2081.576809] DHCP[wlan0] - DISCOVER [TX][ 2081.580476]
[ 2081.582008] DHCP[wlan0] - DISCOVER [RX]
dnsmasq-dhcp: no address range available for DHCP request via wlan0
[ 2085.297432] DHCP[wlan0] - DISCOVER [TX][ 2085.301107]
[ 2085.302630] DHCP[wlan0] - DISCOVER [RX]
dnsmasq-dhcp: no address range available for DHCP request via wlan0
これは通常、設定された範囲がデバイス設定と互換性がないことを意味します。
それなら、なぜそうなのか理解できません。
私のテストはdnsmaq.conf
非常に基本的です。
root@imx8qxpa0tcuap:~# cat /etc/dnsmasq.conf
domain-needed
bogus-priv
interface=wlan0
dhcp-range=192.168.207.20,192.168.207.50,12h
...現在のネットワーク設定は以下と互換性がなければなりません。
root@imx8qxpa0tcuap:~# ip addr show wlan0
5: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP 0
link/ether a0:cc:2b:a5:e0:05 brd ff:ff:ff:ff:ff:ff
inet 192.168.207.1/32 scope global wlan0
valid_lft forever preferred_lft forever
inet6 fe80::a2cc:2bff:fea5:e005/64 scope link
valid_lft forever preferred_lft forever
root@imx8qxpa0tcuap:~# ip route
192.168.207.0/24 dev wlan0 scope link
初期dnsmasq出力に問題はありません。
root@imx8qxpa0tcuap:~# dnsmasq -d
dnsmasq: started, version 2.78 cachesize 150
dnsmasq: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP DHCPy
dnsmasq-dhcp: DHCP, IP range 192.168.207.20 -- 192.168.207.50, lease time 12h
dnsmasq: reading /etc/resolv.conf
dnsmasq: using nameserver 8.8.8.8#53
dnsmasq: using nameserver 8.8.4.4#53
dnsmasq: using nameserver 2001:4860:4860::8888#53
dnsmasq: using nameserver 2001:4860:4860::8844#53
dnsmasq: read /etc/hosts - 6 addresses
私は何が間違っていましたか?
注1:このテスト設定では、WiFiホットスポットはどこにもありませんが、クライアントとホットスポット自体との間の通信のみが機能する必要があります。
ノート2:このマシンは、Yoctoベースのディストリビューションを実行するカスタムボード(i.MX8)です。
答え1
wlan0 インターフェイスに無効なネットワークマスクがあります。
-->>> 192.168.207.1/32
/ 32ネットマスクには32ビット、つまり完全なIPアドレスである255.255.255.255があります。
192.168.207.0/24(例:クラスCネットワークアドレスとも呼ばれる255.255.255.0)を参照できます。 / 24マスクを使用すると、192.168.207.1から192.168.207.254まで最大254のIPアドレスを提供できます。