![以太网正在禁用 WiFi](https://linux22.com/image/754883/%E4%BB%A5%E5%A4%AA%E7%BD%91%E6%AD%A3%E5%9C%A8%E7%A6%81%E7%94%A8%20WiFi%20.png)
我们正在运行 Yocto 4.9.88 版本的 iMX6 板上工作。它同时具有 Wifi 和以太网连接。当我们单独连接 WiFi 时,ping 工作正常。如果我们连接以太网,ping 工作正常。当我们断开以太网连接时,WiFi 仍然会获得 IP 并显示已连接,但我们无法 ping 通。
Wifi 的网络度量为 10,而以太网的网络度量为 0。以下是不同实例的路由表。
当仅连接 WiFi 时,
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 10 0 0 wlan0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
当 WiFi + 以太网连接时,
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
0.0.0.0 192.168.0.1 0.0.0.0 UG 10 0 0 wlan0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
202.83.21.25 192.168.0.1 255.255.255.255 UGH 0 0 0 eth0
202.83.21.43 192.168.0.1 255.255.255.255 UGH 0 0 0 eth0
当以太网断开连接,但 WiFi 仍处于连接状态时,
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
为什么以太网也在路由表中删除 wlan0 条目,并且两个接口是否可以不受任何限制地工作?
答案1
一个快速的解决方法是重新添加通往 wlan0 的缺失路由。
更长的故事:
该行为通常是正常且合乎逻辑的(除了一件事,可能是错误或配置错误)。
当您使用 WiFi 并连接以太网时,管理距离会发生变化,因此以太网具有优先权。这就是这两行的含义:
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
0.0.0.0 192.168.0.1 0.0.0.0 UG 10 0 0 wlan0
指标 0 表示最高优先级。只要 eth0 处于活动状态并正常工作,指标 10 就会处于待命状态。如果断开电缆/eth0,则 wlan0 会再次成为主连接。
到目前为止一切都很好,但是如果你断开有线和路由
0.0.0.0 192.168.0.1 0.0.0.0 UG 10 0 0 wlan0
消失了,那么您当然会遇到连接问题,不再有实际的路由。您可以通过添加最后的网关来绕过此问题。
如果使用 将多个网络配置为候选默认路由ip default-network command
,则将选择管理距离最短的网络作为最后选用网关的网络。如果所有网络的管理距离都相同,则将选择路由表 ( show ip route
) 中第一个列出的网络作为最后选用网关的网络。如果同时使用ip default-network
和ip route 0.0.0.0 0.0.0.0
命令来配置候选默认网络,并且该ip default-network
命令使用的网络是静态已知的,则使用 i 命令定义的网络p default-network
优先并被选为最后选用网关。否则,如果该ip default-network
命令使用的网络由路由协议派生,ip route 0.0.0.0 0.0.0.0
则将优先选择管理距离较短的命令作为最后选用网关。如果使用多个ip route 0.0.0.0 0.0.0.0
命令来配置默认路由,则流量将在多个路由之间进行负载平衡,并且当其中一个启动时,它将在其中任何一个路由上工作。
您可以选择最适合您情况的情况。
答案2
常见的方法是在两个接口上创建一个绑定接口。禁用两个接口上的 IP 地址,然后根据需要配置绑定接口。
您将始终拥有相同的 IP,并且它将使用可用的接口。