Linux的firewalld防火墙

介绍firewalld:

①、firewalld(Dynamic Firewall Manager of Linux systems,Linux系统的动态防火墙管理器)服务是默认的防火墙配置管理工具,它拥有基于CLI(命令行界面)和基于GUI(图形用户界面)的两种管理方式。

②、相较于传统的防火墙管理配置工具,firewalld支持动态更新技术并加入了区域(zone)的概念。

|zone:有多种区域,我们的IP、网卡可以加入到不同的区域。(互联网的地址 | 老师的电脑)

|service:各种服务|各种端口

③、在以往,我们需要频繁地手动设置防火墙策略规则,而现在只需要预设好区域集合规则,然后轻点鼠标就可以自动切换了,从而极大地提升了防火墙策略的应用效率。

一、firewalld中防火墙预定义的9个区域

(一)trusted(信任区域):允许所有的传入流量。(INPUT accept)

(二)home(家庭区域):拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、mdns、ipp-client、smba-client、dhcpv6-client服务相关,则允许流量

1、如果你找我,我就不理你

2、如果我找你,你回了我,我就回你

3、默认策略 INPUT DROP

4、-s 0.0.0.0/0 -p tcp -dport ssh mdns ACCEPT

(三)internal(内部区域):等同于home区域

(四)work(工作区域):拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、ipp-client与dhcpv6-client服务相关,则允许流量

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

(六)external(外部区域):拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量

(七)dmz(隔离区域也称为非军事区域):拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量

(八)block(限制区域):拒绝流入的流量,除非与流出的流量相关

(九)drop(丢弃区域):拒绝流入的流量,除非与流出的流量相关

(十)区域的优先级{源地址绑定的区域>网卡绑定区域>默认区域(所有没有绑定的区域)}

二、firewall-cmd命令:用于配置firewalld防火墙

(一)命令格式: firewall-cmd 参数

(二)常用参数

1、--get-default-zone #查询当前默认区域

2、--set-default-zone=<zone> #设置修改默认区域,并永久生效

3、--get-zones #显示所有可用的区域

4、--get-services

#显示预先定义的服务

5、--get-active-zones #显示当前正在使用区域与网卡名称

6、--add-source= #将源自此IP或子网的流量导向指定的区域,如果不加--zone参数,则指定为当前

默认区域

(1)查看默认的区域,是否生效

(2)--zone=home --add-source=192.168.11.0/24 #将192.168.10.0网段的地址流量都导向home区域

查看配置是否生效

7、--add-interface=<网卡名称> #将源自该网卡的所有流量都导向默认区域

同样的,也可以使用--zone=,来指定区域

8、--change-interface=<网卡名称> #将某个网卡与区域进行关联

9、--list-all #显示当前区域的网卡配置参数、资源、端口以及服务等信息

10、--list-all-zones #显示所有区域的网卡配置参数、资源、端口以及服务等信息

11、--add-service=<服务名> #设置默认区域允许该服务的流量 #

也可以指定区域

12、--add-port=<端口号/协议> #设置默认区域允许该端口的流量

也可以指定区域

13、--remove-service=<服务名> #设置默认区域不再允许该服务的流量

也可以指定区域

14、--remove-port=<端口号/协议> #设置默认区域不再允许该端口的流量

也可以指定区域

15、--reload #让"永久生效"的配置规则立即生效,并覆盖当前的配置规则

16、--panic-on #开启应急状况模式

17、--panic-off #关闭应急状况模式

18、--query-panic #查看是否开启应急状况模式

(16、17、18)→Panic的单词含义为"恐慌"、"惊慌",在firewalld中他表示当发生紧急情况(比如遭到攻击)时启用的一种"禁行模式",启用这种模式后所有的进包和出包都会被丢弃,和panic模式相关的有三个命令

19、--get-zone-of-interface=<interface> #显示指定接口绑定的区域

20、--permanent #使命令重启系统后生效

21、--query-service=<service name>

三、练习

要想学好Linux防火墙的知识,肯定有必不可少的训练。

(一)练习1:查看firewalld服务当前所使用的区域

(二)练习2:查询指定网卡在firewalld服务中绑定的区域

(三)练习3:把网卡默认区域修改为external,并在系统重启后生效

重启后查看区域已修改为external

(四)练习4:把firewalld服务的默认区域设置为public

警告是因为默认区域已经是public了!!!!

(五)练习5:启动和关闭firewalld防火墙的应急状况模式

--panic-on

--panic-off

(六)练习6:查询SSH和HTTPS协议的流量是否允许放行

(七)练习7:把HTTPS协议的流量设置为永久允许放行,并立即生效

针对piblic 区域放行https协议,下次重启生效

立即生效配置的firewall规则

(八)练习8:把HTTP协议的流量设置为永久拒绝,并立即生效

针对public区域移除http协议,下次重启生效

立即生效配置的firewall规则

(九)练习9:把访问8080和8081端口的流量策略设置为允许,但仅限当前生效

祝大家学习顺利,有好资料我会继续分享的呢(加油!!冲鸭)

相关推荐
路溪非溪8 分钟前
Linux内核启动流程
linux·运维·服务器
anddddoooo29 分钟前
vulnhub(11):derpnstink(hydra爆破用户名和密码、验证的文件上传)
linux·运维·服务器·安全·web安全·网络安全
Xinan_____33 分钟前
Linux——k8s认识
linux·运维·kubernetes
TO_ZRG1 小时前
使用jenkins打包unity工程
运维·unity·jenkins
liujiangxu1 小时前
jenkins声明式流水线语法详解
运维·自动化·jenkins
小立爱学习1 小时前
Linux 给 vmlinux 添加符号
linux·c语言
DieSnowK2 小时前
[项目][WebServer][CGI机制 && 设计]详细讲解
linux·开发语言·c++·http·项目·webserver·cgi机制
guoguoqiang.2 小时前
我与Linux的爱恋:命令行参数|环境变量
linux·运维·服务器·c语言·学习
客观花絮说2 小时前
DSC+DW实时+异步搭建部署
运维
大耳朵土土垚3 小时前
【Linux 】开发利器:深度探索 Vim 编辑器的无限可能
linux·编辑器·vim