firewalld是centos7中的防火墙命令,对于部分参数偶尔还是记不清楚,做个笔记,以便查阅。当然对于习惯使用iptables的同学来说,也可以在centos7中安装iptables服务,不过个人还是建议使用firewalld,对于新的东西,还是要积极接纳,或许后续的操作系统就不支持iptables了(小提示:iptables命令有两个,iptables和ip6tables。见名知义,就不过多解释了,有些问题可能是忽略了ip6tables这个命令导致的)。对于系统上同时存在firewalld和iptables的系统,需要注意iptables服务是否在运行,可以使用systemctl status iptables.service 命令查看。另外,对于centos7,另一个常用服务管理命令是systemctl,相对于service,也建议大家多使用这个命令。
1、防火墙基本使用
yum -y install firewalld ##安装firewalld
systemctl start firewalld.service ##打开防火墙,或者 systemctl start firewalld.service,可以使用tab键补齐
systemctl status firewalld.service ##查看防火墙状态
systemctl stop firewalld.service ##关闭防火墙
systemctl restart firewalld.service ##重启防火墙
systemctl enable firewalld.service ##开机启用
systemctl disable firewalld.service ##开机禁用
systemctl is-enabled firewalld.service ##查看服务是否开机启动
systemctl list-unit-files|grep enabled ##查看已启动的服务列表
systemctl --failed ##查看启动失败的服务列表
2、打开端口和服务
firewall-cmd --zone=public --add-port=80/tcp --permanent ##永久打开tcp 80端口
firewall-cmd --zone=public --add-port=123/udp --permanent ##永久打开udp 123端口
firewall-cmd --zone=public --add-port=8080-8081/tcp ##打开8080-8081端口,不加--permanent表示临时
firewall-cmd --zone=public --add-service=https --permanent ##永久打开https服务
firewall-cmd --reload ##更新防火墙规则,修改防火墙规则后,需要重新载入
firewall-cmd --zone=public --query-port=80/tcp ##查看tcp 80端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent ##删除打开的端口
firewall-cmd --zone=public --list-ports ##查看所有打开的端口
firewall-cmd --zone=public --list-services ##查看所有打开的服务,也可加--permanent
firewall-cmd --get-services ##查看还有哪些服务可以打开
##防火墙预定义的服务配置文件是xml文件,目录在 /usr/lib/firewalld/services/,每个服务对应一个端口
##在配置ntp服务的时候需要打开udp 123端口,建议先打开防火墙的123端口,再启动ntp,当然关闭防火墙肯定也可以
3、查看信息
firewall-cmd --version ##查看版本
firewall-cmd --help ##查看帮助
firewall-cmd --state ##显示状态
firewall-cmd --get-active-zones ##查看区域信息
firewall-cmd --get-service ##获取所有支持的服务
firewall-cmd --get-zone-of-interface=eth0 ##查看指定接口所属区域
firewall-cmd --panic-on ##拒绝所有包
firewall-cmd --panic-off ##取消拒绝状态
firewall-cmd --query-panic ##查看是否拒绝
4、应急模式
firewall-cmd --panic-on ##开启应急模式
firewall-cmd --panic-off ##关闭应急模式
firewall-cmd --query-panic #查询应急模式