【发布时间】:2020-11-30 09:20:12
【问题描述】:
我有一个具有此 UFW 配置的开发服务器:
$ sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp LIMIT Anywhere
22/tcp (v6) LIMIT Anywhere (v6)
123/udp ALLOW OUT Anywhere
DNS ALLOW OUT Anywhere
80/tcp ALLOW OUT Anywhere
443/tcp ALLOW OUT Anywhere
22/tcp ALLOW OUT Anywhere
123/udp (v6) ALLOW OUT Anywhere (v6)
DNS (v6) ALLOW OUT Anywhere (v6)
80/tcp (v6) ALLOW OUT Anywhere (v6)
443/tcp (v6) ALLOW OUT Anywhere (v6)
22/tcp (v6) ALLOW OUT Anywhere (v6)
我的问题是这也会在内部阻止来自 Docker 的流量。
我运行一个 Docker 容器,将 8000:8000 映射为 http,如果我禁用 UFW,我可以按预期发出请求。但是,启用 UFW 后,即使在内部,我也无法访问端口 8000。
如何允许此流量供内部使用?我想通过ssh -L 8000:127.0.0.1:8000 example.com访问,所以不想对外开放8000端口访问。
更新:
考虑到问题可能是 UFW 也将规则应用于环回接口,我用这些新规则更新了我的规则:
To Action From
-- ------ ----
Anywhere on lo ALLOW Anywhere
Anywhere on 127.0.0.1 ALLOW Anywhere
Anywhere (v6) on lo ALLOW Anywhere (v6)
Anywhere (v6) on 127.0.0.1 ALLOW Anywhere (v6)
Anywhere ALLOW OUT Anywhere on lo
Anywhere ALLOW OUT Anywhere on 127.0.0.1
Anywhere (v6) ALLOW OUT Anywhere (v6) on lo
Anywhere (v6) ALLOW OUT Anywhere (v6) on 127.0.0.1
这并不能解决问题。
【问题讨论】: