48小时系统班试听入口

想要搞懂Firewalld,这一篇足够!

发布作者:新盟教育 发布日期:2022-08-10 浏览人数:2451人

Linux运维实战教程



一、Firewalld概述


1.firewalld防火墙是Centos7系统默认的防火墙管理工具,取代了之前的iptables防火墙,也是工作在网络层,属于包过滤防火墙。

2.firewalld提供了支持网络区域所定义的网络连接以及接口安全等级的动态防火墙管理工具。




二、firewalld与iptables 的区别



1.iptables主要是基于接口,来设置规则,从而判断网络的安全性。firewalld是基于区域,根据不同的区域来设置不同的规则,从而保证网络的安全。与硬件防火墙的设置相类似。

2.iptables在==/etc/ sysconfig/iptables中储存配置,firewalld将配置储存在/etc/firewalld/ ( 优先加载)和/usr/lib/ firewalld/ ( 默认的配置文件)==中的各种XML文件里。

3.使用iptables每一个单独更改意味着清除所有旧有的规则和从/etc/sysconfig/iptables里读取所有新的规则。

  • iptables防火墙类型为静态防火墙

  • firewalld防火墙类型为动态防火墙




三、firewalld防火墙9个区域



1.trusted(信任区域):允许所有的传入流量。

2.public(公共区域):允许与ssh或dhcpv6-client预定义服务匹配的传入流量,其余均拒绝。是新添加网络接口的默认区域。

3.external(外部区域):允许与 ssh 预定义服务匹配的传入流量,其余均拒绝。默认将通过此区域转发的IPv4传出流量将进行地址伪装,可用于为路由器启用了伪装功能的外部网络。

4.home(家庭区域):允许与ssh、ipp-client、mdns、samba-client或dhcpv6-client预定义服务匹配的传入流量,其余均拒绝。

5.internal(内部区域):默认值时与home区域相同。

6.work(工作区域):允许与 ssh、ipp-client、dhcpv6-client 预定义服务匹配的传入流量,其余均拒绝。

7.dmz(隔离区域也称为非军事区域):允许与 ssh 预定义服务匹配的传入流量,其余均拒绝。

8.block(限制区域):拒绝所有传入流量。

9.drop(丢弃区域):丢弃所有传入流量,并且不产生包含ICMP的错误响应。




四、firewalld检查数据包源地址规则


1.若源地址关联到特定的区域(即源地址或接口绑定的区域有冲突),则执行该区域所制定的规则。

2.若源地址未关联到特定的区域(即源地址或接口绑定的区域没有冲突),则使用传入网络接口的区域并执行该区域所制定的规则。

3.若网络接口也未关联到特定的区域(即源地址或接口都没有绑定特定的某个区域),则使用默认区域并执行该区域所制定的规则。


五、firewalld防火墙的配置方法



1.使用firewall-cmd 命令行工具。

2.使用firewall-config 图形工具。

3.编写/etc/firewalld/中的配置文件。


systemctl start firewalld.service #开启防火墙服务


常用的firewall-cmd 命令选项:


--get-default-zone :显示当前默认区域
--set-default-zone= :设置默认区域
--get-active-zones :显示当前正在使用的区域及其对应的网卡接口
--get-zones :显示所有可用的区域
--get-zone-of-interface= :显示指定接口绑定的区域
--zone= --add-interface= :为指定接口绑定区域
--zone= --change-interface= :为指定的区域更改绑定的网络接口
--zone= --remove-interface= :为指定的区域删除绑定的网络接口
--list-all-zones :显示所有区域及其规则
[--zone=] --list-all :显示所有指定区域的所有规则,省略--zone=时表示仅对默认区域操作
[--zone=] --list-services :显示指定区域内允许访问的所有服务
[--zone=] --add-service= :为指定区域设置允许访问的某项服务
[--zone=] --remove-service= :删除指定区域已设置的允许访问的某项服务
[--zone=] --list-ports :显示指定区域内允许访问的所有端口号
[--zone=] --add-port=[-]/ :为指定区域 设置允许访问的某个/某段端口号(包括协议名)
[--zone=] --remove-port=[-]/ :删除指定区域已设置的允许访问的端口号(包括协议名)
[--zone=] --list-icmp-blocks :显示指定区域内拒绝访问的所有 ICMP 类型
[--zone=] --add-icmp-block= :为指定区域设置拒绝访问的某项 ICMP 类型
[--zone=] --remove-icmp-block= :删除指定区域已设置的拒绝访问的某项ICMP类型
firewall-cmd --get-icmptypes :显示所有 ICMP 类型





六、服务管理



查看默认区域内允许访问的所有服务:

firewall-cmd --list-service












推荐阅读

>>>新手必备-Linux入门之云计算是什么

>>>红帽认证入门-Linux系统介绍及企业版本选型

>>>新手必备-Linux系统安装配置+Xshell远程连接

>>>Linux常用命令行合集之绝对路径和相对路径

>>>软连接与硬连接



运维界升职加薪必备的云计算技术,你学了吗?

学完高级运维云计算课程之后,你可以:

  • 跨越90%企业的招聘硬门槛

  • 增加70%就业机会

  • 拿下BAT全国TOP100大厂敲门砖

  • 体系化得到运维技术硬实力

  • 技术大佬年薪可达30w+