双线策略路由的三种实现方式总结.docx_第1页
双线策略路由的三种实现方式总结.docx_第2页
双线策略路由的三种实现方式总结.docx_第3页
双线策略路由的三种实现方式总结.docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

双线策略路由的三种实现方式总结参考了下论坛中关于电信网通双线策略路由的帖子,并结合实际环境,将实现双线策略路由的几种方式总结如下,希望对有需要的朋友有所帮助,双线比单线要复杂多了,但把策略路由的原理弄明白了,就会发现其实并不难。网络环境服务器(网关):eth0 为LAN口,IP为 LAN_IP = eth1 为第一个WAN口,接电信线路,IP为 CTC_IP,网关为 CTC_GWeth2 为第二个WAN口,接网通线路,IP为 CNC_IP,网关为 CNC_GW内网网站HTTP_SERVER = 00内核打补丁如果你希望外网用户,不管通过哪个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 cachewhile : ; doip route flush cachesleep 2done双线策略的实现1. 静态路由方式(这种方式是最简单的)1) 设置默认路由,比如电信ip route replace default via 电信网关 dev eth12) 设置策略路由,对另外一条线路ip route add 网通路由表1 via 网通网关 dev eth2 metric 1ip route add 网通路由表2 via 网通网关 dev eth2 metric 1.3) 添加原路返回路由策略路由规则设置完后,还要为每条线路加入相应的 “原路返回路由”(从哪条线进来的数据,最终还是从这条线出去),不然就会出现这样的问题:电信用户通过网通的IP访问不到服务器,网通用户也不能通过电信IP访问到服务器ip route flush table 100ip route add default via 电信网关 dev eth1 src 电信IP table 100 prio 50ip rule add from 电信IP table 100ip route flush table 200ip route add default via 网通网关 dev eth2 src 网通IP table 200 prio 50ip rule add from 网通IP table 200出来加入本身的原路返回路由之外,还应加入局域网接口的,不然通过端口映射后,内网无法通过外网IP访问到映射后的服务器ip route add /24 dev eth0 scope link src table 100ip route add /24 dev eth0 scope link src table 2002. 策略路由方式为了方便,我们增加2个策略路由表,电信 = 100,网通 = 200,这样再添加规则时,就可以直接用自定义的名称来替代数字echo 100 ctc /etc/iproute2/rt_tablesecho 200 cnc /etc/iproute2/rt_tables1)设置默认路由(电信)ip route replace default via 电信网关 dev eth12)对网通进行基于目的地址的策略路由ip rule add to 网通路由表1 table cnc prio 100ip rule add to 网通路由表2 table cnc prio 100.3)添加原路返回路由ip route flush table ctcip route add default via 电信网关 dev eth1 src 电信IP table ctcip route add /24 dev eth0 scope link src table ctcip rule add from 电信IP table ctcip route flush table cncip route add default via 网通网关 dev eth2 src 网通IP table cncip route add /24 dev eth0 scope link src table ctcip rule add from 网通IP table cnc3. iptables打标记iproute2 fwmark1)使用 CONNMARK 对连接进行标记外网进来数据iptables -t mangle -A PREROUTING -i eth1 -m conntrack -ctstate NEW -j CONNMARK -set-mark 0x100iptables -t mangle -A PREROUTING -i eth2 -m conntrack -ctstate NEW -j CONNMARK -set-mark 0x200转发出去的数据iptables -t mangle -A POSTROUTING -o eth1 -m conntrack -ctstate NEW -j CONNMARK -set-mark 0x100iptables -t mangle -A POSTROUTING -o eth2 -m conntrack -ctstate NEW -j CONNMARK -set-mark 0x200局域网进来数据iptables -t mangle -A PREROUTING -i eth0 -m conntrack -ctstate ESTABLISHED,RELATED -j CONNMARK -restore-mark本地出去数据iptables -t mangle -A OUTPUT -m conntrack -ctstate ESTABLISHED,RELATED -j CONNMARK -restore-mark2)在 IPROUTE2 中做基于 fwmark 的策略路由ip rule add fwmark 0x100 table ctc prio 40ip rule add fwmark 0x200 table cnc prio 403)添加原路返回路由ip route add table ctc to $CTC_NET dev eth1 scope linkip route add table ctc to $CNC_NET dev eth2 scope linkip route add table ctc to /24 dev eth0 scope linkip route add default via 电信网关 dev eth1 table ctcip route add table cnc to $CTC_NET dev eth1 scope linkip route add table cnc to $CNC_NET dev eth2 scope linkip route add table cnc to /24 dev eth0 scope linkip route add default via 网通网关 dev eth2 table cncIptables/NAT 规则/sbin/iptables -t nat -A POSTROUTING -o eth1 -s 局域网网段 -j SNAT -to-source 电信外网IP/sbin/iptables -t nat -A POSTROUTING -o eth2 -s 局域网网段 -j SNAT -to-source 网通外网IP如果外网IP是动态的,可以用 MASQUERADE/sbin/iptables -t nat -A POSTROUTING -o eth1 -s 局域网网段 -j MASQUERADE/sbin/iptables -t nat -A POSTROUTING -o eth2 -s 局域网网段 -j MASQUERADE端口映射端口映射可以分别针对两条线做端口映射比如 LAN口的IP为 ,内网服务器IP为 00,映射端口为 80iptables -t nat -A PREROUTING -p tcp -dport 80 -d 电信IP -j DNAT -to-destination 00iptables -t nat -A PREROUTING -p tcp -dport 80 -d 网通IP -j DNAT -to-destination 00端口回流(内网可以通过外网IP访问映射后的服务器)iptables -t nat -A POSTROUTING -p tcp -s /24 -dport 80 -d 00 -j SNAT -to-source 注:上述规则应放到 NAT 规则之前常见问题(FAQ)1. 不能实现 “交叉访问” 到服务器即:会出现外网电信用户只能通过电信IP访问到服务器,而通过网通IP访问不了;同理,网通用户只能通过网通IP访问到服务器,而通过电信IP却访问不了。也就是只是单纯地解决了 “内网访问哪里,走哪条线路”答:电信用户通过网通IP访问时,数据到达了服务器上,本应该从网通的线路返回的,但最终却从电信的线路出去了,这样的数据会被上层网关丢弃。此时需要加入 “原路返回路由” ,实现 “从哪条线来的,依然从哪

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论