1. 配置文件、区域
firewalld 存放配置文件有两个目录,/usr/lib/firewalld 和 /etc/firewalld,前者存放了一些默认的文件,后者主要是存放用户自定义的数据,所以我们添加的service或者rule都在后者下面进行。
server 文件夹存储服务数据,就是一组定义好的规则。
zones 存储区域规则
firewalld.conf 默认配置文件,可以设置默认使用的区域,默认区域为 public,对应 zones目录下的 public.xml
防火墙为了简化管理,将所有网络流量分为多个区域(zone),然后根据数据包的源ip地址或传入的网络接口条件等将流量传入相应区域,每个区域都定义了自己打开或者关闭的端口和服务列表。其中默认区域为public
区域名称 默认配置说明
Trusted 允许所有的传入流量
Block 拒绝所有传入流量
Drop 丢弃所有传入流量
Public 允许与ssh、dhcpv6-client预定义服务匹配的传入流量,其余都拒绝,也是新添加网络接口的默认区域
Home 允许与ssh、mdns、ipp-client、samba-client、dhcpv6-client预定义服务匹配的传入流量,其余都拒绝
Work 允许与ssh、ipp-client、dhcpv6-client预定义服务匹配的传入流量,其余都拒绝
Internal 默认值时与home相同
External 允许与ssh预定义服务匹配的传入流量,其余都拒绝;默认将进过此区域转发的ipv4地址传出流量进行地址伪装
Dmz 允许与ssh预定义服务匹配的传入流量,其余都拒绝
这里需要首先说明的是,在执行命令时,如果没有带 --permanent 参数表示配置立即生效,但是不会对该配置进行存储,相当于重启服务器就会丢失。如果带上则会将配置存储到配置文件,但是这种仅仅是将配置存储到文件,却并不会实时生效,需要执行 firewall-cmd --reload 命令重载配置才会生效。
1.重载防火墙配置
firewall-cmd --reload
2.查看防火墙运行状态
firewall-cmd --state
3.查看默认区域的设置
firewall-cmd --list-all
2. 配置命令
1. 区域管理
[root@server ~]
[root@server ~]
[root@server ~]
[root@server ~]
2. 服务管理
[root@server ~]
[root@server ~]
[root@server ~]
[root@server ~]
[root@server ~]
[root@server ~]
[root@server ~]
[root@server ~]
[root@server ~]
3. 端口管理
[root@server ~]
[root@server ~]
[root@server ~]
[root@server ~]
[root@server ~]
4. 综合配置(包含网段)
[root@server ~]
[root@server ~]
[root@server ~]
[root@server ~]
[root@server ~]
[root@server ~]