podman的网络使用的是 iptables 的转发。不支持ufw开放/禁用 端口。
开了ufw防火墙后,podman 转发的端口基本上就只能本地访问了。这是个大坑
方法1
ifconfig
执行后,可以找到一些 cni-popdman0 这种的interface。
使用iptables对所有的相关cni都转发一下 例如:
iptables -I FORWARD -p tcp ! -i cni-podman0 -o cni-podman0 -j ACCEPT
这样,即使开启着 ufw。你的podman的端口也能通过外部访问了。
不过不安全。这是全部转发的端口都允许了。所以只是临时方案。否则只能关闭ufw(不能接受)
方法2
- 编辑
/etc/default/ufw
修改DEFAULT_FORWARD_POLICY
的值为ACCEPT
sudo ufw reload