else
ip route del default dev $IFNAME table $RT_TABLE
fi
# Write some messages for later trubleshooting.
echo >> /var/log/ifchang.log
echo ": $IFNAME going down at `date`." >> /var/log/ifchang.log
echo ": Connection lasted $CONNECT_TIME seconds." >> /var/log/ifchang.log
echo ": $BYTES_SENT bytes sent, $BYTES_RCVD bytes received." >> /var/log/ifchang.log
echo ": Table $RT_TABLE default route changed to `ip route ls table $RT_TABLE | grep
default`. " >> /var/log/ifchang.log
# Refresh routing cache to activating the routing immediately.
ip route flush cache
注意,创建完脚本后必须将其属性改为可执行,否则不会被执行。
6.路由策略的选择
策略路由能够通过源地址、目标地址、ToS或fwmark标记来进行选择。在此,为了利用iptables的强大的过滤功能采用fwmark标记来决策路由。
在/etc/rc.d/rc.local中添加如下命令:
/sbin/ip rule add fwmark 1 table ppp0
/sbin/ip rule add fwmark 2 table ppp1
7.防火墙规则的添加
这里利用的iptables的强大过滤功能来对流量进行标记。本例中仅根据ip地址的奇偶性来拆分流量,根据具体需求,您还能够根据第4层端口号、ToS等来拆分流量。防火墙需要添加如下命令:
代码:
# Divid traffic to different mark
iptables -t mangle -A PREROUTING -s 10.0.0.0/255.255.255.1 -j MARK --set-mark 0x1
iptables -t mangle -A PREROUTING -s 10.0.0.1/255.255.255.1 -j MARK --set-mark 0x2
# NAT
/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -o ppp1 -j MASQUERADE
至此,双adsl链路的热互备及负载分担基本完成。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




