Ubuntu 12.04 桌面版有线网络连接,eth0 和 eth1 绑定并桥接。重启后
- ping ubuntu.com 失败
- ping 8.8.8.8 失败
- 通过noip域名访问web服务器失败
- 通过外部 IP 地址访问 Web 服务器失败
- 通过内部IP地址访问web服务器(ssh等)成功(另一台机器)
罪魁祸首似乎是 eth0 上的路由。此路由看起来很奇怪,因为 eth0 已绑定并桥接到 br0,并且未用作 eth0。
路由输出
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
default 192.168.0.1 0.0.0.0 UG 100 0 0 br0
link-local * 255.255.0.0 U 1000 0 0 br0
192.168.0.0 * 255.255.255.0 U 0 0 0 br0
192.168.0.0 * 255.255.255.0 U 1 0 0 eth0
192.168.122.0 * 255.255.255.0 U 0 0 0 virbr0
如果我通过运行以下命令为 br0 添加网关路由(复制上面的第二行,但 metric=0 除外)
route add default gw 192.168.2.1 br0
ping 可以正常工作,并且可以从本地网络外部进行访问。
上述之后的路线输出
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.0.1 0.0.0.0 UG 0 0 0 br0
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
default 192.168.0.1 0.0.0.0 UG 100 0 0 br0
link-local * 255.255.0.0 U 1000 0 0 br0
192.168.0.0 * 255.255.255.0 U 0 0 0 br0
192.168.0.0 * 255.255.255.0 U 1 0 0 eth0
192.168.122.0 * 255.255.255.0 U 0 0 0 virbr0
我如何防止在 eth0 上创建路由?(我注意到列表中还有另一个 eth0 路由。同样,我不知道为什么 eth0 在绑定时会有路由。)
我是否应该采取一些措施将 br0 的默认路由上的度量更改为 0?(如果是,该怎么做?)
/etc/网络/接口
iface lo inet loopback
auto eth0
iface eth0 inet manual
bond-master bond0
auto eth1
iface eth1 inet manual
bond-master bond0
auto bond0
iface bond0 inet manual
bond-miimon 100
bond-mode balance-rr
bond-slaves none
auto br0
iface br0 inet static
address 192.168.0.105
gateway 192.168.0.1
dns-nameservers 192.168.0.1 8.8.8.8 8.8.8.4
dns-search xxx.xxx.xxx <- localhost's domain name
netmask 255.255.255.0
bridge_ports bond0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
谢谢。