简介
前面文章我们已经介绍了firewalld的安装,配置文件介绍、简单的规则查询,本篇文章主要介绍zone的配置。前面我们介绍了firewalld默认的zone和不同zone的功能,下面我们就直接进入zone的具体配置使用。
配置zone的方式
图形配置工具 firewall-config:
这是一个图形用户界面(GUI)工具,它允许用户通过点击和拖动来配置防火墙。通过firewall-config
,您可以添加、编辑或删除区域(zones),并为这些区域配置服务、端口和ICMP类型等。
命令行工具 firewall-cmd:firewall-cmd
是一个命令行接口(CLI),用于动态地管理firewalld
。您可以使用firewall-cmd
来添加、删除、激活或禁用区域,以及为这些区域配置规则。这些更改可以立即生效,并且可以被永久保存,后面我们的配置都是基于firwall-cmd来配置。
D-BUS接口:firewalld
使用D-BUS作为其内部通信机制,因此,您也可以使用D-BUS接口来与firewalld
进行交互。这通常是通过编写脚本或使用其他支持D-BUS的应用程序来完成的。
配置文件:/usr/lib/firewalld/zones
目录包含默认和回退配置。/etc/firewalld/zones
目录用于存储用户创建和自定义的配置文件。可以直接编辑这些XML文件来添加或修改区域。但是,请注意,直接编辑配置文件通常需要更多的技术知识,并且任何错误都可能导致防火墙配置出现问题。
firewalld如何选择使用哪个zone
在第一篇文章介绍firewalld时我们就介绍了firewalld处理数据的一些原则,我们在这里在回顾一下。
每个 zone 就是一套规则集,但是有那么多 zone,对于一个具体的请求来说应该使用哪个 zone(哪套规则)来处理呢?
对于一个接受到的请求具体使用哪个 zone,firewalld 是通过三种方法来判断的:
1、source,也就是源地址 优先级最高
2、interface,接收请求的网卡 优先级第二
3、firewalld.conf 中配置的默认 zone 优先级最低
这三个的优先级按顺序依次降低,也就是说如果按照 source 可以找到就不会再按 interface 去查找,如果前两个都找不到才会使用第三个,即 firewalld.conf 中配置的默认zone。
配置zone
修改默认zone
firewall-cmd --get-default-zone #查看默认区域
firewall-cmd --list-all #查看此区域内的所有配置,类似与iptables -Ln
firewall-cmd --set-default-zone= #更改默认的区域
添加自定义zone
在firewalld
中,可以添加自定义的zone。自定义的zone允许你根据特定的需求定义一组防火墙规则。
删除zone
要删除firewalld
中的zone,首先,需要确认要删除的zone的名称。然后,你需要确认要删除的zone的名称,一旦确定了要删除的zone没有绑定到任何接口,可以使用以下命令来删除它
修改zone默认target
将接口划入zone
将网卡(interface) 或 源 IP 添加到一个 zone 即激活这个域
firewall-cmd --zone=your_zone --add-interface=your_interface
将接口加入zone
firewall-cmd --zone=your_zone --remove-interface=your_interface
将接口从zone中移除
firewall-cmd --zone=your_zone --list-interfaces
查看zone中的接口
firewall-cmd --get-active-zones
查看所有zone中的接口
zone添加规则
在public zone中,默认只允许如下图所示服务通过,那么想要让其他服务或者ip地址可以通过public zone访问应该如何设置呢?
放行http服务规则
放行IP地址
同样的如果要添加协议需要使用--add-protocol= ,添加端口使用--add-port= 等,在配置的时候可以通过table命令查看后面的参数
放行端口
zone中删除规则
前面我们介绍了添加规则,那么删除规则的方式是一样的,--add对应添加,那么--remove对应删除,如下图所示
保存配置
通过配置文件修改规则
我们通过firewall-cmd命令配置的参数最终都是写入到对应的配置文件中,上面我们修改的public zone的参数配置配置文件就在/etc/firewalld/zone/public.xml中
总结
本片文章主要介绍的是zone的配置、包括默认zone,自定义zone,zone中添加规则,如添加IP、端口、服务以及配置保存。上面所有的操作都是基于zone的最基础的操作,更复杂的规则以及策略的应用我们将在后面的文章中逐步介绍。