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

[提问] 将容器的所有流量转发到指定的物理网卡上

  •  
  •   Aumujun ·
    None · 2022-06-14 18:15:24 +08:00 · 1690 次点击
    这是一个创建于 900 天前的主题,其中的信息可能已经有所发展或是发生改变。
    iptables -t nat -I POSTROUTING -p all -s 192.168.1.12 -j SNAT --to-source 10.0.0.12
    

    将 192.168.1.12 这个容器流量全部转发到 10.0.0.12 (物理网卡)上面,但上面的命令并不生效;对网络不太了解但恰好需要实现这个需求。。。

    6 条回复    2022-06-20 09:47:59 +08:00
    napsterwu
        1
    napsterwu  
       2022-06-14 19:47:57 +08:00 via iPhone
    你需要路由表吧? route 命令?
    defunct9
        2
    defunct9  
       2022-06-15 06:16:36 +08:00 via iPhone
    搞不了
    defunct9
        3
    defunct9  
       2022-06-15 06:22:45 +08:00 via iPhone
    似乎可以。开 ssh ,让我上去试试
    CRVV
        4
    CRVV  
       2022-06-15 14:05:53 +08:00
    ip rule add from 192.168.1.12/32 table 1000
    ip route add default dev eth0 table 1000

    然后我不确定是不是还要设置一下 NAT
    yanqiyu
        5
    yanqiyu  
       2022-06-19 19:21:08 +08:00   ❤️ 1
    你需要的是策略路由,否则就算 snat 之后也按照原样查询路由表,该走哪张网卡就会走哪张

    然后为了避免 XY 问题,你的目的是,只是想要给容器指定专属的出口还是想把接口完全交给容器
    Aumujun
        6
    Aumujun  
    OP
       2022-06-20 09:47:59 +08:00
    @yanqiyu 将容器完全绑定在一个网卡上,问题以其他方式解决了;我试试配置策略路由
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2571 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 06:42 · PVG 14:42 · LAX 22:42 · JFK 01:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.