介绍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端口的流量策略设置为允许,但仅限当前生效
祝大家学习顺利,有好资料我会继续分享的呢(加油!!冲鸭)