我有一台Debian "jessie“机器,它可以与两台不同的Wi接口一起工作。第一个(wlan0
)使用hostapd
创建一个ad无线网络,而第二个(wlan1
)应该尝试使用wpa_supplicant
连接到我的家庭网络。下面是我的/etc/network/interfaces
文件的相关部分:
# Ad-hoc wireless interface
allow-hotplug wlan0
iface wlan0 inet static
address 172.16.42.1
netmask 255.255.255.0
# Infrastructure wireless interface
allow-hotplug wlan1
iface wlan1 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
当hostapd
服务于ad网络时,客户端可以使用dnsmasq
获得一个IP地址.
现在,有时候一切都很好:我启动系统,我的临时网络被广播,DHCP通过dnsmasq
工作很好,第二个接口连接到我家的Wi并获得一个IP地址。
然而,在其他情况下,当ad网络被初始化并完美工作时,第二个接口并不连接到我的家庭网络,而是从第一个本地网络获得一个IP地址。当发生这种情况时,下面是ifconfig
的输出:
wlan0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet addr:172.16.42.1 Bcast:172.16.42.255 Mask:255.255.255.0
...
wlan1 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet addr:172.16.42.18 Bcast:172.16.42.255 Mask:255.255.255.0
...
请注意,wlan1
's inet addr
应该是我的家庭路由器提供的,而不是那个路由器。
我认为这个问题可能与启动顺序有关:dnsmasq
启动可能太早或太晚,但我不确定。你认为如何?提前谢谢你的帮助。
发布于 2016-01-07 14:45:57
您有一个竞争条件,您的wlan1
将获取它返回的第一个IP地址,而不管它来自dnsmasq (错误)还是来自您的家庭路由器(正确)。将以下行添加到dnsmasq配置中,使其不响应来自wlan1
的请求
dhcp-mac=blacklist,<wlan1 MAC address>
dhcp-ignore=blacklist
https://unix.stackexchange.com/questions/253889
复制相似问题