它属于包过滤防火墙。工作在网络层,是centos7自带的默认防火墙。主要是取代iptables。
firewalld的两种配置模式:
分别是运行时配置和永久配置。
iptable是静态防火墙
firewalld是动态防火墙
它是按照区域来划分的,有9个区域:
trusted:信任区域,允许使用的流量传入。
pulic:公共区,只允许ssh和dhcpv6两个预定义服务的流量可以传入,取余都是拒绝。
external:外部区域,只允许只允许ssh和dhcpv6两个预定义服务的流量可以传入,取余都是拒绝。如果通过此区域转发的ipv4流量,可以进行地址伪装。
home:家庭区域,只允许只允许ssh和dhcpv6两个预定义服务的流量可以传入,取余都是拒绝。
internal:内部区域,默认值时与home区域相同。
work:工作区域,只允许只允许ssh和dhcpv6两个预定义服务的流量可以传入,取余都是拒绝。
dmz:隔离区域也称为非军事区域,允许与 ssh 预定义服务匹配的传入流量,其余均拒绝。
block:限制区域,拒绝所有传入流量。
drop:丢弃区域,丢弃所有传入流量,并且不产生包含ICMP的错误响应。
ssh:远程连接协议。
dhcpv6:通过dhcpv6服务器进行报文交互,获取ipv6的地址。
ipp:编程语言的交互(java pyhton)。
samba:打印机。
mdns:主界面域名解析。主要是解析小型网络的ip地址。
查看当前系统中的默认区域
firewall-cmd --get-default-zone
显示默认区域的所有规则
firewall-cmd --list-all
切换默认区域block
firewall-cmd --set-default-zone=block、
添加httpd服务到public 区域
firewall-cmd --add-service=http --zone=public
添加多个服务
方法一
firewall-cmd --add-service=http --add-service=ftp --zone=public
方法二
firewall-cmd --add-service={ftp,http}
删除规则
firewall-cmd --remove-service=ftp --zone=public
同时添加httpd、ftp服务到默认区域,设置成永久生效
firewall-cmd --add-service=http --add-service=ftp --permanent
firewall-cmd --add-service={ftp,http} --zone=public --permanent
使命令生效
firewall-cmd --reload
允许TCP的443端口到internal区域
firewall-cmd --zone=public --add-port=80/tcp