文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>linux 双线-自动选择指定出口-(策略Route和iptable)

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

时间:2007-03-30  来源:ghbspecial

   机器接了双线,电信和网通线路,代理下面的客户端上网,根据客户端访问的请求自动选择对应的线路出去,如,客户端访问网通,就从网通出去。      在网上看了一些文章,觉得这篇文章讨论很精彩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
排行榜 更多 +
暗黑封魔录手游

暗黑封魔录手游

角色扮演 下载
战国美人游戏

战国美人游戏

角色扮演 下载
仙境苍穹手游

仙境苍穹手游

角色扮演 下载