CEO (@ticks)docker与防火墙问题 中发帖

太菜了!之前一直没注意到 docker 跟防火墙冲突的问题,这次碰上了研究了一下。 


简单来说就是像 ufw 、firewalld 这两个常用的防火墙程序跟 docker 都会操作 iptables ,这些防火墙默认都是操作 INPUT 链的规则,但是 docker 会在 PREROUTING 配置 DNAT ,不走 INPUT 链,而是 FORWARD 链规则。
【关于 iptables 详细介绍可以看文末参考文章。】
[image]
这就导致一个问题:ufw 配置不允许 8080 端口通过,但是运行的docker容器比如docker compose 中映射:8080:3000 ,虽然防火墙配置了不允许通过,但实际情况却是仍然能访问。
在搜寻解决方案的时候在掘金看到了一篇很不错的文章,就按照文章中的思路整了个操作防火墙的脚本,使用该脚本可以简单的开放一些端口和特定IP,默认...