firewalld防火墙详细介绍

news2024/10/6 8:22:55

目录

一、firewalld概述

二、firewalld与iptables的区别

1.位置不同

2.配置存储位置不同

3.规则运行不同

4.防火墙类型不同

三、firewalld区域的概念

四、firewalld防火墙9个区域

1、trusted(信任区域)

2、public(公共区域)

3、external(外部区域)

4、home(家庭区域)

5、internal(内部区域)

6、work(工作区域)

7、dmz(隔离区域也称为非军事区域)

8、block(限制区域)

9、drop(丢弃区域)

五、firewalld数据处理过程

1、检查数据来源的源地址

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

六、Firewalld防火墙的配置

1、firewalld防火墙的配置方法

2、运行时配置

3、永久配置

 七、常用的firewall-cmd 命令选项

1、常用选项

2、区域管理

3、服务管理 

4、端口管理

5、设置地址转换

(1)设置 SNAT

(2)设置 DNAT

 八、拓展:Firewalld的富规则

1.允许特定IP地址访问特定端口

2.允许特定IP地址访问特定服务 

3.拒绝特定IP地址访问特定端口 

4.允许特定接口访问特定端口 

5.允许特定IP地址访问特定端口,并限制连接次数 

6.允许特定IP地址访问特定端口,并设置连接超时时间


一、firewalld概述

  • firewalld防火墙是Centos7系统默认的防火墙管理工具,取代了之前的iptables防火墙,也是工作在网络层,属于包过滤防火墙
  • firewalld和iptables都是用来管理防火墙的工具(属于用户态)来定义防火墙的各种规则功能,内部结构都指向netfilter网络过滤子系统(属于内核态)来实现包过滤防火墙功能。
  • firewalld提供了支持网络区域所定义的网络连接以及接口安全等级的动态防火墙管理工具。它支持IPV4、IPv6防火墙设置以及以太网桥(在某些高级服务可能会用到,比如云计算) ,并且拥有两种配置模式:运行时配置与永久配置

 二、firewalld与iptables的区别

1.位置不同

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

2.配置存储位置不同

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

3.规则运行不同

使用iptables每一个单独更改意味着清除所有旧有的规则和从 /etc/sysconfig/iptables 里读取所有新的规则。
使用firewalld却不会再创建任何新的规则,仅仅运行规则中的不同之处。因此firewalld可以在运行时间内,改变设置而不丢失现行连接。

4.防火墙类型不同

iptables防火墙类型为静态防火墙
firewalld防火墙类型为动态防火墙

三、firewalld区域的概念

  • firewalld防火墙为了简化管理,将所有网络流量分为多个区域(zone)。然后根据数据包的源IP地址或传入的网络接口等条件将流量传入相应区域。每个区域都定义了自己打开或者关闭的端口和服务列表。
  • 最终一个区域的安全程度是取决于管理员在此区域中设置的规则。
  • 区域如同进入主机的安全门,每个区域都具有不同限制程度的规则,只会允许符合规则的流量传入。
  • 可以根据网络规模,使用一个或多个区域,但是任何一个 活跃区域 至少需要关联 源地址或接口。
  • 默认情况下,public区域是默认区域,包含所有接口(网卡)

四、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、检查数据来源的源地址

firewalld对于进入系统的数据包,会根据数据包的源IP地址或传入的网络接口等条件,将数据流量转入相应区域的防火墙规则。对于进入系统的数据包,首先检查的就是其源地址。

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

  • 若源地址关联到特定的区域,则执行该区域所指定的规则
  • 若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所指定的规则
  • 若网络接口未关联到特定的区域,则使用默认区域并执行该区域所指定的规则(一般来讲,默认区域的规则是拒绝所有)

六、Firewalld防火墙的配置

1、firewalld防火墙的配置方法

(1)使用firewall-cmd 命令行工具。
(2)使用firewall-config 图形工具。
(3)编写/etc/firewalld/中的配置文件

systemctl start firewalld.service                            #启动防火墙

2、运行时配置

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

3、永久配置

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

 七、常用的firewall-cmd 命令选项

1、常用选项

firewall-cmd
--get-default-zone  :显示当前默认区域
--set-default-zone=<zone>  :设置默认区域

--get-active-zones :显示当前正在使用的区域及其对应的网卡接口
--get-zones  :显示所有可用的区域

