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

2022-06-14 18:15:24 +08:00
 Aumujun
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 (物理网卡)上面,但上面的命令并不生效;对网络不太了解但恰好需要实现这个需求。。。

1695 次点击
所在节点    Linux
6 条回复
napsterwu
2022-06-14 19:47:57 +08:00
你需要路由表吧? route 命令?
defunct9
2022-06-15 06:16:36 +08:00
搞不了
defunct9
2022-06-15 06:22:45 +08:00
似乎可以。开 ssh ,让我上去试试
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
2022-06-19 19:21:08 +08:00
你需要的是策略路由,否则就算 snat 之后也按照原样查询路由表,该走哪张网卡就会走哪张

然后为了避免 XY 问题,你的目的是,只是想要给容器指定专属的出口还是想把接口完全交给容器
Aumujun
2022-06-20 09:47:59 +08:00
@yanqiyu 将容器完全绑定在一个网卡上,问题以其他方式解决了;我试试配置策略路由

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/859598

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX