问题: ufw防火墙无法限制Docker映射的端口

原因: Docker使用 -p参数创建容器时,已经自动使用 iptables命令修改了防火墙规则,这个规则不会被ufw显示、管理。而且,插入的顺序还在 ufw 控制的前面,所以就不受 ufw 控制了。

解决方案:

  1. 不使用 -p,使用iptables或其它程序做端口转发,将流量转发到容器内网IP中。

  2. 映射回环地址,-p 127.0.0.1:8080:8080

  3. 使用docker link [文档] (官方已经不推荐使用)

  4. 修改docker配置文件,让docker不去修改iptables(会使容器无法访问外网):
    /etc/docker/daemon.json

    {
    	"iptables": false
    }
    

参考资料: https://askubuntu.com/questions/652556/uncomplicated-firewall-ufw-is-not-blocking-anything-when-using-docker


标题:ufw防火墙无法限制Docker映射的端口
作者:xiaojie
地址:https://www.xiaojie.dev/articles/2022/03/11/1693474134338.html