centos7防火墙firewall常用命令总结
以前不熟悉linux的时候,在自己的测试服务器,遇到端口问题,贪图方便,总是直接把防火墙关了,但是在服务器上如果防火墙没开,很容易中病毒,被黑客入侵,之前暴露了一个很容易被攻击的端口出去,就中木马病毒了,自此,还是把防火墙开了,学习防火墙的基本命令还是有必要的,总结一下常用的命令
注:
- CentOS 6的防火墙是iptables
- CentOS 7.0默认使用的是firewall作为防火墙,底层还是使用 iptables 对内核命令动态通信包过滤的,简单理解就是firewall是centos7下管理iptables的新命令
- 查看所有打开的端口: firewall-cmd --zone=public --list-ports
- 添加开放端口:firewall-cmd --zone=public --add-port=80/tcp --permanent
- 更新防火墙规则,添加、删除端口后用来重新载入: firewall-cmd --reload
- 查看某个端口是否开放:firewall-cmd --zone= public --query-port=80/tcp
- 删除开放的端口:firewall-cmd --zone= public --remove-port=80/tcp --permanent
- 查看防火墙的版本:firewall-cmd --version
- 查看防火墙的状态:firewall-cmd --state
- 打开防火墙:systemctl start firewalld
- 关闭防火墙:systemctl stop firewalld
注:
- zone规则配置组,每个zone是一套规则,可以有多个zone,zone=public是当前默认的规则组,可以用firewall-cmd --get-default-zone查看当前默认规则组
- permanent永久生效,没有此参数重启后失效
- 查看防火墙的状态也可以使用systemctl命令:systemctl status firewalld
防火墙开放端口流程:
-
查看防火墙已开放的端口
-
新增开放8080端口
-
查看这个端口是否有开启,可以看到已在开启的列表了,但是实际上并没有开放,因为没有firewall-cmd --reload重新加载防火墙端口配置
-
重新加载防火墙配置,reload之后再查看已开放的端口,不见了之前的8080端口。因为之前新增8080端口的命令后面没有加–permanent,不是永久生效的,重启防火墙或者reload都会失效
-
重新新增防火墙开放端口(正确的开始流程)
-
重新加载防火墙端口配置
-
查看已开放的端口,可以看到8080端口已开放
df -i
df -h
du -sh ./*