网络结构是 eth1 172.21.41.15/24 内网
eth0 外网ip 电信外网
本机172.21.41.15 装有squid 做透明代理
源地址策略路由目的 把从eth1 源地址 172.21.41.22 来的包
从eth1再扔给另一台squid的服务器 172.21.41.13处理
这个试验的目的是在不增加本机网络端口的基础上 根据源地址来划分 扔给不同的服务器处理
试验开始:
#vi /etc/iproute2/rt_tables
增加以下行
200 net10
这个是增加了一个路由表 net10
#ip route add to 0.0.0.0/0 via 172.21.41.13 dev eth1 table net10
以上对路由表net10 增加 目的地址是0.0.0.0/0 网关 172.21.41.13
#ip route list table net10
default via 172.21.41.13 dev eth1
以上是显示路由表net10的策略
#ip rule add from 172.21.41.22/32 pref 10000 table net10
以上是将源地址是172.21.41.22的地址 让他加入到路由表net10
#ip rule list
0: from all lookup 255
10000: from 172.21.41.22 lookup net10
32766: from all lookup main
32767: from all lookup default
以上是显示ip rule 策略
如果要删除上述2条策略路由的命令:输入
#ip rule del from 172.21.41.22/32 pref 10000 table net10
#ip route del to 0.0.0.0/0 via 172.21.41.13 dev eth1 table net10
同时要注意:由于在172.21.41.15上做了squid的透明代理
要在iptables中将
/sbin/iptables -t nat -A PREROUTING -p tcp -m iprange --src-range 172.21.41.1-172.21.41.254 --dport 80 -j REDIRECT --to-ports 3128
在以上的策略中要将172.21.41.22排除出去,不然172.21.41.15会先响应上面的策略,把从172.21.41.22来的80包转换到3128上,同时从squid走掉了,不会将80扔到172.21.41.13处理
以上经过测试,能良好的达到,按源地址策略路由的目的。
阅读(5570) | 评论(0) | 转发(0) |