--get-zone-of-interface=<interface>  :显示指定接口绑定的区域
--zone=<zone>  --add-interface=<interface>  :为指定接口绑定区域
--zone=<zone>  --change-interface=<interface>  :为指定的区域更改绑定的网络接口
--zone=<zone>  --remove-interface=<interface>  :为指定的区域删除绑定的网络接口

--get-zone-of-source=<source> [/<mask>]  :显示指定源地址绑定的区域
--zone=<zone> -add-source=<source> [/<mask>] :为指定源地址绑定区域
--zone=<zone> -change-source=<source> [/<mask>] :为指定的区域更改绑定的源地址
--zone=<zone> -remove-source=<source> [/<mask>] :为指定的区域删除绑定的源地址

--list-all-zones :显示所有区域及其规则
[--zone=<zone>] --list-al1 :显示所有指定区域的所有规则,省略--zone=<zone>时表示仅对默认区域操作

[--zone=<zone>] --list-services :显示指定区域内允许访问的所有服务
[--zone=<zone>] --add-service=<service> :为指定区域设置允许访问的某项服务
[--zone=<zone>] --remove-service=<service> :删除指定区域已设置的允许访问的某项服务

[--zone=<zone>] --list-ports :显示指定区域内允许访问的所有端口号
[--zone=<zone>] --add-port=<portid> [-<portid>]/<protocol> :为指定区域设置允许访问的某个/某段端口号(包括协议名)
[--zone=<zone>] --remove-port=<portid> [-<portid>]/<protocol> :删除指定区域已设置的允许访问的端口号(包括协议名)

[--zone=<zone>] --list-icmp-blocks :显示指定区域内拒绝访问的所有ICMP类型
[--zone=<zone>] --add-icmp-block=<icmptype> :为指定区域设置拒绝访问的某项ICMP类型
[--zone=<zone>] --remove-icmp-block=<icmptype> :删除指定区域已设置的拒绝访问的某项ICMP类型
firewall-cmd --get-icmptypes :显示所有ICMP类型

永久保存设置
方法一:
在命令的结尾加入 --permanent 设置成永久生效,需要重启服务或重新加载 后才生效
firewall-cmd --add-service=http --add-service=https --permanent
firewall-cmd --reload	
firewall-cmd --list-all	

方法二:
 --runtime-to-permanent:将当前的运行时配置写入规则配置文件中,使之成为永久性配置
root@localhost ~]#firewall-cmd  --add-service={ftp,https} 
[root@localhost ~]#firewall-cmd   --list-service
[root@localhost ~]#firewall-cmd  --runtime-to-permanent
[root@localhost ~]#systemctl restart firewalld
[root@localhost ~]#firewall-cmd   --list-service

 

2、区域管理

(1)显示当前系统中的默认区域
   firewall-cmd --get-default-zone
(2)显示默认区域的所有规则
   firewall-cmd --list-all
(3)显示当前正在使用的区域及其对应的网卡接口
   firewall-cmd --get-active-zones
(4)设置默认区域
   firewall-cmd --set-default-zone=home
   firewall-cmd --get-default-zone

 3、服务管理 

(1)查看默认区域内允许访问的所有服务
   firewall-cmd --list-service

(2)添加httpd 服务到public 区域
   firewall-cmd --add-service=http --zone=public

(3)查看public区域已配置规则
   firewall-cmd --list-all --zone=public

(4)删除public区域的httpd服务
   firewall-cmd --remove-service=http --zone=public

(5)同时添加httpd、https服务到默认区域,设置成永久生效
   firewall-cmd --add-service=http --add-service=https --permanent
   firewall-cmd --reload
   firewall-cmd --list-al1
#添加使用--permanent选项表示设置成永久生效,需要重新启动firewalld服务或执行firewall-cmd --reload命令
重新加载防火墙规则时才会生效。若不带有此选项,表示用于设置运行时规则,但是这些规则在系统或firewalld服务重启、停止时配置将失效。

--runtime-to-permanent   :将当前的运行时配置写入规则配置文件中,使之成为永久性配置。

4、端口管理

(1)允许TCP的443端口到internal区域
   firewall-cmd --zone=internal --add-port=443/tcp
   firewall-cmd --list-all --zone=internal

(2)从internal区域将TCP的443端口移除
   firewall-cmd --zone=internal --remove-port=443/tcp

(3)允许UDP的2048-2050端口到默认区域
   firewall-cmd --add-port=2048-2050/udp
   firewall-cmd --list-all

5、设置地址转换

(1)设置 SNAT

