Podman在Ubuntu系统下与ufw防火墙冲突及解决方案

Podman版本: 4.9.3

Ubuntu版本: Ubuntu 24.04.3 LTS

ufw版本: 0.36.2

问题描述

Rootful Podman容器创建后无法访问外网, 通过 -p 暴露的端口也无法直接被外部访问.

解决方案

  1. 暴露端口无法访问
1
sudo ufw allow <端口>
  1. 容器无法访问外网 (同样适用于通过podman network create创建的bridge类型网络)
1
2
sudo ufw allow in on podman0
sudo ufw route allow in on ens18 out on podman0

形成的原理是因为ufw会把filter表的INPUT, FORWARD policy都设置为 DROP, 如果没有单独配置的话从内部进来的流量(其实算forward)会被drop掉.

参考资料

UFW blocks Podman connections #27273 只搜到了这么一个issue, 但是里面并没有提到什么好的解决方案