firewalld

一、Firewalld概述

  • Firewalld

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

        支持IPV4、IPV6防火墙设置以及以太网桥

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

        拥有两种配置模式

                运行时配置

                永久配置

二、Firewalld和iptables的关系

  • netfilter

        位于Linux内核中的包过滤功能体系

        称为Linux防火墙的“内核态”

  • Firewalld/iptables

        Centos默认的管理防火墙规则的工具

        称为防火墙的“用户态”

  • Firewalld和iptables的区别

Firewalldiptables
配置文件/usr/lib/firewalld/
/etc/firewalld/
/etc/sysconfig/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网络区域

  • 区域介绍

        区域如同进入主机的安全门,每个区域都具有不用限制程度的规则

        可以使用一个或多个区域,但是任何一个活跃区域至少需要关联源地址或接口

        默认情况下,public区域是默认区域,包含所有接口(网卡)

trusted
(信任区域)
允许所有的传入流量
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的错误响应
  • 最终一个区域的安全程度是取决于管理员在此区域中设置的规则;
  • 区域如同进入主机的安全门,每个区域都具有不同限制程度的规则,只会允许符合规则的流量传入;
  • 可以根据网络规模,使用一个或多个区域,但是任何一个 活跃区域 至少需要关联 源地址或接口;
  • 默认情况下,public区域是默认区域,包含所有接口(网卡)
  • Firewalld数据处理流程

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

  • 检查数据来源的源地址

        若源地址关联到特定的区域,则执行该区域所指定的规则

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

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

四、Firewalld防火墙的配置方法

  • 运行时配置

        实时生效,并持续至Firewalld重新启动或重新加载配置

        不中断现有连接

        不能修改服务配置

  • 永久配置

        不立即生效,除非Firewalld重新启动或重新加载配置

        中断现有连接

        可以修改服务配置


  • Firewalld-config图形工具
  • Firewalld-cmd命令行工具
  • /etc/firewalld/中的配置文件

        Firewalld会优先使用/etc/firewalld/中的配置,如果不存在配置文件,则使用/usr/lib/firewalld/中的配置

            /etc/firewalld/:用户自定义配置文件,需要时可通过从/etc/lib/firewalld/中拷贝

            /usr/lib/firewalld/:默认配置文件,不建议修改,若恢复至默认配置,可直接删除/etc/firewalld/中的配置


systemctl start firewalld.service
--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> :        #为指定的区域删除绑定的网络接口

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

--list-all-zones :        #显示所有区域及其规则
[--zone=<zone>] --list-all :        #显示所有指定区域的所有规则,省略--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 类型

  • 区域管理

        显示当前系统中的默认区域

firewall-cmd --get-default-zone

        显示默认区域的所有规则

firewall-cmd --list-all

        显示当前正在使用的区域及其对应的网卡接口

firewall-cmd --get-active-zones

        设置默认区域

firewall-cmd --set-default-zone=home
firewall-cmd --get-default-zone
  • 服务管理

        查看默认区域内允许访问的所有服务

firewall-cmd --list-service

        添加httpd 服务到public 区域

firewall-cmd --add-service=http --zone=public

        查看public 区域已配置规则

firewall-cmd --list-all --zone=public

        删除public 区域的httpd 服务

firewall-cmd --remove-service=http --zone=public

        同时添加httpd、https 服务到默认区域,设置成永久生效

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

firewall-cmd --runtime-to-permanent:        #将当前的运行时配置写入规则配置文件中,使之成为永久性配置
  • 设置地址转换

        设置 SNAT

firewall-cmd --zone=区域 --direct --passthrough ipv4 -t nat -A POSTROUTING -s 源地址 -j SNAT --to-source 源地址转换地址

        设置 DNAT

firewall-cmd --zone=区域 --direct --passthrough ipv4 -t nat -A PREROUTING -d 目的地址 -p tcp --dport 目的端口 -j DNAT --to-destination 目的地址转换地址

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

4. Java多线程面试题汇总

Java全栈面试题汇总目录-CSDN博客 1. 为什么要使用并发编程 充分利用多核CPU的计算能力&#xff1a;通过并发编程的形式可以将多核CPU的计算能力发挥到极致&#xff0c;性能得到提升方便进行业务拆分&#xff0c;提升系统并发能力和性能&#xff1a;在特殊的业务场景下&#…

微服务架构-数据共享设计模式

微服务架构-数据共享设计模式 每个微服务拥有自己的数据库&#xff0c;可以独立地进行数据库架构设计、部署和维护。这种是属于常规的方式&#xff0c;不受其他微服务的影响&#xff0c;具有高度的自治性。 然而&#xff0c;在将单体应用拆分成微服务时&#xff0c;可能会遇到…

Stable Diffusion简单食用方法

1.下载 1.1打开B站 哔哩哔哩 (゜-゜)つロ 干杯~-bilibili哔哩哔哩&#xff08;bilibili.com)是国内知名的视频弹幕网站&#xff0c;这里有及时的动漫新番&#xff0c;活跃的ACG氛围&#xff0c;有创意的Up主。大家可以在这里找到许多欢乐。https://www.bilibili.com/ 1.2搜索…

纯血鸿蒙APP实战开发——边缓存边播放案例

介绍 OhosVideoCache是一个支持边播放边缓存的库&#xff0c;只需要将音视频的url传递给OhosVideoCache处理之后再设置给播放器&#xff0c; OhosVideoCache就可以一边下载音视频数据并保存在本地&#xff0c;一边读取本地缓存返回给播放器&#xff0c;使用者无需进行其他操作…

低耦合双写一致性方案-使用canal+MQ

需求&#xff1a;继上一篇使用xxljob实现数据的全量同步到es后&#xff0c;当数据库中新增、删除、修改数据时&#xff0c;应该对es中的对应索引库实现增量同步。 本文介绍了2种双写一致性方案&#xff0c;对其中使用MQ的方案进行了实现。 1. 方案设计 1.1 数据一致性问题分析…

vue 点击复制文本到剪贴板

一、首先在vue文件的template中定义复制按钮 <div size"small" v-if"item.prop jadeCode" class"cell-container"><span>{{ scope.row.jadeCode }}</span> <button click"handleCopy(scope.row.jadeCode)" clas…

js——数据操作——实现阶梯价格排序——基础积累

最近在写网络报价的时候&#xff0c;遇到一个需求&#xff0c;就是要根据采购数量&#xff0c;找到符合数量的阶梯区间&#xff0c;并找到最便宜的采购价格。 比如下面&#xff1a; let originViewList [{id:1,incrementalQuantity:10,priceList:[{minQuantity:1,price:20},…

el-upload上传图片,视频可获取视频时长。

对element-ui组件的upload组件再一次封装&#xff0c;简单记录。下面是效果图。 注意点&#xff1a;该组件现在仅支持单图和单个视频上传。 <template><div :style"myStyle"><divclass"uploads":style"{width: upWith px,height: up…

零门槛微调大模型:基于 Ludwig 低代码框架使用 LoRA 技术微调实践

一、Ludwig 介绍 自然语言处理 (NLP) 和人工智能 (AI) 的飞速发展催生了许多强大的模型&#xff0c;它们能够理解和生成如同人类般的文本&#xff0c;为聊天机器人、文档摘要等应用领域带来了革命性的改变。然而&#xff0c;释放这些模型的全部潜力需要针对特定用例进行微调。…

我用通义千问做了个银从初级法规考试答题AI助手

我用通义千问做了个银从初级法规考试答题AI助手 起因方法&#xff1a;创建方法&#xff1a;微调成果展示 起因 多选考试实在太难了&#xff0c;惨不忍睹的正确率&#xff0c;博主我就想有一个专门刷多选的工具&#xff0c;但找了半天没找到。然后就想到用通义试试&#xff0c;…

MySQL 服务无法启动

常见原因: 检查端口占用&#xff1a; 使用命令行工具&#xff08;如netstat&#xff09;来检查3306端口是否已被其他程序占用,输入netstat -ano&#xff08;Windows&#xff09;或netstat -tulnp | grep 3306&#xff08;Linux/Mac&#xff09;来查找3306端口的占用情况。如果…

excel转pdf并且加水印,利用ByteArrayOutputStream内存流不产生中间文件

首先先引入包&#xff1a;加水印和excel转PDF的 <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.12</version></dependency><dependency><groupId>org.apache.poi&l…

【Numpy】深入解析numpy.diag()函数

numpy.diag()&#xff1a;深入探索NumPy库中的对角矩阵操作 &#x1f308; 欢迎莅临我的个人主页&#x1f448;这里是我深耕Python编程、机器学习和自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;并乐于分享知识与经验的小天地&#xff01;&#x1f387; &#x1f3…

统计绘图:基于matplotlib包绘制双轴图

本文介绍通过 Python的matplotlib包 绘制 双轴图&#xff08;Dual Y-Axis Plot&#xff09;&#xff0c;即双 y 轴图&#xff0c;又称双纵坐标图。 这类图表的主要用途是显示两个具有不同数值范围的变量在同一 x 轴上的 变化趋势&#xff0c;从而便于比较和分析。&#xff08;…

docker中安装jenkins,并在node和cloud上跑通基于源码控制SCM的pipeline

目录 一、摘要 二、部署和使用 1. docker部署jenkins 1.1 准备数据目录 1.2 拉取jenkins镜像并启动 1.3 初始化配置 1.3.1 登录容器查看初始化密码 1.3.2 访问jenkins并输入初始化密码 1.3.3 创建管理员账户 1.3.4 初始化完成 2. jenkins使用之多分支流水线 2.1 准…

大模型落地竞逐,云计算大厂“百舸争流”

作者 | 辰纹 来源 | 洞见新研社 从ChatGPT到Sora&#xff0c;从图文到视频&#xff0c;从通用大模型到垂直大模型……经过了1年多时间的探索&#xff0c;大模型进入到以落地为先的第二阶段。 行业的躁动与资本的狂热相交汇&#xff0c;既造就了信仰派的脚踏实地&#xff0c;也…

适用于当下的红色系统可视化大屏,大量图。

特定场合下使用红色系可视化大屏是可以的&#xff0c;但是千万要注意时间和场合&#xff0c;平时最好别用。

获取支持Windows7的最新Edge离线版本

从110版本开始&#xff0c;微软Edge和谷歌停止了对Win7、Win8/8.1的支持&#xff0c;后续又发布了几版安全更新&#xff0c;截止目前为止&#xff0c;能支持Win7的版本是 109.0.1518.140。 如果你想用最新版本谷歌浏览器&#xff0c;可以考虑下Supermium&#xff0c;这个浏览器…

内存马实战(持续更新中)

注&#xff1a;这篇文章记录在我的语雀里面&#xff0c;语雀格式好看一点&#xff0c;地址&#xff1a; https://ganmaocai.yuque.com/ghgp8x/zoy1yn/faet35ae9gpxzn61 计划 复现以下框架的内存马注入&#xff1a; shiro&#xff1a; 普通内存马 冰蝎马 WebSocket马 xxl-job…

C++ 计时器

文章目录 一、简介二、实现代码2.1 windows平台2.2 C标准库 三、实现效果 一、简介 有时候总是会用到一些计时的操作&#xff0c;这里也整理了一些代码&#xff0c;包括C标准库以及window自带的时间计算函数。 二、实现代码 2.1 windows平台 StopWatch.h #ifndef STOP_WATCH_H…