当两个接口(以太网和 wifi)处于活动状态时无法 ping
Unable to ping when two interfaces (ethernet and wifi) are active
我有一个 linux 系统,有两个活动接口:
- Bridge
br0
:包含两个 wifi 接口(2.4 和 5GHz)。 5GHz 接口连接到网络。网桥接口 br0 能够从该网络 (192.168.1.107) 获取 IP。此网络提供无任何限制的互联网。
- 以太网
eth0
:连接到不同的网络(与 5GHz 网络不同)并且也有一个来自它的 IP 地址 (10.102.xx.xx)。此网络在代理后提供互联网。
通过这种安排,我无法 ping 通任何网站,例如ping google.com
失败。如果我暂时删除以太网,则 ping 成功。如果我指定要从中执行 ping 操作的接口,Ping 也会成功。例如ping -I br0 google.com
成功。
系统上的 HTML5 应用程序 运行 需要加载 URL,由于上述问题而失败。
你能帮我理解为什么当两个接口都处于活动状态时 ping/wget/curl 会失败吗?我该如何解决这个问题?
路由 table 如下所示:
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.102.132.1 0.0.0.0 UG 202 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 UG 208 0 0 br0
10.102.132.0 0.0.0.0 255.255.255.128 U 202 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
192.168.1.0 0.0.0.0 255.255.255.0 U 208 0 0 br0
从您的路由 table 可以看出,当您连接了两个接口时,您有 2 个默认网关,即使最低指标应该优先考虑 10.102.132.1 网关,但这可能不是您想要的鉴于它在代理后面。
如果您运行执行以下命令,您应该能够删除 eth0 上的默认网关,并且能够再次 ping 通:
sudo route del -net 0.0.0.0 gw 10.102.132.1 netmask 0.0.0.0 dev eth0
此命令不是永久性的,因此当您断开并重新连接该接口时,路由将被重置。
我有一个 linux 系统,有两个活动接口:
- Bridge
br0
:包含两个 wifi 接口(2.4 和 5GHz)。 5GHz 接口连接到网络。网桥接口 br0 能够从该网络 (192.168.1.107) 获取 IP。此网络提供无任何限制的互联网。 - 以太网
eth0
:连接到不同的网络(与 5GHz 网络不同)并且也有一个来自它的 IP 地址 (10.102.xx.xx)。此网络在代理后提供互联网。
通过这种安排,我无法 ping 通任何网站,例如ping google.com
失败。如果我暂时删除以太网,则 ping 成功。如果我指定要从中执行 ping 操作的接口,Ping 也会成功。例如ping -I br0 google.com
成功。
系统上的 HTML5 应用程序 运行 需要加载 URL,由于上述问题而失败。
你能帮我理解为什么当两个接口都处于活动状态时 ping/wget/curl 会失败吗?我该如何解决这个问题?
路由 table 如下所示:
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.102.132.1 0.0.0.0 UG 202 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 UG 208 0 0 br0
10.102.132.0 0.0.0.0 255.255.255.128 U 202 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
192.168.1.0 0.0.0.0 255.255.255.0 U 208 0 0 br0
从您的路由 table 可以看出,当您连接了两个接口时,您有 2 个默认网关,即使最低指标应该优先考虑 10.102.132.1 网关,但这可能不是您想要的鉴于它在代理后面。
如果您运行执行以下命令,您应该能够删除 eth0 上的默认网关,并且能够再次 ping 通:
sudo route del -net 0.0.0.0 gw 10.102.132.1 netmask 0.0.0.0 dev eth0
此命令不是永久性的,因此当您断开并重新连接该接口时,路由将被重置。