如何阻止与主机上 docker 容器中创建的 IP 的连接

How to block the connection to an IP which is created in docker container on host

有docker个容器运行桥接网络模式。在容器内部,它创建了一个连接,比如 10.123.123.1:6666。我想通过 IPTABLES 在主机上阻止此连接,例如 sudo iptables -I OUTPUT -p tcp -d 10.123.123.1 -j DROP,但它不起作用。有人可以帮我解决这个问题吗?

我什至无法通过命令在主机上看到此连接 netstat -an,但我可以在容器内看到它。

我不必使用 IPTABLES,但我无法更改 docker 运行 的配置。

这些数据包通过容器网络命名空间中的输入和输出链,而不是主机网络命名空间中的。

您的主机网络命名空间所做的就是转发这些数据包,因此您需要使用类似于 iptables -I FORWARD -p tcp -d 10.123.123.1 -j DROP 的规则更改 FORWARD 链。请记住,Docker 改变了 iptables 规则,这可能会在防火墙中造成漏洞。