Docker 为什么即使在阻止Linode中的端口时,我也可以公开访问我的webapp?
我有一个Linode设置,我已经设置了UFW来阻止端口,特别是8080。我已经重新加载了防火墙 我仍然可以通过网络访问webapp UFW: 我在docker上运行traefik,将端口上的仪表板映射到8080,并且能够通过web访问该应用程序。这里发生了什么?8080的规则不应该阻止连接吗 解决方案: 编辑/etc/docker/daemon.json中的daemon.json并添加以下内容:Docker 为什么即使在阻止Linode中的端口时,我也可以公开访问我的webapp?,docker,security,firewall,traefik,linode,Docker,Security,Firewall,Traefik,Linode,我有一个Linode设置,我已经设置了UFW来阻止端口,特别是8080。我已经重新加载了防火墙 我仍然可以通过网络访问webapp UFW: 我在docker上运行traefik,将端口上的仪表板映射到8080,并且能够通过web访问该应用程序。这里发生了什么?8080的规则不应该阻止连接吗 解决方案: 编辑/etc/docker/daemon.json中的daemon.json并添加以下内容: { "iptables": false } 保存并重新加载docker。这现在
{ "iptables": false }
保存并重新加载docker。这现在可以防止docker修改iptables和“避开”ufw规则。通过docker端口发布打开的端口的访问在
nat
预路由
链或过滤器
表中进行控制。您现有的防火墙规则可能只影响过滤器
输入
表
添加调解对Docker容器的访问的规则的标准位置是filter
表中的Docker\u USER
链,它是从FORWARD
链调用的
对于DOCKER\u USER
链中的规则,您需要使用容器侦听的端口,而不是发布服务的主机端口。因此阻止端口的真正方法不是修改ufw规则?我应该研究iptables并在那里进行更改吗?从未在那里修改过任何东西。“ufw”只是“iptables”上的包装。如果你能说服ufw将规则放在转发链中,你也许可以使用它。我不熟悉ufw,无法提供这方面的指导。发布解决方案。谢谢你给我指明了正确的方向。干杯
{ "iptables": false }