已知 ufw 对于 docker 实例开启的 对外端口 无法拦截. 那么如何 把docker的服务启在本地 ,让内网其他的机器访问,但不能被公网的ip 访问呢?
我想的是启动 在 127.0.0.1 上, 然后 添加 iptable 对 白名单的ip段做 转发.
但是感觉不够优雅.也不好管理.
大家有没有其他解决方案.
“1panel 的防火墙只能对 主机除docker实例外的服务 起作用”.感觉要在页面说明, 不然会对主机安全性会有很大隐患.
你用ufw,只对宿主机开22,80,443,不就行了?
问题是 docker 设置了比如 8443:8443 也会 开放8443啊, ufw 不能阻断连接的.
我们现在讨论的是 怎么解决. 问题是知道的.
一种方法是在容器管理页面里关闭docker的iptables权限,但是新版本系统有时候会有问题,比如debian12
另外一种可以参考这个
内网机器组成 docker swarm 集群,然后创建一个公共的 attachable 的 overlay 网络,所有想要跨主机访问的服务全部加入这个 overlay 网络。