昨天在修复某台服务器的系统内核漏洞的时候,把服务器升级死了一部分。
升级之后之前的端口就没用了,中间还折腾了下别的。
本来系统就是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禁止防火墙