docker 无法把新 run 的容器端口写入 iptables

2022-07-06 16:39:15 +08:00
 FenixVu

现在先有的基础上增删改容器,iptables 里的都不会变,理论上上每次 systemctl restart docker 后规则都会重新写入 iptables 然后我尝试手动添加 iptables 规则,但是在重启后规则一样会丢失 想到之前这个服务器中了过挖矿的木马,很多文件被 chattr +ia 了,会不会是 iptables 的配置文件也被+ia 了 但是半天找不到 iptables 的配置文件地址 OS ubuntu16.04

982 次点击
所在节点    问与答
11 条回复
julyclyde
2022-07-07 09:54:48 +08:00
为什么你觉得理论上 systemctl restart docker 会把规则重新写入 iptables 呢?有什么证据吗?
cloudyi
2022-07-07 10:42:03 +08:00
修改一下 docker.service
ExecStart=/usr/bin/docker daemon -H fd:// --iptables=false
FenixVu
2022-07-08 10:32:57 +08:00
@julyclyde 额,那是啥问题,现在故障就是我新起的容器 对应的端口没去 iptables 里添加导致访问不到
julyclyde
2022-07-08 10:34:34 +08:00
@FenixVu 你启动容器的时候用的网络模式是哪种呢? NAT 吗?
iptables 你添加的是 DNAT 规则吗还是别的什么类型?
FenixVu
2022-07-08 10:42:26 +08:00
@julyclyde 默认的 bridge
julyclyde
2022-07-08 10:45:17 +08:00
@FenixVu bridge 按说不需要什么 iptables 规则吧??
FenixVu
2022-07-08 10:56:41 +08:00
@julyclyde 我其他的正常的服务器 重新 run 的容器都会自动去 lptables 里添加规则
julyclyde
2022-07-08 11:00:39 +08:00
@FenixVu 其他容器启动的时候添加的 iptables 规则是什么内容呢
FenixVu
2022-07-08 11:20:28 +08:00
@julyclyde
Chain DOCKER (1 references)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 172.17.0.2 tcp dpt:3306
ACCEPT tcp -- 0.0.0.0/0 172.17.0.3 tcp dpt:80
ACCEPT tcp -- 0.0.0.0/0 172.17.0.4 tcp dpt:5432
ACCEPT tcp -- 0.0.0.0/0 172.17.0.5 tcp dpt:8008
ACCEPT tcp -- 0.0.0.0/0 172.17.0.6 tcp dpt:80
ACCEPT tcp -- 0.0.0.0/0 172.17.0.7 tcp dpt:8009
ACCEPT tcp -- 0.0.0.0/0 172.17.0.8 tcp dpt:8006
这种啊
FenixVu
2022-07-08 11:21:19 +08:00
@cloudyi 好像没太有用 这个我在官方文档里看到的说是不让 docker 去 iptables 添加规则
julyclyde
2022-07-08 19:42:11 +08:00
@FenixVu 别用 iptables -L 查看。用 iptables-save 命令查看一下,那才原汁原味

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

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

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

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

© 2021 V2EX