firewall-cmd --zone=public --direct --passthrough ipv4 -t nat -A POSTROUTING -s 192.168.80.0/24 -j SNAT --to-source 12.0.0.1

(2)设置 DNAT

firewall-cmd --zone=public --direct --passthrough ipv4 -t nat -A PREROUTING -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.80.11

 八、拓展:Firewalld的富规则

Firewalld的富规则是一种更高级别的防火墙规则,它允许用户使用更复杂的条件来定义防火墙策略。富规则包括源和目标地址、端口、协议、服务、接口等多个条件,可以更细粒度地控制网络流量。以下是一些常见的富规则:

1.允许特定IP地址访问特定端口

firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'

2.允许特定IP地址访问特定服务 

firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="http" accept'

3.拒绝特定IP地址访问特定端口 

firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" reject'

4.允许特定接口访问特定端口 

firewall-cmd --add-rich-rule='rule family="ipv4" interface name="eth0" port protocol="tcp" port="22" accept'

5.允许特定IP地址访问特定端口,并限制连接次数 

firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" limit value="5/m" accept'

6.允许特定IP地址访问特定端口,并设置连接超时时间

firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" timeout value="30s" accept'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/555457.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaScript中的tab栏切换制作(排他思想)

文章目录 实现效果图排他思想tab栏切换制作思路代码部分 实现效果图 整个页面分为2个部分&#xff0c;tab_list部分&#xff08;上半部分&#xff09;和tab_con部分&#xff08;下半部分&#xff09; tab_list部分包含5个li&#xff0c;它们分别与tab_con部分的5个div盒子一一…

Eyeshot Fem 2023.1 你选Fem还是Ultimate Crack

Eyeshot Fem--当然选Fem Everything in Ultimate, plus Geometry meshing and Finite Element Analysis. Scope Modules Image Gallery Features Scope Eyeshot Fem edition is designed for Geometry meshing and Finite Element Analysis. Modules Geometric modules includ…

《终结拖延症》重新拥有计划每天的自信和控制力

关于作者 威廉区瑙斯&#xff0c; 美著名心理治疗 专家 &#xff0c; 拥有 超过 30 年 心的 理治疗 经 &#xff0c;验 他 专 精的研究 领域 &#xff0c; 是 为 代 都 市 群提 供负 面 心 理 引 导 和 治疗 &#xff0c; 比 如 抑郁 、 心 理 亚健 康 、 拖 延 症 等 等 。 除…

redis未授权访问漏洞利用+redis日志分析

redis未授权访问漏洞利用redis日志分析 redis未授权访问 远程连接redis kali: redis-cli -h IP redis常用语句 set key “value” 设置键值对 get key 获得值 incr intkey 数字类型值加1 keys * 获取当前数据库中所有的键 config set dir /home/test 设置工作目录 config set…

VMware ESXi 6.5 U3 Final - ESXi 6 系列最终版下载

VMware ESXi 6.5 U3 Final - ESXi 6 系列最终版下载 VMware ESXi 6 Standard 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-esxi-6/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org VersionRelease NameRelease …

weblogic CVE-2014-4210 SSRF漏洞

CVE-2014-4210 SSRF漏洞 Weblogic 中存在一个SSRF漏洞&#xff0c;利用该漏洞可以发送任意HTTP请求&#xff0c;进而可以攻击内网中Redis、Fastcgi等脆弱组件 该漏洞存在于/uddiexplorer/SearchPublicRegistries.jsp SSRF&#xff1a;服务端请求伪造&#xff0c;伪造存在该漏洞…

Spring : XML配置 JavaBean源码解析

文章目录 前言一、xml 加载 Bean 对象总结XML加载Bean对象 前言 跟着大佬走&#xff01;&#xff01;&#xff01;&#xff01; https://github.com/DerekYRC/mini-spring 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、xml 加载 Bean 对象 大家先…

企业型OV,增强型EV证书开通审核流程

选购 OV、EV型证书需要是企业用户&#xff0c;申请过程中需要提交企业资料。 选择证书品牌及型号 管理中心补全审核资料 下载“确认函”签字盖章并扫描&#xff0c;再上传。 审核部门联系确认企业信息&#xff0c;&#xff08;过需要7-10个工作日&#xff09; 审核通过&…

单商户高级版商城系统v2.3.0更新啦~

