Chinaunix首页 | 论坛 | 博客
  • 博客访问: 556237
  • 博文数量: 114
  • 博客积分: 5611
  • 博客等级: 大校
  • 技术积分: 1027
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-19 08:55
文章分类

全部博文(114)

文章存档

2011年(29)

2010年(20)

2009年(1)

2008年(11)

2007年(53)

分类: LINUX

2010-04-28 14:17:09

网络结构是  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处理
 
 
 
以上经过测试,能良好的达到,按源地址策略路由的目的。
阅读(5562) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~