通过特定的networking接口的IP

我有两个networking接口与相应的IPS

eth0 : 192.168.70.153 eth2 : 192.168.70.155 

当我做

  route -C Kernel IP routing cache Source Destination Gateway Flags Metric Ref Use Iface 192.168.70.155 192.168.70.152 192.168.70.152 0 0 0 eth0 

我怎么能通过eth2强制telnet连接到192.168.70.152?

你将不得不为192.168.70.152主机添加一个特定的路由。

 route add -host 192.168.70.152 dev eth2 

这将通过eth2推送所有发往192.168.70.152的stream量。 这是足够的,还是只需要telnet路由?

你想要的是Linux高级路由和stream量控制HOWTO 。 具体来说,关于Netfilter&iproute标记数据包的部分是开始这种事情的好地方。

你可以设置你的默认路由来覆盖eth0,然后在/etc/iproute2/rt_tables添加一个条目,比如说“viaeth2”。 那么你需要在该表中设置路由:

 ip route add 192.168.70.0/24 dev eth2 src 192.168.70.155 table viaeth2 ip rule add fwmark 1 table viaeth2 

然后,你可以通过iptables标记数据包,应该通过该表路由:

 iptables -A PREROUTING -d 192.168.70.152 -t mangle -p tcp --dport 23 \ -j MARK --set-mark 1 

这将做你在原始问题中特别提出的问题。 如果要在两个接口之间进行更多的通用负载平衡,则需要通过“bond”驱动程序进行“绑定”。