我有一个有两个活动接口的linux系统:
br0
:包含两个wifi接口(2.4和5GHz)。 5GHz接口连接到网络。网桥接口br0能够从该网络获得IP(192.168.1.107)。该网络提供互联网,没有任何限制。eth0
:连接到不同的网络(比5GHz网络),并且还有一个IP地址(10.102.xx.xx)。该网络在代理服务器后面提供互联网。通过这种安排,我无法ping任何网站,例如ping google.com
失败了。如果我暂时删除以太网,则ping成功。如果我指定要ping的接口,Ping也会成功。例如ping -I br0 google.com
成功。
系统上运行的HTML5应用程序需要加载由于上述问题而失败的URL。
您能否帮我理解为什么ping / wget / curl在两个接口处于活动状态时失败以及如何解决这个问题?
路由表如下所示:
# 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
答案 0 :(得分:0)
从您的路由表中可以看出,当您同时连接两个接口时,您有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
此命令不是持久性的,因此当您断开并重新连接该接口时,路由将被重置。