A-A+

linux 添加路由,让不同网络环境过来的访问按原线路回去

2015年11月24日 站长资讯 暂无评论

在上一篇博文中,用到了添加路由的方法让不同的网络互通,但这种方法会造成部分旧网络环境不能访问宿主主机的情况。

现在我们在宿主主机上做策略路由,让不同网络环境过来的访问按原线路回去。

宿主主机上:

旧网络环境业务网段:br2

10.1.7.206

gw:10.1.4.3

新网络环境业务网段:br0

10.100.241.206

gw:10.100.241.254

路由表

  1. route -n  
  2. Kernel IP routing table  
  3. Destination     Gateway         Genmask         Flags Metric Ref    Use Iface  
  4. 10.200.241.0    0.0.0.0         255.255.255.0   U     0      0        0 br1  
  5. 10.100.241.0    0.0.0.0         255.255.255.0   U     0      0        0 br0  
  6. 10.1.4.0        0.0.0.0         255.255.252.0   U     0      0        0 br2  
  7. 20.1.4.0        0.0.0.0         255.255.252.0   U     0      0        0 br3  
  8.   
  9.   
  10. 127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo  
  11. 0.0.0.0         10.100.241.254  0.0.0.0         UG    0      0        0 br0  

可以看到,只设置了

添加路由表(参考资料:http://linux-ip.net/html/routing-tables.html)

  1. vi /ect/iproute2/rt_tables  
  2. #  
  3. # reserved values  
  4. #  
  5. 255     local  
  6. 254     main  
  7. 253     default  
  8. 0       unspec  
  9. #  
  10. # local  
  11. #  
  12. #1      inr.ruhep  
  13. 100 f3  
  14. 101 f5   

添加开机启动脚本

  1. vi /etc/rc.d/after.local  
  2.   
  3. #!/bin/bash  
  4. #配置原线路返回路由  
  5. ip route flush table f5  
  6. ip route add default via 10.100.241.254 dev br0 src 10.100.241.206 table f5  
  7. ip rule add from 10.100.241.206 table f5  
  8. http://www.xiaoxiongboke.com  
  9. ip route flush table f3  
  10. ip route add default via 10.1.4.3 dev br2 src 10.1.7.206 table f3  
  11. ip rule add from 10.1.7.206 table f3  
  12. #end  
  13. 加载脚本  
  14. #source /etc/rc.d/after.local  
  15. 把脚本加在network 重启脚本里  
  16. # vi /sbin/rcnetwork  
  17. restart|force-reload)  
  18.                $0 stop $CONFIG $INTERFACE ${OPTIONS:+-o $OPTIONS}  
  19.                $0 start $CONFIG $INTERFACE ${OPTIONS:+-o $OPTIONS}  
  20.                rc_status   
  21. . /etc/rc.d/after.local  
  22.                rc_exit  

重启网络服务

测试:

ping 10.1.7.206

ping 10.100.241.206

两个都可以ping 通,完成

但这里有个问题,就是宿主主机主动去访问旧网络主机时,走的却是vpn

  1. # traceroute 10.1.3.250  
  2. traceroute to 10.1.3.250 (10.1.3.250), 30 hops max, 40 byte packets using UDP  
  3. 1  10.100.241.251 (10.100.241.251)  33.245 ms   32.513 ms   30.033 ms  
  4. 2  10.100.240.1 (10.100.240.1)  0.513 ms   0.329 ms   0.291 ms  
  5. 3  * * *  
  6. 4  10.1.3.250 (10.1.3.250)  9.120 ms   5.150 ms   2.387 ms  

并没有像上一篇添加路由一样直接走相应网卡出去,看来这种设置适合双线提供服务的服务器。

标签:

给我留言