​likeshop单商户高级版商城系统更新至v2.3.0版本~主要更新内容如下&#xff1a; 新增 商品增加限购功能 小程序新版本更新提示 商品分类创建后可以显示该分类下有多少商品 积分商品列表新增封面图 商品支持批量移动分类 后台产品正版检测 优化 分销功能关闭时&#xff…

网络安全 2023 年为什么如此吃香?事实原来是这样....

前言 “没有网络安全就没有国家安全”。当前&#xff0c;网络安全已被提升到国家战略的高度&#xff0c;成为影响国家安全、社会稳定至关重要的因素之一。 网络安全行业特点 1、就业薪资非常高&#xff0c;涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万…

机器学习基础知识之预测性能评价指标

文章目录 预测性能评价思路1、均方误差&#xff08;Mean Square Error&#xff0c;MSE&#xff09;2、均方根误差&#xff08;Root Mean Square Error&#xff0c;RMSE&#xff09;3、平均绝对误差&#xff08;Mean Absolute Error&#xff0c;MAE&#xff09;4、平均绝对百分比…

多线程-线程创建方式1:继承Thread类

线程创建方式1&#xff1a;继承Thread类 概述 Java语言的JVM允许程序运行多个线程&#xff0c;使用java.lang.Thread类代表线程&#xff0c;所有的线程对象都必须是Thread类或其子类的实例。Thread类的特性 每个线程都是通过某个特定Thread对象的run()方法来完成操作的&#…

LeetCode:1049.最后一块石头的重量II 494.目标和 474.一和零

1049.最后一块石头的重量II 题目 有一堆石头&#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x < y。那么粉碎的可能…

pygam第5课——自制音乐播放器

前言&#xff1a;前几节课我们已经学会了很多知识点&#xff0c;欢迎大家可以去考古一下 今天我们将学习加载音乐&#xff0c;并且自制一个音乐播放器&#xff0c;界面功能包括&#xff1a; 加载背景封面上一首开始\暂停下一首重播随机播放快进 效果展示(GIF所以你们听不到声…

day6 广播及实现

什么是广播 数据包发送方式只有一个接受方&#xff0c;称为单播 如果同时发给局域网中的所有主机&#xff0c;称为广播 只有用户数据报(使用UDP协议)套接字才能广播 广播地址&#xff1a; 一个网络内主机号全为1的IP地址为广播地址 发到该地址的数据包被所有的主机接收 255…

MT6833(天玑 700)处理器参数_芯片规格_性能介绍

MT6833&#xff08;天玑700&#xff09;是一款出色的基带处理器&#xff0c;具有许多优秀的功能&#xff0c;并且采用了强大的八核CPU&#xff0c;其中包括两个主频高达2.2GHz的Arm Cortex-A76核心。此外&#xff0c;他还配备了LPDDR4X内存和UFS 2.2存储&#xff0c;大大提高了…

MyBatis中的#{}和${}有什么区别?

首先#{} 和 ${} 都是参数占位符&#xff0c;其中#{}是预编译处理&#xff0c;${}是字符直接进行替换。预编译处理是指&#xff1a;MyBatis 在处理#{}时&#xff0c;会将 SQL 中的 #{} 替换为?号&#xff0c;使⽤ PreparedStatement 的 set ⽅法来赋值。直接替换是指MyBatis 在…

【谷粒商城笔记】2. 创建项目与运行

1. 创建微服务项目 共分为下面五个 商品服务product 存储服务ware 订单服务order 优惠券服务coupon 用户服务member 1.1 新建github/gitee项目 首先去github新建项目 在IDEA中导入项目 从版本控制(Version Control)新建Project 选择路径和git链接 1.2 创建微服务 新建…

modscan模拟数据,nodred通过modbus协议向emqx创建规则引擎写入TDengine库

nodred通过modbus协议向emqx创建规则引擎写入TDengine库过程 一、emqx存储数据到TDEngine数据库1.1 进入emqx界面1.2 新建资源1.3 新建规则引擎1.4 测试 二、modscan模拟设备数据三、在Node-RED上模拟Modbus通讯3.1 nodeRed环境搭建3.2 nodeRed使用3.3 nodered读取modbus发送的…

Firewalld

目录 firewalld概述 firewalld 与 iptables 的区别 firewalld 区域的概念 firewalld防火墙预定义了9个区域 firewalld数据处理流程 firewalld检查数据包的源地址的规则 firewalld防火墙的配置方法 常用的firewall-cmd 命令选项 区域管理 服务管理 ​编辑端口管理 设…