gpt4 book ai didi

docker - 不允许从 docker 容器到内部网络的流量

转载 作者:行者123 更新时间:2023-12-02 18:36:26 25 4
gpt4 key购买 nike

我有一个 Web 应用程序,用户只需点击几下即可注册并启动容器。容器的创建是通过我的 Web 应用程序通过 tcp 与 docker 守护进程通信完成的。

我现在的问题是,用户还可以通过 FTP 将二进制文件上传到他们的 docker 卷中。所有二进制文件都在容器启动后加载。因此人们可以在容器内运行每一段代码,也可以开始在我的内部网络中将数据包发送到不安全的端点。从容器内部,我可以 ping 本地网络中的 docker 主机和其他节点。

我的目标是,容器应该只能与我网络之外的端点通信。有没有办法实现这种期望的行为?

最佳答案

这实际上不是 docker 特定的问题。看起来您想要做的是阻止从内部网络范围(我们称之为 docker-range)访问您的其他内部网络主机,但仍然允许 docker-range访问公共(public)互联网。

您需要更改路由和防火墙设置才能实现此目的。如果您使用的是 Linux,我建议您使用 iptables

使用 docker docs 中给出的示例网桥网络配置这看起来类似于

sudo iptables -A FORWARD --source 192.168.1.5/24 --destination 10.0.0.0/24 -j REJECT

source 将是您的 docker 桥接网络 (docker-range),--destination 将是您的其他内部主机。

您需要确保来自 docker 容器的流量通过此防火墙。通常,您会在 docker bridge 网络配置中将路由器设置为 default-gateway 来应用配置。

关于docker - 不允许从 docker 容器到内部网络的流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55541827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com