LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

[点晴永久免费OA]firewalld:一个Linux上防火墙服务守护进程管理软件

admin
2025年9月15日 22:35 本文热度 266

今天需要加强一下云服务器防火墙策略,发现有许多命令不会了,就学习了一下。

01

firwalld是个啥

firewalld是一个Linux上防火墙服务守护进程,准确的是红帽系的Linux上的一个防火墙管理器,可以使用firewalld来配置大多数典型情况所需的数据包过滤,firewalld使用区、策略和服务的概念来简化流量管理。区域以逻辑方式分隔网络。网络接口和源可以分配给区。策略用于拒绝或允许区域间的流量流。防火墙服务是预定义的规则,覆盖了允许特定服务的传入流量的所有必要设置,并在区域内应用。

02

防火墙的区域


刚才也说了,firewalld是有区域的概念,现在许多的硬件防火墙也有划分区域,例如华为防火墙,可以手动的某一个接口或者多个接口划入到指定的区域下,添加策略时需要选择区域,例如从UNtrust到trust区域。

firewalld默认区域划分如下:

—block

适合于:任何传入的网络连接都会被拒绝,并对 IPv4 显示 icmp-host-prohibited 消息,对 IPv6 显示 icmp6-adm-prohibited 消息。

接受:只有从系统内启动的网络连接。

—dmz

适用于:DMZ 中可使用访问您的内部网的有限权限公开访问的计算机。

接受: 只有所选的传入连接。

—drop

适合于:任何被丢失,但没有任何通知的传入网络数据包。

接受:只有传出的网络连接。

—external

适用于:启用了伪装的外部网络,特别是路由器。不信任网络上其他计算机的情况。

接受: 只有所选的传入连接。

—home

适用于:家庭环境,基本上信任网络上的其他计算机。

接受: 只有所选的传入连接。

—internal

适用于:内部网络,基本上信任网络上其他计算机的。

接受: 只有所选的传入连接。

—public

适用于:公共区域,不信任网络上的其他计算机。

接受: 只有所选的传入连接。

—trusted

接受:所有网络连接。

—work

适用于:工作环境,信任大多数网络上的其他计算机。

接受: 只有所选的传入连接。

当接口连接被添加到 NetworkManager 中时,它们会被分配到默认区。初次安装时firewalld 中的默认区域是 public 区域。同时可以更改默认区域。

同时firewalld有如下原则

1、流量只流入一个区域。

2、流量只流出一个区域。

3、一个区域定义一个信任级别。

4、默认允许区域内流量(在同一区域内)。

5、默认拒绝区域内流量(从区域到区域)。


使用命令查看默认区域






firewall-cmd --get-default-zone

设置新的默认区




firewall-cmd --set-default-zone  区域名

将接口分配到区域




firewall-cmd --zone=public --change-interface=ens4f0 --permanent


03

添加一条简单防火墙策略


我们再添加防火墙策略时网络需要某些参数,例如源IP地址、目的IP地址、目的端口、协议、动作等等这些参数,一般就只需要者四种参数,源端口一般是不需要的,因为普通的请求发起方往往源端口是随机的,无法指定,只有一些特殊的服务源端口才是固定。

添加一条简单的策略




例如要放开访问本机的22号端口,那么策略可以这样使用:

这样就放开访问本机的ssh服务,如果你的ssh服务改了默认的端口,那么就不能用这个了,就需要改成下边这样的:

firewall-cmd --zone=public --add-port=22/tcp

如果你想要你的这条策略永久保存,那么还应该加上一个永久保存的参数,不然你下次重启服务器这条策略就没了,应该如下:

firewall-cmd --zone=public --add-service=ssh --permanent

在后边加一条--permanent参数即可


04

使用IP地址对象组


现在防火墙都有地址对象、地址组这个功能,就是可以把许多地址加到一个组里,然后策略里面去引用这个地址组,firewalld也有这个。

首先我们创建一个地址组,地址组名称为test123

firewall-cmd --permanent --new-ipset=test123 --type=hash:ip

然后我们加入我们要增加10.10.10.0/24、20.20.20.0/24这两个个地址段,又不想单独加一条策略,那么就需要将两个地址段加入到这个组内,然后引用。

firewall-cmd --permanent --ipset=test123--add-entry=10.10.10.0/24firewall-cmd --permanent --ipset=test123--add-entry=20.20.20.0/24

创建一条引用的策略

firewall-cmd --permanent --zone=public --add-source=ipset:test123

重新载入防火墙配置启用这条策略

firewall-cmd --reload

然后使用firewalld --get-ipsets就可以看到

看下这个地址组里面有那些地址

看看public这个区域的策略情况

大家可能也注意到了,我们上述添加策略时只用了一部分参数,例如区域、源地址或者目的端口,那么为啥源地址和源端口不一起用呢,那是因为firewalld默认上同时只支持一个参数的变化,两个参数会造成互斥,不像iptables可以加一条参数,有许多参数,当然firewalld也有办法添加多个参数的策略,那就是“富规则”。


该文章在 2025/9/16 12:04:59 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved