如何在linux中设置首选networking接口

我有我的networking设置这样。 http://docs.google.com/Doc?docid=0AZ1YxuLE4djaZGhqN2s1NmRfMjhjNjc0Ym1meg&hl=en

换句话说:我有一台机器(Calcium,运行Arch Linux),它有两个networking接口。 eth0挂在路由器上,是千兆位。 Eth1直接连接到10M以上的大学networking。 路由器的上行链路也连接到大学networking,也是10M的。

目前(我相信)所有的钙stream量正在通过eth0,通过路由器,无论是内部还是外部。 (我怎样才能确认这一点?)

理想情况下,发往内部networking(192.168.10.0/24)的stream量将通过eth0传播到路由器以及无论何处。 所有其他stream量应该超过eth1。

您的networking路由表将决定如何路由数据包。 您可以添加其他路由或更改默认网关以影响路由。

如果您需要其他帮助,请提供您的路由表。

要显示路由表:

/sbin/route -n

要删除默认gw:

/sbin/route del default gw $IP

要添加默认gw:

/sbin/route add default gw $IP

有关更多详细信息,请查看联机帮助页。 还有其他的方式来操作和显示路由表。

netstat -r显示和ip进一步操作。

这是完整的答案,以防止他人帮忙:

要使目标为192.168.10。*的数据包使用eth0,而所有其他数据包使用eth1:

1)查看你当前的路由表

ip route list

一个条目将类似“默认通过192.168.1.1”其中192.168.1.1是您的路由器(又名网关)的IP地址。 请记住eth0和eth1的网关,因为我们稍后需要它们。

2)删除默认路由。 (警告:这会使你脱机。)

ip route del default

3)添加一个新的默认路由(这将使您重新联机)。 用上面的网关IP地址replace下面的192.168.1.1。

ip route add default via 192.168.1.1 dev eth1

4)添加将由eth0服务的特定路由。 更具体的路线自动优先于较不具体的路线。

ip route add 192.168.10.0/24 via 192.168.1.1 dev eth0

最后,您可以询问Linux将使用哪个接口将数据包发送到特定的IP地址:

ip route get 8.8.8.8

如果configuration工作,包到8.8.8.8(谷歌的服务器)将使用eth1。 数据包到您的本地networking上的任何IP:

ip route get 192.168.10.7

将使用eth0。