查看CentOS防火墙状态与配置的完整指南
防火墙服务状态检测
执行以下命令验证防火墙服务是否正在运行:
systemctl status firewalld
输出显示Active: active (running)表示服务已启动,若显示inactive则需使用systemctl start firewalld
激活服务。
查看活动防火墙规则
对于firewalld用户,获取当前生效的规则集合:
firewall-cmd --list-all
该命令输出包含开放端口、允许服务、富规则等详细信息。临时规则需添加--permanent
参数保存配置。
传统iptables工具使用
在未安装firewalld的系统或需要查看底层规则时,执行:
iptables -L -n -v
该命令显示过滤表的详细规则,包括数据包计数、协议类型和目标动作。-n
参数禁用域名反查加速显示速度。
运行时规则验证
检测特定端口是否开放:
firewall-cmd --zone=public --query-port=80/tcp
返回yes表示端口已放行,no则需通过--add-port
参数添加规则。
防火墙模式切换
禁用firewalld并启用iptables服务:
systemctl stop firewalld
systemctl mask firewalld
yum install iptables-services -y
systemctl enable iptables
此操作适用于需要兼容旧版防火墙配置的环境,执行后需重启系统生效。
常见问题排查
- 服务未运行:
Failed to get zones: FirewallD is not running
错误需启动服务 - 规则未生效:执行
firewall-cmd --reload
重新加载配置 - 端口冲突检测:使用
netstat -tulnp
确认端口监听状态