如何用firewalld 过滤podman容器的端口?

首页 问答 🤹 洛基心得 如何用firewalld 过滤podman容器的端口?

正在查看 3 个帖子:1-3 (共 3 个帖子)
  • 作者
    帖子
  • #1363
    tcmcn
    参与者

    例如:内网服务器(192.168.9.2)中安装的podman运行有一个容器(10.88.0.2),其暴露出来的端口是9001。容器启动后默认就将容器的IP地址段加入到trusted区域,导致192.168.9.0/24 内网主机都可以访问这个端口。
    而我想只让我这台主机(192.168.9.25)访问这个容器的9001端口,其他主机不能访问。
    请问哪位知道怎么能实现上述的过滤功能?

    #1365
    Avatar photo木子
    管理员

    方法一:单独创建一个 Zone

    firewall-cmd --permanent --new-zone=myzone
    firewall-cmd --permanent --zone=myzone --add-source=192.168.9.25
    firewall-cmd --permanent --zone=myzone --add-port=9001/tcp
    firewall-cmd --reload
    firewall-cmd --zone=myzone --list-all

    方法二:使用 Public Zone

    firewall-cmd --permanent --add-port=9001/tcp
    firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='192.168.9.25' port port='9001' protocol='tcp' accept"
    firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' port port='9001' protocol='tcp' drop"
    firewall-cmd --reload

    其它 Firewalld 配置参考:Rocky Linux 9 从入门到精通004 — 防火墙配置

    #1367
    tcmcn
    参与者

    我在2台服务器上试了这2个方法都不起作用。192.168.9.253 服务器启动容器,已经做了以上设置,在同一网段的192.168.9.243还是可以访问容器的9001端口。



     

正在查看 3 个帖子:1-3 (共 3 个帖子)
  • 哎呀,回复话题必需登录。