Firewalld 是一个强大的防火墙工具,用于管理 Linux 系统的网络连接。以下是一些高级设置指南,帮助您更好地使用 Firewalld。

常用命令

  • 查看当前防火墙状态:firewall-cmd --state
  • 临时允许特定服务:firewall-cmd --permanent --add-service=ssh
  • 永久允许特定服务:firewall-cmd --add-service=ssh
  • 查看已允许的服务:firewall-cmd --get-services

高级设置

  1. 自定义规则
    您可以创建自定义规则来更精确地控制网络流量。例如,允许来自特定 IP 地址的流量:

    firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'
    
  2. Zones 设置
    Firewalld 使用 Zones 来分组规则。默认情况下,有 public, trusted, dmz, homeblock 等zones。您可以根据需要创建新的zones:

    firewall-cmd --permanent --new-zone=custom_zone
    firewall-cmd --permanent --zone=custom_zone --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" accept'
    
  3. 端口转发
    您可以使用端口转发来将外部流量重定向到内部服务器。例如,将外部端口 8080 转发到内部服务器的 80 端口:

    firewall-cmd --permanent --zone=public --add-forward-port=port=8080:proto=tcp:toport=80
    
  4. NAT 设置
    NAT(网络地址转换)可以将内部网络中的私有 IP 地址转换为公网 IP 地址。以下是一个简单的 NAT 设置示例:

    firewall-cmd --permanent --zone=public --add-masquerade
    

扩展阅读

更多关于 Firewalld 的信息,请访问本站 Firewalld 官方文档

Firewalld 配置示例