我的设置是在一个接口和单个networking上的两个ISP。 我可以将我的默认网关设置为192.168.0.1或192.168.1.250并可以工作。
编辑:networking掩码(在注释中注意到) is 255.255.254.0 – 正如我所说,他们在同一个子网。
我的愿望是利用他们两个负载平衡。 我试图按照https://serverfault.com/a/96586中给出的build议
#!/bin/sh ip route show table main | grep -Ev '^default' \ | while read ROUTE ; do ip route add table ISP1 $ROUTE done ip route add default via 192.168.1.250 table ISP1 ip route add default via 192.168.0.1 table ISP2 iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark iptables -t mangle -A PREROUTING -m mark ! --mark 0 -j ACCEPT iptables -t mangle -A PREROUTING -j MARK --set-mark 10 iptables -t mangle -A PREROUTING -m statistic --mode random --probability 0.5 -j MARK --set-mark 20 iptables -t mangle -A PREROUTING -j CONNMARK --save-mark
现在我重复“traceroute somehost”,我只能通过我的默认路由192.168.1.250获得路由。 数据包不应该随机改变路由吗? 如何debugging呢?
我知道有多个默认网关的唯一方法是利用这里显示的方法: http : //lartc.org/howto/lartc.rpdb.multiple-links.html 。 然而,我build议这种方法的一个修改是,而不是把东西放在/etc/rc.local中,将它们存储在networking路由/规则文件中(再次,这是假设红帽子,所以YMMV – / etc / sysconfig / network-scripts / route-和/ etc / sysconfig / network-scripts / rule-。
为了使单个接口被看作是两个接口,可以按照以下所示的方法创build子接口: http : //linux-101.org/howto/create-sub-interfaces-centos-and-redhat