设置 Dnsmaq 为 Hostapd Hotspot 提供 DHCP 地址

设置 Dnsmaq 为 Hostapd Hotspot 提供 DHCP 地址

我正在尝试设置 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:该机器是一个定制板(i.MX8),运行基于 Yocto 的发行版。

答案1

您的 wlan0 接口网络掩码错误。

-->>> 192.168.207.1/32

/32 网络掩码有 32 位,即 255.255.255.255,这是整个 IP 地址。

您可能指的是 192.168.207.0/24 例如 255.255.255.0 又名 C 类网络地址。 /24 掩码允许您提供最多 254 个 IP 地址,从 192.168.207.1 到 192.168.207.254。

相关内容