在CentOS系统中,防火墙的设置是保障系统安全的重要环节,CentOS 7及更高版本默认使用firewalld作为防火墙管理工具,而iptables则作为底层实现,以下是关于CentOS防火墙设置的详细指南:
基本操作
1、启动和停止防火墙

启动:使用命令systemctl start firewalld 可以启动firewalld服务。
停止:使用命令systemctl stop firewalld 可以停止firewalld服务。
2、查看状态
查看防火墙状态:通过运行systemctl status firewalld 或firewallcmd state 可以查看当前防火墙的状态。
3、设置开机自启
启用:使用命令systemctl enable firewalld 可以在系统启动时自动启动firewalld。

禁用:使用命令systemctl disable firewalld 可以禁止系统启动时自动启动firewalld。
配置防火墙规则
1、开放端口
永久开放端口:例如要永久开放TCP协议的80端口,可以使用命令firewallcmd zone=public addport=80/tcp permanent。
重新加载配置:添加完规则后,需要运行firewallcmd reload 使配置生效。
2、关闭端口
永久关闭端口:例如要永久关闭TCP协议的80端口,可以使用命令firewallcmd zone=public removeport=80/tcp permanent。

3、查看开放端口
使用命令firewallcmd listports 可以查看当前所有开放的端口。
高级配置
1、设置访问白名单
允许特定IP访问端口:例如只允许特定IP段访问服务器的22端口,可以使用命令firewallcmd permanent addrichrule='rule family="ipv4" source address="指定IP或IP段" port protocol="tcp" port="22" accept'。
允许特定IP访问所有端口:可以使用命令firewallcmd permanent zone=public addrichrule='rule family="ipv4" source address="指定IP或IP段" accept'。
2、服务访问配置
查询服务:使用命令firewallcmd queryservice ftp 可以查询ftp服务是否被允许。
列出放行的服务:使用命令firewallcmd getservices 可以列出所有被放行的服务。
FAQs
1、如何检查某个端口是否已经开放?
可以通过命令firewallcmd listports 查看当前开放的端口,或者使用nmap p 端口号 localhost 来检查特定端口的状态。
2、如何在不重启服务的情况下使新加的规则立即生效?
使用命令firewallcmd reload 可以重新加载防火墙配置,使新加的规则立即生效。
通过以上步骤,您可以有效地管理和配置CentOS系统的防火墙,确保网络环境的安全性和稳定性。
