尽管防火墙拒绝传入流量,但 docker 容器仍可访问

尽管防火墙拒绝传入流量,但 docker 容器仍可访问

我正在设置 VPS 来运行一些 docker 包。防火墙设置为阻止任何传入流量(默认),只允许通过 Wireguard VPN 传入的任何流量。

docker 容器(在端口 9443 上运行)的网站仍然可以从外部访问。我就是不希望这个网站从外部被访问。

检查 iptables 我看到以下输出:

Chain DOCKER (1 references)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             172.17.0.2           tcp dpt:9443

这是否会推翻 ufw 的设置,即使是外部连接?有什么方法可以防止这种情况发生吗?

答案1

是的,根据docker run您指定端口的或撰写文件的设置9443

笔记:

如果在发布容器端口时未指定 IP 地址(即,-p 80:80改为),Docker默认在所有接口(地址)上发布端口。这些端口可供外部访问。-p 127.0.0.1:80:800.0.0.0如果你将 UFW 配置为阻止此特定端口,这也适用,因为 Docker 管理其自己的 iptables 规则。

https://docs.docker.com/engine/reference/commandline/container_run/#publish

Docker 确保传入的数据包始终首先由DOCKER-USERDOCKER链检查。请勿直接编辑它们 - 您应该调整启动容器的方式。阅读此内容以获取有关防火墙规则的更多信息:https://docs.docker.com/network/packet-filtering-firewalls/

相关内容