V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Actrace
V2EX  ›  程序员

有没有办法根据来源地址和目标地址选择网关?

  •  
  •   Actrace · 2014-08-29 23:53:26 +08:00 · 2328 次点击
    这是一个创建于 3521 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在google逛了一圈也没法发现可用的办法。。

    想要让 192.168.1.0/255.255.255.0 这个段发出来的数据默认走网关0
    但是要求发往 192.168.2.0/255.255.255.0 的数据走网关1

    自己瞎折腾了一圈,没有成果。。。
    求大神支招
    8 条回复    2014-08-31 21:39:21 +08:00
    lnkisi
        1
    lnkisi  
       2014-08-29 23:59:15 +08:00
    用ip route2不行吗?
    Actrace
        2
    Actrace  
    OP
       2014-08-30 00:03:23 +08:00
    @lnkisi 怎么个用法?可以给个例子吗~跪谢~
    lnkisi
        3
    lnkisi  
       2014-08-30 00:05:28 +08:00   ❤️ 2
    /etc/iproute2/rt_tables做两个表gw0 gw1
    /sbin/ip route add default via <gw0_ip> table gw0
    /sbin/ip route add default via <gw1_ip> table gw1
    /sbin/ip rule add from 192.168.1.0/24 pref 20000 table gw0
    /sbin/ip rule add to 192.168.2.0/24 pref 10000 table gw1
    Actrace
        4
    Actrace  
    OP
       2014-08-30 00:06:44 +08:00
    @lnkisi 感谢,问题解决,万能的V2EX果然好用~
    Actrace
        5
    Actrace  
    OP
       2014-08-30 08:30:18 +08:00
    @lnkisi 求大神联系方式~还有点小问题~
    lnkisi
        6
    lnkisi  
       2014-08-30 09:13:05 +08:00
    @Actrace 什么问题?
    jasontse
        7
    jasontse  
       2014-08-30 09:25:58 +08:00 via iPad   ❤️ 1
    Actrace
        8
    Actrace  
    OP
       2014-08-31 21:39:21 +08:00
    @lnkisi 其实现在是这么个情况
    //内部网络进来的用户,走路由表gw1
    ip rule add from 192.168.1.0/255.255.255.0 pref 20000 table gw1
    //给路由表添加默认网关(电信出口)
    ip route add default via 192.169.12.13 table gw1
    //183.57.84.0/24发往网关192.169.12.14(联通出口)
    ip route add 183.57.84.0/24 via 192.169.12.14 table gw1

    不过蛋疼的是这个好像没有按照预想的工作,全部走了电信出口.求大神解读.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2901 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 02:42 · PVG 10:42 · LAX 19:42 · JFK 22:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.