全球主机交流论坛

标题: docker无视防火墙规则吗? [打印本页]

作者: philsilver    时间: 2022-4-18 15:30
标题: docker无视防火墙规则吗?
之前处理Ubuntu防火墙的时候一直没搞懂原理,瞎几把操作老是搞烂了,iptable、ufw、firewall一直禁用的,昨天把三个防火墙全删了,然后重新部署了ufw(iptable搞不明白),简单设置了一下,只放21、80、443端口出来。

今天打开Censys搜索自己的ip,发现暴露的还有两个已启用的docker端口? 我~都~惊——呆了,ufw规则里明明没放开这两个端口啊。

经过Google一番搜索才发现,docker默认是无视防火墙规则的,不管是iptable还是ufw又或是firewall,全部无视,所以ip+docker端口是可以直接访问你的docker反代设置的网站……

然后Google结果显示,必须要单独配置iptable的docker转发规则才能填这个坑,否则是关不上的……所以还得学iptable……太屑了
作者: 丶Silently    时间: 2022-4-18 15:45
你可以设置容器的时候 端口填127.0.0.1:xxx:xxx
作者: 手握键盘    时间: 2022-4-18 15:47

  1. sudo vim /etc/default/docker
  2. DOCKER_OPTS="--iptables=false"
复制代码

作者: suantong    时间: 2022-4-18 15:48
rootless docker会遵守,
作者: sdqu    时间: 2022-4-18 15:49
raw>nat
这个是正规的解决方案
作者: kvm.net    时间: 2022-4-18 16:46
要自己写个hook 挂在启动docker 之后。因为docker启动时会自动加防火墙规则
作者: 875    时间: 2022-4-18 18:09
对头~  直接绕过防火墙 iptable上会直接加规则。要么映射端口时候加127.0.0.1:  要么
  1. vim /etc/default/ufw
  2. #把DEFAULT_FORWARD_POLICY修改成下面这样
  3. DEFAULT_FORWARD_POLICY="ACCEPT"

  4. vim /etc/default/docker
  5. #修改文件
  6. DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 -iptables=false"

  7. vim /etc/ufw/before.rules

  8. 在`*filter`前面添加下面内容
  9. *nat
  10. :POSTROUTING ACCEPT [0:0]
  11. -A POSTROUTING ! -o docker0 -s 172.17.0.0/16 -j MASQUERADE
  12. COMMIT



  13. vim /etc/docker/daemon.json
  14. {
  15. "iptables": false
  16. }
复制代码

作者: HOH    时间: 2022-4-18 18:10
ipt里有docker chain了解一下




欢迎光临 全球主机交流论坛 (https://loc.wget.at/) Powered by Discuz! X3.4