问题描述
我的计算机上有两个以太网接口,该接口运行Ubuntu 9.04。这两个接口都具有静态IP,但是使用单独的网关。我的/etc/network/interfaces
文件看起来像这样:
auto eth0 eth1
iface eth0 inet static
address 10.0.0.5
netmask 255.255.255.0
gateway 10.0.0.1
iface eth1 inet static
address 192.168.2.5
netmask 255.255.255.0
gateway 192.168.2.1
我想让所有去往internet-at-large的流量都通过eth0
运行,但似乎要通过eth1
。有没有办法我可以通过eth0
引导一般的出站流量,而仅使用eth1
来传输到其子网的流量?
答案应该是持久的;也就是说,它应该在重新启动后仍然存在,而超级用户无需在重新启动后运行命令。
编辑:根据要求,这是我的route -n
命令的输出:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth1
0.0.0.0 192.168.2.1 0.0.0.0 UG 100 0 0 eth1
0.0.0.0 10.0.0.1 0.0.0.0 UG 100 0 0 eth0
最佳方案
您应该只有一个默认网关。如果您从eth1中删除网关线路,则所有线路都将正常工作(重新启动网络后)。
次佳方案
从/etc /network /interfaces中的eth1删除网关,并将其添加为静态路由:
route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.1
这样,10.0.0.1将是您的默认网关,而eth1将仅用于连接到192.168.2.0网络