4.3. 使用策略对象过滤本地托管的容器和物理连接到主机的网络之间的流量
策略对象功能允许用户过滤 Podman 和 firewalld 区域之间的流量。
注意
红帽建议默认阻止所有流量,并打开 Podman 工具所需的可选择的服务。
流程
创建一个新的防火墙策略:
firewall-cmd --permanent --new-policy podmanToAny
# firewall-cmd --permanent --new-policy podmanToAny
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 阻止从 Podman 到其它区域的所有流量,并只允许 Podman 上必要的服务:
firewall-cmd --permanent --policy podmanToAny --set-target REJECT firewall-cmd --permanent --policy podmanToAny --add-service dhcp firewall-cmd --permanent --policy podmanToAny --add-service dns firewall-cmd --permanent --policy podmanToAny --add-service https
# firewall-cmd --permanent --policy podmanToAny --set-target REJECT # firewall-cmd --permanent --policy podmanToAny --add-service dhcp # firewall-cmd --permanent --policy podmanToAny --add-service dns # firewall-cmd --permanent --policy podmanToAny --add-service https
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个新的 Podman 区域:
firewall-cmd --permanent --new-zone=podman
# firewall-cmd --permanent --new-zone=podman
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为策略定义 ingress 区域:
firewall-cmd --permanent --policy podmanToHost --add-ingress-zone podman
# firewall-cmd --permanent --policy podmanToHost --add-ingress-zone podman
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为所有其他区域定义 egress 区域:
firewall-cmd --permanent --policy podmanToHost --add-egress-zone ANY
# firewall-cmd --permanent --policy podmanToHost --add-egress-zone ANY
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 egress 区域设置为 ANY 意味着您可以从 Podman 过滤到其他区域。如果要过滤到主机,请将 egress 区域设置为 HOST。
重启 firewalld 服务:
systemctl restart firewalld
# systemctl restart firewalld
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
验证到其他区域的 Podman 防火墙策略:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow