UFW 规则不适用于 docker

UFW 规则不适用于 docker

我有一台 12.04.4 的服务器,我启用了 ufw,并尝试阻止端口8080。但是,它仍然打开。

$ sudo ufw deny 8080
Rule added
Rule added (v6)

$ sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22                         ALLOW IN    Anywhere
[ 2] 80                         ALLOW IN    Anywhere
[ 3] 8080                       DENY IN     Anywhere
[ 4] 22                         ALLOW IN    Anywhere (v6)
[ 5] 80                         ALLOW IN    Anywhere (v6)
[ 6] 8080                       DENY IN     Anywhere (v6)

有什么想法吗?我仍然可以访问 8080 上的网站。我已多次重启系统。IP 地址是通过静态分配处理的,但我找不到任何迹象表明这是问题所在。

但是我尝试阻止的服务位于 Docker 实例上这个问题没有帮助。

答案1

Docker 模板我在用适用于 Discourse。我通过编辑文件containers/app.yml以将其包含在“expose”部分下解决了此问题:

 - "127.0.0.1:20080:80"

这意味着它将 127.0.0.1 上的端口 20080 路由到 docker 实例上的端口 80,从而完全不需要 ufw 规则。

答案2

我测试了一下。

当我输入命令:时sudo ufw deny 80,我可以连接到我自己,但其他主机则无法连接。

我建议您尝试从任何其他人进行连接。

答案3

iptables docker 规则如下评估在 ufw 之后。我想限制除一个(VPN 服务器)之外的所有 IP,我在 docker 中找到了更好的解决方案文档

相关内容