Linux学习Day12:firewalld防火墙

  RHEL7系统中集成了多种防火墙管理工具,其中firewalld服务(Dynamic Firewall Manager of Linux System,Linux系统的动态防火墙管理器)是默认的防火墙配置管理工具。firewalld服务支持动态更新技术并加入了区域的(zone)的概念,区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户根据不同的场景选择合适的策略集合,从而实现防火墙策略之间的快速切换。比如,我们的办公电脑需要在办公室和咖啡厅使用,从安全性角度出发,在咖啡厅使用的时候需要配置更严格的防火墙策略。现在只要设置好区域集合,就可以很方便地切换防火墙策略规则。

  firewalld中常见的区域名称(默认为public)以及相应的策略规则如下所示:

区域 默认规则策略
trusted 允许所有的数据包
home

拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、mdns、ipp-client、amba-client与dhcpv6-client服务相关,

则允许流量通过

internal 等同于home区域
work 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、ipp-client与dhcpv6-client服务相关,则允许流量通过
public 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、dhcpv6-client服务相关,则允许流量通过
external 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量通过
dmz 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量通过
block 拒绝流入的流量,除非与流出的流量相关
drop 拒绝流入的流量,除非与流出的流量相关

一、终端管理工具——firewall-cmd


  firewalld服务的配置工具有两种:一种是基于命令行界面的firewall-cmd命令,另一种则基于图形界面的配置工具。firewall-cmd命令的参数一般是以长格式来提供的,常用的参数及其作用如下所示:

参数 作用
--get-default-zone 查询默认的区域名称
--set-default-zone=<区域名称> 设置默认的区域,使其永久生效
--get-zones 显示可用的区域
--get-services 显示预先定义的服务
--get-active-zones 显示当前正在使用的区域与网卡名称
--add-source= 将源自此IP或子网的流量导向指定的区域
--remove-source= 不再将源自此IP或子网的流量导向某个指定区域
--add-interface=<网卡名称> 将源自该网卡的所有流量都导向某个指定区域
--change-interface=<网卡名称> 将某个网卡与区域进行关联
--list-all 显示当前区域的网卡配置参数、资源、端口以及服务等信息
--list-all-zones 显示所有区域的网卡配置参数、资源、端口以及服务等信息
--add-service=<服务名> 设置默认区域允许该服务的流量
--add-port=<端口号/协议> 设置默认区域允许该端口的流量
--remove-service=<服务名> 设置默认区域不再允许该服务的流量
--remove-port=<端口号/协议> 设置默认区域不再允许该端口的流量
--reload 让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
--panic-on 开启应急状况模式(禁止所有的流量)
--panic-off 关闭应急状况模式

  使用firewalld配置的防火墙策略默认为运行时(Runtime)模式,又称为当前生效模式,而且会随着系统重启而失效。如果想让配置的策略一直存在,就需要使用永久模式(Permanent)模式了,方法就是在firewall-cmd命令设置防火墙策略时添加--permanent参数。但是使用--permanent参数设置策略只有在重启后才能生效,要想立即生效需要手动执行firewall-cmd --reload命令。

猜你喜欢

转载自www.cnblogs.com/xuliang-daydayup/p/12520944.html