CentOS防火墙常见问题解决方法
systemctl status firewalld
确认firewalld是否运行。若未运行,执行systemctl start firewalld
启动服务,并通过systemctl enable firewalld
设置开机自启。journalctl -xe
查看详细错误信息(如依赖服务异常、配置文件损坏)。dbus
和polkit
,需确保二者正常运行(systemctl status dbus
、systemctl status polkit
)。yum reinstall firewalld
重新安装,修复配置问题。systemctl status firewalld
确保防火墙正在运行。firewall-cmd --list-ports
查看已开放端口,确认目标端口(如80、3306)是否在列表中。firewall-cmd --permanent --add-port=端口号/协议
(如--add-port=80/tcp
)添加规则,然后执行firewall-cmd --reload
使配置生效。enforcing
模式,可能限制端口访问。可通过setenforce 0
临时设置为permissive
模式测试,若问题解决,编辑/etc/selinux/config
将SELINUX=enforcing
改为permissive
并重启系统。systemctl status sshd
、systemctl status mysqld
),避免因服务未运行导致连接失败。firewall-cmd --list-all
查看所有区域、服务、端口等规则,确认是否有冲突配置。firewall-cmd --permanent --remove-port=端口号/协议
(如--remove-port=8080/tcp
)删除错误规则,再重新加载配置。/usr/lib/firewalld/services/
下的示例),定义端口、协议等信息,然后通过firewall-cmd --permanent --add-service=自定义服务名
添加。systemctl stop firewalld
停止服务,systemctl disable firewalld
禁用开机自启。sestatus
查看SELinux是否启用(enforcing
为启用状态)。permissive
模式(setenforce 0
),测试是否解决问题;若需永久生效,修改/etc/selinux/config
文件中的SELINUX
值为permissive
,并重启系统。/etc/firewalld/firewalld.conf
文件,确保无语法错误(如缩进错误、无效参数)。yum reinstall firewalld
重新安装,恢复默认配置。