浅塘在线--儿时的记忆,老家村门口一口浅塘,是儿童时光差不多全部美好时光的记忆,游泳嬉水、抓鱼钓鱼、捞螺丝、漂石仗、淘硬币、以及生活中各种洗洗涮涮~·

 找回密码
 立即注册

微信登录

微信扫一扫,快速登录

搜索
热搜: 活动 交友 discuz

社区广播台

查看: 46|回复: 0

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

[复制链接]

4万

主题

4万

帖子

13万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
134973
发表于 2019-4-12 10:36:59 | 显示全部楼层 |阅读模式
参考了下论坛中关于电信+网通双线策略路由的帖子,并结合实际环境,将实现双线策略的几种方式总结如下,对有需要的朋友有所帮助,双线比单线要复杂多了,但把策略的原理弄明白了,就会发现其实并不难。
环境
服务器(网关):
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
1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

快速回复 返回顶部 返回列表