Linux:Firewalld防火墙基础

一、Firewalld概述

Firewalld
支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具

支持IPv4、IPv6防火墙设置以及以太网桥

支持服务或应用程序直接添加防火墙规则接口

拥有两种配置模式

  • 运行时配置
  • 永久配置

二、Firewalld和iptables的关系

netfilter

  • 位于Linux内核中的包过滤功能体系
  • 称为Linux防火墙的“内核态”

Firewalld/iptables                                                                                                                             

  • CentOS7默认的管理防火墙规则的工具(Firewalld)
  • 称为Linux防火墙的“用户态’

Firewalldiptabes
配置文件

/etc/firewalld/

/usr/lib/firewalld/

/etc/sysconfig/iptables
对规则的修改不需要全部刷新策略,不丢失现行链接需要全部刷新策略,丢失现行链接
防火墙类型动态防火墙静态防火墙

firewalld防火墙预定义了9个区域:

  • 1trusted(信任区域):允许所有的传入流量。
  • public(公共区域):允许与ssh或dhcpv6-client预定义服务匹配的传入流量,其余均拒绝。是新添加网络接口的默认区域。
  • external(外部区域):允许与 ssh 预定义服务匹配的传入流量,其余均拒绝。 默认将通过此区域转发的IPv4传出流量将进行地址伪装,可用于为路由器启用了伪装功能的外部网络。
  • home(家庭区域):允许与ssh、mdns、samba-client或dhcpv6-client预定义服务匹配的传入流量,其余均拒绝。
  • internal(内部区域):默认值时与home区域相同。
  • work(工作区域):允许与 ssh、dhcpv6-client 预定义服务匹配的传入流量,其余均拒绝。
  • dmz(隔离区域也称为非军事区域):允许与 ssh 预定义服务匹配的传入流量,其余均拒绝。
  • block(限制区域):拒绝所有传入流量。
  • drop(丢弃区域):丢弃所有传入流量,并且不产生包含 ICMP的错误响应。

三、Firewalld网络区域

区域介绍

  • 区域如同进入主机的安全门,每个区域都具有不同限制程度的规则
  • 可以使用一个或多个区域,但是任何一个活跃区域至少需要关联源地址或接口
  • 默认情况下,public区域是默认区域,包含所有接口(网卡)

Firewalld数据处理流程
检查数据来源的源地址

  • 若源地址关联到特定的区域,则执行该区域所指定的规则
  • 若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所指定的规则
  • 若网络接口未关联到特定的区域,则使用默认区域并执行该区域所指定的规则

四、Firewalld防火墙的配置方法

命令行工具

查
firewall-cmd --get-default-zone                 查看当前默认区域
             --get-active-zones                 查看当前已激活的区域
			 --get-zones                        查看所有可用的区域
			 --list-all-zones                   查看所有区域的规则
			 --list-all --zone=区域名           查看指定区域的规则
			 --list-services --zone=区域名      查看指定区域允许访问的服务列表
			 --list-ports --zone=区域名         查看指定区域允许访问的端口列表
			 --get-zone-of-interface=网卡名     查看与网卡绑定的区域
			 --get-icmptypes                    查看所有icmp类型
									      
增
firewall-cmd --add-interface=网卡名 --zone=区域名                    给指定区域添加绑定的网卡
             --add-source=源地址 --zone=区域名                       给指定区域添加源地址
			 --add-service=服务名 --zone=区域名                 给指定区域添加允许访问的服务
			 --add-service={服务名1,服务名2,...} --zone=区域名  给指定区域添加允许访问的服务列表
			 --add-port=端口/协议 --zone=区域名                 给指定区域添加允许访问的端口
			 --add-port=端口1-端口2/协议 --zone=区域名    给指定区域添加允许访问的连续的端口列表
			 --add-port={端口1,端口2,...}/协议 --zone=区域名  给指定区域添加允许访问的不连续的端口
			 --add-icmp-block=icmp类型 --zone=区域名           给指定区域添加拒绝访问的icmp类型

删
firewall-cmd --remove-service=服务名 --zone=区域名  
             --remove-port=端口/协议 --zone=区域名
			 --remove-icmp-block=icmp类型 --zone=区域名
			 --remove-interface=网卡名 --zone=区域名       从指定区域里删除绑定的网卡
			 --remove-source=源地址 --zone=区域名          从指定区域里删除绑定的源地址

改
firewall-cmd --set-default-zone                            修改当前默认区域
             --change-interface=网卡名 --zone=区域名       修改/添加网卡 绑定给指定区域
             --change-source=源地址 --zone=区域名          修改/添加源地址 绑定给指定区域

运行时配置

  • 实时生效,并持续至Firewalld重新启动或重新加载配置
  • 不中断现有连接
  • 不能修改服务配置

永久配置

  • 不立即生效,除非Firewalld重新启动或重新加载配置
  • 中断现有连接
  • 可以修改服务配置

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值