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.