linux 双线-自动选择指定出口-(策略Route和iptable)

http://linux.chinaunix.net/techdoc/net/2007/03/30/953750.shtml

机器接了双线,电信和网通线路,代理下面的客户端上网,根据客户端访问的请求自动选择对应的线路出去,如,客户端访问网通,就从网通出去。


   在网上看了一些文章,觉得这篇文章讨论很精彩
http://www.chinaunix.net/jh/4/536582.html
,从中很是很受益,里面有几位兄弟确实让我敬佩,不只是技术方面,更多的他们学习态度。

   根据那篇文章自己归纳了一下,实现上面需求,有两个办法可以实现。一个根据策略路由,一个根据iptable中的一个标记功能实现。由于自己现没有此环境,所以没有在实践去使用,但是还是将自己的理解记录下来,做为自己学习的笔记和以后工作中的需要。

第一方法:

    实现方式是这样,三块网卡,eth0 为LAN口,eth1 为第一个WAN口,接电信线路,eth2为第二个WAN口,接网通线路。我这里都是按照固定IP方式配置的,如果是要PPPOE则自己配置PPPOE部分,我这里主要是给大家提供策略部分。
    将从两个WAN口出去的数据包MASQUERADE
     /sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
     /sbin/iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
      
     然后,给系统增加一个标示为100的路由表,增加一个默认网关,这个默认网关是网通提供的网关。  ip route add 0/0 via 218.59.*.* table 100
    然后给系统主路由表配置网关,这个网关是电信的网关
    ip route add 0/0 via 219.146.*.*
      然后添加路由规则,让所有通向网通的数据查询标示为100的路由表:
    ip rule add to 60.0.0.0/13 table 100 
      ip rule add to 60.8.0.0/15 table 100
      ip rule add to 60.10.0.0/16 table 100
这个例子,默认使用的电信网关,也就是默认都使用电信线路,而对于符全ip rule中规则的使用table 100表中定义的路由,也就是网通。

第二方法:

# echo "200    DIANXIN" >;>; /etc/iproute2/rt_table(这个是添加到文件,执行一次即可)
# ip route replace default via 222.168.1.2 table DIANXIN 
# ip rule add fwmark 1 table DIANXIN(这个注意顺序,用ip rule可以查看)
# iptables -t nat -F
# iptables -t mangle -F
# iptables -t mangle -A PREROUTING -i eth0 -s 192.168.0.0/24 -d 222.222.5.0/15 -j MARK --set-mark 1 
# iptables -t mangle -A PREROUTING -i eth0 -s 192.168.0.0/24 -d 222.240.0.0/13 -j MARK --set-mark 1
# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 222.222.5.0/15 -j SNAT --to $DIANXIN
# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 222.240.0.0/13 -j SNAT --to $DIANXIN
# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to $接网通线路网卡的地址
# ip route flush cache

本文来自ChinaUnix博客,如果查看原文请点: http://blog.chinaunix.net/u/11765/showart_268223.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值