分类: LINUX
2013-02-18 11:42:30
原文地址:【原创】linux多ISP的策略路由 作者:king_819
#!/bin/bash
#
BY kerryhu
# QQ:263205768
# MAIL:king_819@163.com
#
BLOG:http://kerry.blog.51cto.com
# Please manual operation yum of before
Operation.....
#安装iproute2
tar -zxvf iproute2-2.6.16-060323.tar.gz
cd iproute2-2.6.16-060323
make SBINDIR=/sbin
make SBINDIR=/sbin
install
mv -v /sbin/arpd /usr/sbin
ISP1
电信:222.188.110.32/27
ISP2
网通:122.96.240.16/28
eth0:222.188.110.43
网关:222.188.110.33
eth1:122.96.240.18
网关:122.96.240.17
额外创建两个路由表, T1 和
T2。 加入到 /etc/iproute2/rt_tables 中。
vi /etc/iproute2/rt_tables
10 T1
20
T2
然后如下设置两个路由表中的路由:
ip route add 222.188.110.32/27 dev eth0 src 222.188.110.43 table T1
ip
route add default via 222.188.110.43 table T1
ip route add 122.96.240.16/28
dev eth1 src 122.96.240.18 table T2
ip route add default via 122.96.240.17
table T2
设置“main”路由表
ip route add
222.188.110.32/27 dev eth0 src 222.188.110.43 table main
ip route add
122.96.240.16/28 dev eth1 src 122.96.240.18 table main
然后,设置你的缺省路由:
ip route add default via 222.188.110.43
接着,设置路由规则。这实际上在选择用什么路由表进行路由。你需要确认当你
从一个给定接口路由出数据包时,是否已经有了相应的源地址:你需要保证的就
是如果你已经有了相应的源地址,就应该把数据包从相应的网卡路由出去:
ip rule add from 222.188.110.43 table T1
ip rule add from 122.96.240.18
table T2
以上命令保证了所有的回应数据都会从他们来的那块网卡原路返回。
ip route add
default scope global nexthop via 222.188.110.43 dev eth0 weight 30 netxthop via
122.96.240.18 eth1 weight 70
这样就可以均衡两个ISP的路由。通过调整“weight”参数我们可以指定其中一个ISP的优先权高于另一个
本文出自 “聆听未来” 博客,请务必保留此出处http://blog.chinaunix.net/space.php?uid=9419692&do=blog&id=3184102