Totaly编辑:
我有3个networking链接eth0 eth1 eth2。 我做了3桌T1 T2 T3。 在/ etc / network / interfaces我写道:
auto eth0 iface eth0 inet static address 1.0.0.1 netmask 255.255.255.0 post-up ip route add 1.0.0.2/32 dev eth0 src 1.0.0.1 table T1 post-up ip route add default via 1.0.0.2 table T1 post-up ip rule add from 1.0.0.1 table T1 post-down ip rule del from 1.0.0.1 table T1 auto eth1 iface eth1 inet static address 2.0.0.1 netmask 255.255.255.0 post-up ip route add 2.0.0.2/32 dev eth1 src 2.0.0.1 table T2 post-up ip route add default via 2.0.0.2 table T2 post-up ip rule add from 2.0.0.1 table T2 post-down ip rule del from 2.0.0.1 table T2 auto eth2 iface eth2 inet static address 3.0.0.1 netmask 255.255.255.0 post-up ip route add 3.0.0.2/32 dev eth2 src 3.0.0.1 table T3 post-up ip route add default via 3.0.0.2 table T3 post-up ip rule add from 3.0.0.1 table T3 post-down ip rule del from 3.0.0.1 table T3
所以,我做了一个重新启动,所有的接口增长了,比我需要添加这样的规则,因为没有网关:
ip route add default scope global nexthop via 1.0.0.2 dev eth0 weight 1 nexthop via 2.0.0.2 eth1 weight 1 nexthop via 3.0.0.2 eth2 weight 1
但之后,我收到错误命令:
RTNETLINK answers: Invalid argument
那么,什么是错的? 我使用这个手册https://www.debian-administration.org/articles/377
首先,eth2不能工作,因为你在configuration文件中有一个错字: gateway XXX.XXX.XXX.255应该是gateway XXX.XXX.XXX.254
其次,如果XXX.XXX.XXX.213来自同一台机器,则XXX.XXX.XXX.71应该回答ping。 如果没有,eth1可能会closures( ifconfig -a输出可能会有所帮助),或者你的防火墙丢弃eth1上的所有数据包,而不是eth0上,或者你有networking问题(有缺陷的电缆,开关configuration错误)你应该尝试在eth0和eth1之间交换电缆。
另一件事,根据你的路由表,只有一个接口将用于传出连接。 它取决于每个路线的度量集。 您可以使用ip route show查看您的路由表
我不知道你有什么虚拟化设置,但拥有多个NIC并使用它们的关键是正确设置你的networking。
你的configuration中有一个在所有接口上的默认网关,这是行不通的。 理解的关键是看你的路由表(通常命令“路由”显示)。
你会看到你有3种stream量出去的方式。 那么会发生什么? 其中一条路线将被使用。 但是,答案(说一个ping)回来在同一个接口? 很可能不是。
所以你需要决定所有的路线这个stream量,并相应地设置你的路线。 自动地,与接口进入同一networking的stream量将通过该接口。 你应该只有一个DEFAULT网关(这就是为什么它被称为DEFAULT–这是为什么没有更好的路线)。 然后按照您想要的方式塑造您的交通。
你不提供IP地址,所以我们没有太多的帮助。 因为我不知道他们是否都是相同的子网。 他们都是192.168.5.xxx还是不一样?
你试图实现的是,你的每个电子邮件服务器通过适用的ISP线路出去。 您不指定使用哪个电子邮件软件,所以我将承担Postfix。 你可以设置postfix绑定到一个特定的接口。 这应该使你的电子邮件通过它。 为此,您可以设置一个路由条目,通过该网关的网关在该网卡上发送stream量。
ping的答案将取决于您的路由表,特别是您的默认网关,我想这里configuration为eth0,这就是为什么eth1和eth2没有响应。 您需要使用ip route和ip rule命令。 像这样我猜: https : //unix.stackexchange.com/questions/4420/reply-on-same-interface-as-incoming
当您发送数据时,只有一个接口被使用,其中99%的时间是默认的eth0。 你当然可以同时接收来自所有3个数据…