我可以使用 systemd 资源管理来仅拒绝容器外部的端口吗

我可以使用 systemd 资源管理来仅拒绝容器外部的端口吗

在最新的 fedora 39 上,我为无根容器设置了 podman,并通过创建 /etc/systemd/system/user-1000.slice.d/user-resources.conf 来限制用户可以绑定的端口和

[Slice]
SocketBindAllow   = 12345
SocketBindDeny    = any

现在,正如预期的那样,用户无法绑定到端口 20202,例如:

$ nc -4 -lp 20202
Ncat: bind to 0.0.0.0:20202: Operation not permitted. QUITTING.

然而令我困扰的是,它甚至不可能绑定到被拒绝的端口之内不暴露端口的容器:

$ podman run docker.io/library/alpine nc -lp 20202
nc: bind: Operation not permitted

这是一个错误吗?我能做些什么吗?

相关内容