昨天在修复某台服务器的系统内核漏洞的时候,把服务器升级死了一部分。

升级之后之前的端口就没用了,中间还折腾了下别的。

本来系统就是centos7的,默认的是firewalld防火墙,不过我之前好像禁用了firewalld,安装的iptables防火墙。

自己去看了下iptables配置文件,的确之前开启了很多端口。但是这次升级之后,我再去重启iptables防火墙就没用了,之前里面得配置得重现来一遍,我嫌弃麻烦,再加上里面有些端口号好像根本没用了。

我就试下关闭iptables,重现开启firewalld,之后用firewalld防火墙然后一切都正常了。

firewalld在centos7里面,再加上别的管理工具,好像是比iptables方便很多。

1:先停用iptables

systemctl stop iptables.service

2:开启firewalld

systemctl start firewalld

这里如果遇到错误提示:Failed to start firewalld.service: Unit firewalld.service is masked.

就执行这个命令:systemctl unmask firewalld.service

然后再去启动firewalld

3:设置开机启动

systemctl enable firewalld.service

4:查看开机启动成功没有

systemctl is-enabled firewalld.service

也可以重启服务器检查

5:开启firewalld端口号

firewall-cmd –zone=public –add-port=80/tcp –permanent

80就是端口号,常见就开80,443,3306就行了,ftp21也好,不过我个人除了文件备份机器,其他端口基本不开,当然也有例外。

6:重启防火墙

systemctl restart firewalld.service

7:查看防火墙状态

systemctl status firewalld

看见active绿色的就是在运行了。

8:查看端口号有没有生效

firewall-cmd –zone=public –query-port=80/tcp  80换成具体端口号

其他firewalld常用命令

firewall-cmd –help 帮助

firewall-cmd –zone=public –list-ports 打开了那些端口

firewall-cmd –zone= public –remove-port=80/tcp –permanent 删除防火墙端口,80换成端口号

systemctl –failed 查看启动失败的服务

systemctl disable firewalld 停用防火墙

systemctl stop firewalld 或者systemctl stop firewalld.service禁止防火墙