我有两个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”驱动程序进行“绑定”。