V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
bybyte
V2EX  ›  程序员

iptables --set-mark 走指定网卡为啥不生效

  •  
  •   bybyte ·
    golangboy · 2021-10-07 01:03:51 +08:00 · 1787 次点击
    这是一个创建于 1162 天前的主题,其中的信息可能已经有所发展或是发生改变。

    主机上目前有两个网络出口 两张网卡

    alt

    然后我设置 iptables 想把本机出口的所有流量标记为 20

    alt

    然后我设置了一个路由表 li 规定了从网络出口 eth1 出去到网关 192.168.123.1

    localhost:~/Desktop # ip route show table li

    default via 192.168.123.1 dev eth1

    设置好了 ip rule 策略路由 让标记为 20 的包走路由表 li

    localhost:~/Desktop # ip rule

    0: from all lookup local

    32764: from all fwmark 0x14 lookup li

    32766: from all lookup main

    32767: from all lookup default

    这样设置好了按理说本机发出的数据流量会被标记为 20 然后在策略路由的时候走路由表 li,然后根据路由表的规则走 eth1 出口的吧?

    但是最后发现本机发出的数据并没有走路由表 li 依然还是按照 route -n 路由表的默认路由项走

    route -n 如下

    localhost:~/Desktop # ip route

    default via 192.168.123.96 dev eth0

    192.168.123.0/24 dev eth1 proto kernel scope link src 192.168.123.85

    192.168.123.0/24 dev eth0 proto kernel scope link src 192.168.123.75

    数据流量依然没有走路由表 li 规定的从 eth1 口出去

    localhost:~/Desktop # ip route get 8.8.8.8

    8.8.8.8 via 192.168.123.96 dev eth0 src 192.168.123.75 uid 0 cache localhost:~/Desktop #

    还是走的 eth0

    折磨了我好几天了,想请教下 V 友们这个是什么情况,十分感谢!🙇‍

    8 条回复    2021-10-07 14:16:46 +08:00
    bybyte
        1
    bybyte  
    OP
       2021-10-07 01:05:19 +08:00
    不能发图,排版有问题,想编辑也编辑就不了了。。
    bybyte
        2
    bybyte  
    OP
       2021-10-07 01:21:13 +08:00
    coolan
        3
    coolan  
       2021-10-07 02:18:11 +08:00
    清了缓存了吗 ip route flush cache
    bybyte
        4
    bybyte  
    OP
       2021-10-07 09:04:53 +08:00 via Android
    @coolan 试过了不行
    bybyte
        5
    bybyte  
    OP
       2021-10-07 11:50:38 +08:00
    @coolan 问题解决了,出口是变的了,只是出口源 IP 地址不变
    zbinlin
        6
    zbinlin  
       2021-10-07 12:06:43 +08:00
    @bybyte 加 masquerade 来解决?
    bybyte
        7
    bybyte  
    OP
       2021-10-07 14:15:35 +08:00 via Android
    @zbinlin 我在这里回复答案了,如何让 TCP 包从指定网卡出口
    https://www.v2ex.com/t/805880
    bybyte
        8
    bybyte  
    OP
       2021-10-07 14:16:46 +08:00 via Android
    @zbinlin 其实出口是变了的,用 wireshark 看的,只是源 ip 地址不变
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1162 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 23:47 · PVG 07:47 · LAX 15:47 · JFK 18:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.