分类: 系统运维
2016-09-06 10:07:50
#进包打mark
$ipt -t mangle -A PREROUTING -i $Dev_WAN_ISP_1 -d 2.2.2.2 -p tcp --dport 80 -j MARK --set-mark 1
$ipt -t mangle -A PREROUTING -i $Dev_WAN_ISP_2 -d 3.3.3.3 -p tcp --dport 80 -j MARK --set-mark 2
#进包即将路由到内网前,将mark保存到连接状态中。
$ipt -t mangle -A POSTROUTING -o $Dev_LAN -m mark --mark 1 -j CONNMARK --save-mark
$ipt -t mangle -A POSTROUTING -o $Dev_LAN -m mark --mark 2 -j CONNMARK --save-mark
#从连接状态将mark恢复到每个返回包,供iproute选路由
$ipt -t mangle -A PREROUTING -i $Dev_LAN -s 10.1.8.8 -p tcp --sport 80 -j CONNMARK --restore-mark
#配置DNAT
$ipt -t nat -A PREROUTING -i $Dev_WAN_ISP_1 -d 2.2.2.2 -p tcp --dport 80 -j DNAT --to-destination 10.1.8.8:80
$ipt -t nat -A PREROUTING -i $Dev_WAN_ISP_2 -d 3.3.3.3 -p tcp --dport 80 -j DNAT --to-destination 10.1.8.8:80
#定义路由表名称
echo "110 CT" >> /etc/iproute2/rt_tables
echo "120 CMC" >> /etc/iproute2/rt_tables
#定义线路CT的路由规则。
ip rule add from 2.2.2.2 table CT
ip rule add fwmark 1 table CT
ip route add 10.0.0.0/8 dev eth0 via 10.1.64.17 table CT
ip route add 0/0 via 2.2.2.1 dev eth1 table CT
#定义线路CNC的路由规则。
ip rule add from 3.3.3.3 table CMC
ip rule add fwmark 2 table CMC
ip route add 10.0.0.0/8 dev eth0 via 10.1.64.17 table CMC
ip route add 0/0 via 3.3.3.1 dev eth2 table CMC
#定义默认路由
ip route add 10.0.0.0/8 dev eth0 via 10.1.64.17
ip route add default equalize nexthop via 2.2.2.1 dev eth1 nexthop via 3.3.3.1 dev eth2