开启 ufw 后,容器内就不能访问 host 上的端口了。

189 天前
 icemanpro

ubuntu 中,开启 ufw,ufw 规则为空,在容器内就不能访问 172.17.0.1 的端口

1602 次点击
所在节点    Docker
5 条回复
julyclyde
189 天前
你的 ufw 的 backend 是哪种?直接用它自己的命令把当前规则列出来看看
totoro625
189 天前
默认阻止?

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F

ufw default allow incoming
或者
ufw allow from 172.17.0.0/16 to any
hingle
189 天前
重启下 docker 试试,会自动生成规则。
docker 会生成 NAT MASQUERADE 规则,需要这个才能访问你要访问的 172.17.0.1 。
julyclyde
189 天前
@hingle 172.17 不是 docker bridge 的 IP 吗?按说不需要 NAT 啊
yinmin
189 天前
正常的。启用 ufw 防火墙后,容器当然就不能访问主机 ip 的端口了,需要 ufw 开放端口。

如果要安全,可以用这条指令:
ufw allow from 172.17.0.0/16 to 172.17.0.1 port 2222 proto tcp
(假设容器 ip 地址段是 172.17.0.0/16 ,开放端口 2222/tcp)

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

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

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

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

© 2021 V2EX