原来ufw管不了docker啊

用了这么久,才知道ufw的规则对docker不生效,还得用iptables来管理,合着之前都发公网上了 :sob: :sob: :sob:

5 个赞

docker端口映射使用 127.0.0.1:port:port,前面使用Nginx或者caddy反向代理,这个应该算是基础常识。
VPS服务商那里设置端口开放权限,只暴露个别端口,防护能力Max,本身的ufw压根用不上。

2 个赞

你发现了docker的软肋了,可以用podman或者搜一下 有个专门项目改docker ufw的人,名字忘了hmm

我没记错的话,如果是iptables,docker只要启动了daemon,好像是会自动往iptables加上规则的

1 个赞

docker改DOCKER-USER
我之前也被这个搞了好久。。

1 个赞

Get到了一个小知识点哦,虽然我暂时用不到,但是现在知道了,正常情况下我们都不会考虑这回事的,你给我们提了个醒。

有个github项目的,chaifeng/ufw-docker,搜索一下就有了,挺好用的

2 个赞

用ufw-docker也行 隔壁站有帖子
同时使用Docker和ufw,Docker 会绕过 UFW 规则的更好的解决方案 - 教程 - IDC Flare

1 个赞

能管的 具体怎么弄的我也不知道 ,AI几秒钟就搞好了

嗯,新手常见误区,docker本身就是这个特性

是的 一般就配合反代用吧 用ai写个反代配置其实也很快的

可以用ufw-docker这个工具。。。会把docker的策略组拉回来

1 个赞

不折腾不仅管不了,而且配ufw配docker还会有奇奇怪怪的问题。

最好还是映射端口到127.0.0.1然后反代出去,或者走容器内部网络

我也是这个方案 我还加了一层easytier 这样就可以先内网访问测试

docker是这样的,最简单的办法就是直接用 VPS 服务商的云防火墙

现在新内核的防火墙都是nftables了,直接用nft,也不是很麻烦

我也是最近刚知道的,为了这个我还特意去看了底层的iptables,docker在 PREROUTING 设置了NAT规则进行DNAT,之后内核判断不是本机的数据包直接会被forward,而ufw只在Input链中生效,不走 INPUT,也就没法被ufw管控了


1 个赞