问题
之前把Centos系统中的python升级到python3.7,今天突然发现firewalld防火墙增加指定端口访问的策略时 出现了报错问题,firewalld命令用不了,使用systemctl start firewalld.service
命令启动防火墙报错
# systemctl restart firewalld.service
Job for firewalld.service failed because the control process exited with error code. See "systemctl status firewalld.service" and "journalctl -xe" for details.
里面有一行提示Failed to start firewalld - dynamic firewall daemon.
也就是:无法启动firewalld-动态防火墙守护程序。
解决
百度了一下看到有人说说CentOS7的firewalld防火墙默认指向的是Python2的版本,会不会是我安装了python3之后默认指向了python3呢?
使用vim
命令查看/usr/bin/firewall-offline-cmd和/usr/sbin/firewalld 里面的第一行Python指向发现指向没有问题,是python2版本。
然后执行 systemctl status firewalld.service 命令 还是提示错误,直接敲firewalld命令 看看是什么意思:这次提示ImportError: No module named xxx(因为是后记,这个模块名称忘记是提示的什么了。。。)
发现应该是需要安装python-gobject
安装了python-gobject后还需要再安装python-firewall
于是乎我就 yum install python-gobject -y
和yum install python-firewall -y
再次重启防火墙就可以了
相关命令:
systemctl stop firewalld
pkill -f firewalld.service
systemctl start firewalld.service