CentOS防火墙调试步骤如下:
检查防火墙状态
systemctl status firewalld # 查看服务运行状态
firewall-cmd --state # 查看防火墙是否激活
若未运行,启动服务:systemctl start firewalld。
查看防火墙配置
firewall-cmd --list-all # 查看所有规则(区域、端口、服务、富规则等)
firewall-cmd --list-ports # 查看开放端口
firewall-cmd --list-services # 查看开放服务
测试端口连通性
firewall-cmd --permanent --add-port=80/tcp # 永久生效需加--permanent
firewall-cmd --reload # 重新加载配置
telnet 服务器IP 80 # 从外部测试端口连通性
netstat -tulnp | grep 80 # 查看端口监听状态(需安装net-tools)
验证服务规则
firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload
firewall-cmd --query-service ssh # 返回yes表示服务已放行
排查异常规则
firewall-cmd --list-rich-rules # 检查是否有自定义规则冲突
firewall-cmd --remove-port=80/tcp --permanent # 删除规则后重载
查看日志定位问题
journalctl -u firewalld # 查看防火墙服务日志,排查报错或异常事件
注意:修改规则后需执行firewall-cmd --reload使配置生效,生产环境建议先在测试环境验证规则。