UFW规则不适用于Docker


8

我有一台12.04.4服务器,并且启用了ufw,并尝试阻止port 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实例上,但是这个问题没有帮助。


您是否要同时使用这两种协议?并安装了gufw吗?
赛斯2014年

我还假设您还没有修改过iptables。
赛斯2014年

@Seth系统仅是ipv4,所以我不在乎v6。而且,不,我没有。
jrg

我的意思是tcp / udp。
赛斯

我需要阻止tcp,该udp端口上没有任何内容。
jrg 2014年

Answers:


4

我正在使用的docker模板用于Discourse。我通过编辑containers/app.yml文件以将其包含在“暴露”部分下来解决此问题:

 - "127.0.0.1:20080:80"

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


1

我测试了

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

我建议您尝试从其他任何地方连接。


啊哈,我想知道是否可以。
赛斯2014年

我被带到该国另一侧的服务器中,并且已经可以从本地Web浏览器成功访问该系统。
jrg
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.