天下网吧 >> 网吧方案 >> 网络方案 >> 正文

双线策略路由的三种实现方式总结

  参考了下论坛中关于电信+网通双线策略路由的帖子,并结合实际环境,将实现双线策略路由的几种方式总结如下,希望对有需要的朋友有所帮助,双线比单线要复杂多了,但把策略路由的原理弄明白了,就会发现其实并不难。

  网络环境

  服务器(网关):

  eth0 为LAN口,IP为 LAN_IP = 192.168.0.1

  eth1 为第一个WAN口,接电信线路,IP为 CTC_IP,网关为 CTC_GW

  eth2 为第二个WAN口,接网通线路,IP为 CNC_IP,网关为 CNC_GW

  内网网站

  HTTP_SERVER = 192.168.0.100

  内核打补丁

  如果你希望外网用户,不管通过哪个IP都可以访问到服务器或映射后的内网服务器,那么你就需要为内核打上补丁,

  补丁在 http://www.ssi.bg/~ja/#routes 可以下载到,在 Static, Alternative Routes, Dead Gateway Detection, NAT 找和内核对应的 patch

  下载后为内核打上,然后在

  Networking  --->  Networking options  --->  IP: advanced router

  把 IP: equal cost multipath with caching support (EXPERIMENTAL) 前面的勾去掉

  如果你不想打补丁,或不想动内核,有个简单的办法来实现,即写一个脚本,每隔2秒钟刷新一次route cache

  while : ; do

  ip route flush cache

  sleep 2

  done

  双线策略的实现

  1. 静态路由方式(这种方式是最简单的)

  1) 设置默认路由,比如电信

  ip route replace default via 电信网关 dev eth1

  2) 设置策略路由,对另外一条线路

  ip route add 网通路由表1 via 网通网关 dev eth2 metric 1

  ip route add 网通路由表2 via 网通网关 dev eth2 metric 1

  ....

  3) 添加原路返回路由

  策略路由规则设置完后,还要为每条线路加入相应的 “原路返回路由”(从哪条线进来的数据,最终还是从这条线出去),不然就会出现这样的问题:

  电信用户通过网通的IP访问不到服务器,网通用户也不能通过电信IP访问到服务器

  ip route flush table 100

  ip route add default via 电信网关 dev eth1 src 电信IP table 100 prio 50

  ip rule add from 电信IP table 100

  ip route flush table 200

  ip route add default via 网通网关 dev eth2 src 网通IP table 200 prio 50

  ip rule add from 网通IP table 200

  出来加入本身的原路返回路由之外,还应加入局域网接口的,不然通过端口映射后,内网无法通过外网IP访问到映射后的服务器

  ip route add 192.168.0.0/24 dev eth0  scope link  src 192.168.0.1 table 100

  ip route add 192.168.0.0/24 dev eth0  scope link  src 192.168.0.1 table 200

  2. 策略路由方式

  为了方便,我们增加2个策略路由表,电信 => 100,网通 => 200,这样再添加规则时,就可以直接用自定义的名称来替代数字

  echo "100 ctc" >>  /etc/iproute2/rt_tables

  echo "200 cnc"  >> /etc/iproute2/rt_tables

  1)设置默认路由(电信)

  ip route replace default via 电信网关 dev eth1

  2)对网通进行基于目的地址的策略路由

  ip rule add to 网通路由表1 table cnc prio 100

  ip rule add to 网通路由表2 table cnc prio 100

  ....

[1] [2] 下一页

 

  3)添加原路返回路由

  ip ro

本文来源:天下网吧 作者:网吧方案

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系Email:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下