让docker走ufw防火墙

2025 年 1 月 16 日 星期四(已编辑)
/ ,
23
这篇文章上次修改于 2025 年 1 月 16 日 星期四,可能部分内容已经不适用,如有疑问可询问作者。

让docker走ufw防火墙

使用场景

当docker上某些服务需要通过反向代理连接的时候,你会发现无论ufw根本拦不住docker的端口映射...

docker

docker

解决方法

root权限下执行以下命令:

修改 etc/ufw/after.rules 下的ufw配置文件

cp /etc/ufw/after.rules /etc/ufw/after.rules.bak #备份原始文件
cat <<'TEXT' >> /etc/ufw/after.rules
# BEGIN DOCKER
*filter
:ufw-user-forward - [0:0]
:ufw-docker-logging-deny - [0:0]
:DOCKER-USER - [0:0]
-A DOCKER-USER -j ufw-user-forward

-A DOCKER-USER -j RETURN -s 10.0.0.0/8
-A DOCKER-USER -j RETURN -s 172.16.0.0/12
-A DOCKER-USER -j RETURN -s 192.168.0.0/16

-A DOCKER-USER -p udp -m udp --sport 53 --dport 1024:65535 -j RETURN

-A DOCKER-USER -j RETURN

COMMIT
# END DOCKER
TEXT

重启ufw以生效

systemctl restart ufw

评论已关闭