Route 路由表问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Getting
V2EX    Linux

Route 路由表问题

  •  
  •   Getting 2022-03-21 09:58:33 +08:00 4142 次点击
    这是一个创建于 1381 天前的主题,其中的信息可能已经有所发展或是发生改变。
    因为双 WAN 接入 移动 eth0.3 电信 pppoe-wan
    想让 152.69.*.*走移动( eth0.3 )
    使用路由表:route add -host 152.69.*.* dev eth0.3
    ping 不通 152.69.*.*





    然后写了网关就能 ping 通了 这是为什么? 不是网关带*会自动选该接口默认的网关吗?没搞懂,
    如果要指定网关的话 为什么路由表里内网网段 192.168.5.0 也是 0.0.0.0 (*) 都可以正常上网呢?

    route add -host 152.69.*.* gw 10.1.1.1

    22 条回复    2022-03-28 17:53:59 +08:00
    lcy630409
        1
    lcy630409  
       2022-03-21 10:08:30 +08:00
    .....
    搞混淆概念了
    192.168.5.0 网关为 0000 ,意思是 这个 192.168.5.0 网段 是不出路由的。你说的正常上网 是客户端 用了 192.168.5.2 这种 ip 可以上网吧?客户端得到了 192.168.5.2 但是他的上级网关是路由啊,路由的上级网关 是根据路由表 0.0.0.0 去了 115.218.232.1 这个网关
    KagurazakaNyaa
        2
    KagurazakaNyaa  
       2022-03-21 10:11:32 +08:00
    试试添加 152.69.0.0/16 的路由表而非使用通配符
    huangya
        3
    huangya  
       2022-03-21 10:13:22 +08:00
    不要用 route add -host 152.69.*.* dev eth0.3 。  直接 route add -net 152.69.0.0/16 gw 10.1.1.1
    defunct9
        4
    defunct9  
       2022-03-21 10:13:42 +08:00
    你得搞策略路由
    Getting
        5
    Getting  
    OP
       2022-03-21 10:24:45 +08:00
    @lcy630409 貌似懂了一点了 假设网关是 192.168.5.1 客户端确实是写了网关才出去了 但是到了 br-lan 这条 他的路由网关是 0000 所以走了 115.218.232.1 这个网关出去了呀 我 152.69.*.*不该走 0.0.0.0 从 10.1.1.1 出去吗? hhhh
    Getting
        6
    Getting  
    OP
       2022-03-21 10:25:16 +08:00
    @huangya 不是呀 我想试试这个 dev 参数为什么会行不通 加 gw 我知道可以出去
    Getting
        7
    Getting  
    OP
       2022-03-21 10:26:29 +08:00
    @defunct9 不会写策略路由呀 我想找到简单的方法 感觉就路由表最简单实现功能了 mwan3 整了很久太复杂了感觉
    Getting
        8
    Getting  
    OP
       2022-03-21 10:27:18 +08:00
    @XiLingHost 我没用通配符 我就是写了准确的 ip 地址 只是发出来的时候写了*号 不然暴露 ip 了额
    Getting
        9
    Getting  
    OP
       2022-03-21 10:39:28 +08:00
    @lcy630409
    第一行:是一个默认路由,这表明如果没有精确匹配路由,就会将 IP 报文发送到 IP 地 址 192.168.43.1 上。UG 表示一个启用的网关地址。br-lan 表示出接口地址。
    第二行:是一个接口路由,为局域网接口的路由项,表示局域网为 192.168.43.0 网段。br-lan 表示通过该网卡和局域网网络相连接。
    第三行:是一个接口路由,表示目的地址是主机地址。这在接口配置 IP 和掩码时会默认自动设置上。如果不设置掩码则默认 A 类地址为 8 位掩码,B 类地址为 16 位掩码,C 类地址为 24 位掩码。


    看了这个 懂了懂了 意思就是指定外网 ip 必须要用网关 不然就只能在路由内部跑了 出不去了 是这个意思了吧?
    yanqiyu
        10
    yanqiyu  
       2022-03-21 11:56:11 +08:00
    route add -host 152.69.*.* dev eth0.3 这一跳就成了 on-link 了。但实际上这一跳要发给网关。
    Getting
        11
    Getting  
    OP
       2022-03-21 12:58:12 +08:00
    @yanqiyu 对对 搞明白了现在
    guoooo00oohao
        12
    guoooo00oohao  
       2022-03-21 15:13:35 +08:00
    在 linux 下面可以使用 ip route get 的命令测试一下 target ip match 到哪个路由, 验证你的配置.
    lcy630409
        13
    lcy630409  
       2022-03-21 17:14:16 +08:00
    @Getting
    多条出口的时候 看跃点数,115 的这个跃点数是 40, 10.1 这个是 41
    按小的走
    CallMeReznov
        14
    CallMeReznov  
       2022-03-21 17:17:24 +08:00
    route 还支持*?
    学到了....
    Getting
        15
    Getting  
    OP
       2022-03-21 17:18:46 +08:00
    @guoooo00oohao
    root@OpenWrt:~# route add -host 152.69.198.162 dev eth0.3
    root@OpenWrt:~# ip route get 152.69.198.162
    152.69.198.162 dev eth0.3 src 10.1.1.123 uid 0
    cache


    root@OpenWrt:~# route add -host 152.69.*.* gw 10.1.1.1
    root@OpenWrt:~# ip route get 152.69.*.*
    152.69.198.162 via 10.1.1.1 dev eth0.3 src 10.1.1.123 uid 0
    cache

    就是少了个 via 10.1.1.1
    Getting
        16
    Getting  
    OP
       2022-03-21 17:19:17 +08:00
    @CallMeReznov 是我发的时候脱敏了
    Getting
        17
    Getting  
    OP
       2022-03-21 17:20:24 +08:00
    @lcy630409 不是的 我指定了接口 不会按跃点走了吧 40 和 41 不在一个接口
    lcy630409
        18
    lcy630409  
       2022-03-21 20:59:23 +08:00
    @Getting 指定路由不会 默认路由会
    xtinput
        19
    xtinput  
       2022-03-21 21:15:10 +08:00
    0.0.0.0 表示走默认网关,数据报文要到下一跳就得路由网关包装,指定了端口,但网关 0.0.0.0 变成默认,那就是网关配置有误了,然后就跳不过去了

    多出口都是只配网关,不指定接口的吧
    Getting
        20
    Getting  
    OP
       2022-03-22 08:20:38 +08:00
    @xtinput 现在知道多出口是配网关了 那指定接口什么时候用得到呀?
    qbqbqbqb
        21
    qbqbqbqb  
       2022-03-28 16:15:37 +08:00
    @Getting

    二层网络是以太网的话,路由表项是需要同时包含“出接口”和“下一跳”(俗称“网关”)两个字段的。
    1 ) 出接口是不能不指定的,如果不填写的话系统会帮你自动推断,实际上还是相当于有指定接口;
    2 ) 下一跳不指定,代表二层直连,目标机器必须在同一个广播域(通俗地说就是通过交换机连接,或者“同网段”)内才能连接;跨网段,需要经过三层路由的,必须配置下一跳,否则肯定连不通的;
    3 ) 配置 IP 的时候填写的“子网掩码”和“默认网关”实际上就相当于一种简化的路由表配置,子网掩码自动生成相应前缀的二层直连路由;默认网关会生成一条 0 前缀的路由;和手动添加的路由属于平行关系,遵循相同的优先规则(最长匹配前缀优先,如果有前缀相同的则是 metric 值低的优先);所以不存在所谓“不写就走默认网关”的说法。

    如果是 PPP 之类的点对点网络,路由表里就只需要指定“出接口”一个字段,“下一跳”对于这类网络是没有意义的,比如说有时候你在电脑上 PPPoE 拨号也会显示一个“默认网关”但其实这个地址并没有什么实际意义。也只有在这类网络环境里才能不填或乱填“网关”。
    Getting
        22
    Getting  
    OP
       2022-03-28 17:53:59 +08:00
    @qbqbqbqb 谢谢老哥 很专业回答!!!
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3527 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 04:14 PVG 12:14 LAX 20:14 JFK 23:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86