2块网卡的网络配置问题

2块网卡的网络配置问题

我有一台 Debian“jessie”机器,配置为与两个不同的 Wi-Fi USB 适配器配合使用。第一个 ( wlan0) 使用 创建自组织无线网络hostapd,而第二个 ( 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-hoc 网络时,客户端会使用dnsmasq.

现在,有时一切正常:我启动系统,我的自组织网络被广播,DHCPdnsmasq工作正常,第二个接口连接到我的家庭 Wi-Fi 并获取 IP 地址。

然而其他一些时候,虽然 ad-hoc 网络已初始化且工作正常,但第二个接口无法连接到我的家庭网络,而是从第一个接口获取 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应该是inet addr我的家庭路由器提供的,而不是那个。

我认为这个问题可能与启动顺序有关:dnsmasq可能启动得太早或太晚,但我不确定。你怎么认为?预先感谢您的帮助。

答案1

你有一个竞争条件,你wlan1将获取它返回的第一个 IP 地址,无论它是来自 dnsmasq (错误)还是你的家庭路由器(正确)。将以下行添加到您的 dnsmasq 配置中,使其不响应来自以下位置的请求wlan1

dhcp-mac=blacklist,<wlan1 MAC address>
dhcp-ignore=blacklist

相关内容