我有一个linux系统,它的两个接口是活动的:
br0
:包含两个wifi接口(2.4和5 5GHz)。5 5GHz接口连接到一个网络。桥接接口br0能够从该网络获得IP (192.168.1.107)。这个网络不受任何限制地提供互联网。eth0
:连接到不同的网络(与5 5GHz网络相比),并具有来自它的IP地址(10.102.xx.xx)。这个网络在代理的背后提供互联网。有了这一安排,我无法平任何网站,例如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
发布于 2018-04-23 07:48:14
从路由表中可以看出,当两个接口连接时,您有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
此命令不是持久的,因此当您断开并重新连接该接口时,路由将被重置。
https://stackoverflow.com/questions/49974931
复制相似问题