如何解决为什么即使阻止了我的 Linode 中的端口,我也可以公开访问我的 web 应用程序?
我有一个 Linode 设置并且我已经设置了 UFW 来阻止端口,特别是 8080。我已经重新加载了防火墙 我仍然可以通过网络访问 web 应用程序。
UFW:
Status: active
To Action From
-- ------ ----
787/tcp ALLOW Anywhere
8080 DENY Anywhere
787/tcp (v6) ALLOW Anywhere (v6)
8080 (v6) DENY Anywhere (v6)
我在 docker 上运行 traefik,并将端口上的仪表板映射到 8080,并且能够通过网络访问该应用程序。这里发生了什么? 8080的规则不是应该阻止连接吗?
解决方案:
编辑 /etc/docker/daemon.json 中的 daemon.json 并添加以下内容:
{ "iptables": false }
保存并重新加载 docker。这现在可以防止 docker 修改 iptables 和“回避”ufw 规则。
解决方法
对通过 Docker 端口发布打开的端口的访问在 nat
PREROUTING
链或 filter
FORWARD
表中控制。您现有的防火墙规则很可能只影响 filter
INPUT
表。
添加中介访问 Docker 容器的规则的规范位置是 DOCKER_USER
表中的 filter
链,该链是从 FORWARD
链调用的。
对于 DOCKER_USER
链中的规则,您需要使用容器侦听的端口,而不是发布服务的主机端口。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。