温馨提示×

如何在CentOS上设置防火墙

小樊
35
2025-12-25 14:44:26
栏目: 智能运维

在CentOS上设置防火墙通常涉及使用firewalld服务,这是CentOS 7及更高版本中默认的动态管理防火墙的工具。以下是一些基本的步骤来设置和管理firewalld

  1. 启动firewalld服务: 如果firewalld没有自动启动,你可以使用以下命令来启动它:

    sudo systemctl start firewalld
    
  2. 设置firewalld开机自启: 要确保firewalld在系统启动时自动运行,可以使用以下命令:

    sudo systemctl enable firewalld
    
  3. 检查firewalld状态: 要检查firewalld服务的状态,可以使用以下命令:

    sudo systemctl status firewalld
    
  4. 查看开放的端口: 使用以下命令可以查看当前开放的端口:

    sudo firewall-cmd --list-all
    
  5. 开放端口: 要开放一个端口(例如,开放TCP端口80),可以使用以下命令:

    sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
    

    --permanent参数表示永久生效,即使重启也不会丢失设置。--zone=public指定区域,通常是公共区域。--add-port=80/tcp指定添加TCP端口80。

  6. 重新加载防火墙配置: 在添加或删除端口后,需要重新加载防火墙配置以使更改生效:

    sudo firewall-cmd --reload
    
  7. 关闭端口: 如果需要关闭之前开放的端口,可以使用以下命令:

    sudo firewall-cmd --permanent --zone=public --remove-port=80/tcp
    sudo firewall-cmd --reload
    
  8. 设置默认区域firewalld有多个区域,如trustedhomeinternalworkpublic。你可以设置默认区域来控制未明确配置的服务和端口的默认行为:

    sudo firewall-cmd --set-default-zone=public
    
  9. 添加服务: 如果你想开放一个服务(例如SSH),可以使用以下命令:

    sudo firewall-cmd --permanent --zone=public --add-service=ssh
    sudo firewall-cmd --reload
    
  10. 移除服务: 如果你想移除一个服务,可以使用以下命令:

    sudo firewall-cmd --permanent --zone=public --remove-service=ssh
    sudo firewall-cmd --reload
    

请注意,根据你的CentOS版本和已安装的软件包,上述命令可能会有所不同。始终确保你有适当的权限(通常是root权限)来执行这些命令。如果你使用的是CentOS 6或其他不支持firewalld的版本,你可能需要使用iptables来管理防火墙规则。

0