我已经在我的ufw上设置了一些规则,但我认为这只是没有阻止任何东西。 这是它的现状:
~# ufw status verbose Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), deny (routed) New profiles: skip To Action From -- ------ ---- 22 ALLOW IN Anywhere 80 ALLOW IN Anywhere 27015:27115/udp ALLOW IN Anywhere 27015:27115/tcp ALLOW IN Anywhere 22 (v6) ALLOW IN Anywhere (v6) 80 (v6) ALLOW IN Anywhere (v6) 27015:27115/udp (v6) ALLOW IN Anywhere (v6) 27015:27115/tcp (v6) ALLOW IN Anywhere (v6)
正如你所看到的,它默认拒绝传入连接,只允许某些端口。 但是,我仍然在端口8083上设置了一个新的服务,我可以从外部访问它。 为什么这样?
我使用docker集装箱来运行这个新的服务,以防万一。
看起来像
Docker直接用IPTables篡改
。 可以通过向Docker守护进程添加–iptables = false来覆盖此行为。
编辑/ etc / default / docker并取消注释 DOCKER_OPTS行:
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 --iptables=false"
作者总结如下:
- UFW不会告诉你iptables的真实状态(不令人震惊,但仍然)。
- 切勿在Docker中使用-p选项(或-P)来select不想公开的东西。
- 只绑定在回送接口或内部IP上。