温馨提示×

centos防火墙如何使用firewalld命令

小樊
43
2025-07-30 18:53:19
栏目: 智能运维

在CentOS系统中,firewalld是一个动态管理防火墙的工具,它允许你实时地更改防火墙规则。以下是一些基本的firewalld命令和它们的用法:

  1. 查看firewalld状态

    sudo firewall-cmd --state
    
  2. 查看所有打开的端口

    sudo firewall-cmd --list-all
    
  3. 查看开放的端口

    sudo firewall-cmd --list-ports
    
  4. 查看防火墙规则

    sudo firewall-cmd --list-all-zones
    
  5. 重新加载防火墙配置(不中断正在进行的连接):

    sudo firewall-cmd --reload
    
  6. 添加端口到防火墙(例如添加TCP端口80):

    sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
    
  7. 删除端口从防火墙(例如删除TCP端口80):

    sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent
    
  8. 添加服务到防火墙(例如添加HTTP服务):

    sudo firewall-cmd --zone=public --add-service=http --permanent
    
  9. 删除服务从防火墙(例如删除HTTP服务):

    sudo firewall-cmd --zone=public --remove-service=http --permanent
    
  10. 查看当前活动的区域

    sudo firewall-cmd --get-active-zones
    
  11. 更改接口的区域(例如将eth0接口更改为work区域):

    sudo firewall-cmd --zone=work --change-interface=eth0
    
  12. 查看指定区域的接口

    sudo firewall-cmd --zone=work --list-interfaces
    
  13. 添加富规则(例如允许来自特定IP的SSH连接):

    sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
    
  14. 删除富规则(例如删除上面添加的规则):

    sudo firewall-cmd --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
    

在使用firewalld命令时,如果你想要使更改永久生效,需要添加--permanent选项。如果不加这个选项,更改只会在当前会话中有效,重启后会被重置。

请注意,执行这些命令通常需要root权限,因此你可能需要在命令前加上sudo来获取必要的权限。

0