【linux网络】firewalld 防火墙

news2024/10/5 13:47:48

firewalld防火墙

  • 一、firewalld防火墙
    • 1.1firewalld防火墙概述
    • 1.2firewalld与iptables的区别
    • 1.3Firewalld网络区域
    • 1.4firewalld数据处理的流程
    • 1.5firewalld防火墙的配置方法
  • 二、firewall-cmd的命令选项
    • 2.1默认区域
    • 2.2网卡接口增删改查区域
    • 2.3源地址增删改查区域
    • 2.4区域规则的增删改查
    • 2.5设置永久生效--permanent
    • 2.6设置地址转换

一、firewalld防火墙

1.1firewalld防火墙概述

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

1.2firewalld与iptables的区别

(1).iptables主要是基于接口,来设置规则,从而判断网络的安全性。
firewalld是基于区域,根据不同的区域来设置不同的规则,从而保证网络的安全。与硬件防火墙的设置相类似。
(2).iptables 在 /etc/sysconfig/iptables 中储存配置,
firewalld 将配置储存在 /etc/firewalld/(优先加载)和 /usr/lib/firewalld/(默认的配置文件)中的各种 XML 文件里。
(3).使用 iptables 每一个单独更改意味着清除所有旧有的规则和从/etc/sysconfig/iptables 里读取所有新的规则
使用 firewalld 却不会再创建任何新的规则,仅仅运行规则中的不同之处。因此firewalld 可以在运行时间内,改变设置而不丢失
现行连接。

在这里插入图片描述

1.3Firewalld网络区域

  • firewalld防火墙为了简化管理,将所有网络流量分为多个区域(zone)。然后根据数据包的源IP地址或传入的网络接口等条件将流量传入相应区域。每个区域都定义了自己打开或者关闭的端口和服务列表。
    firewalld防火墙预定义九个区域
  • 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的错误响应。

1.4firewalld数据处理的流程

  • 先检查传入数据包的源地址,若源地址与特定区域绑定,则使用该区域的规则过滤数据包
  • 若源地址与特定区域没有绑定,且数据包传入网卡与特定区域绑定,则使用绑定网卡的区域的规则过滤数据包
  • 若也没有区域绑定网卡,则使用默认区域的规则过滤数据包

1.5firewalld防火墙的配置方法

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

图形工具
在这里插入图片描述编写配置文件
在这里插入图片描述

二、firewall-cmd的命令选项

2.1默认区域

fiewall-cmd --get-defalut-zone #显示当前默认区域
fiewall-cmd --set-defalut-zone=home #设置当前默认区域为home

在这里插入图片描述

2.2网卡接口增删改查区域

firewall-cmd --get-active-zones #显示当前正在使用的区域及对应的网卡接口
firewall-cmd --get-zones #显示所有可用区域
firewall-cmd -get-zone-of-interface=ens33 #查看ens33绑定的区域
firewall-cmd -add-interface=ens33 --zone=home #为指定的网卡接口绑定区域
firewall-com --change-interface=public #更改指定网卡的区域
firewall-com --remove-interface=public #删除指定网卡接口的区域

在这里插入图片描述

2.3源地址增删改查区域

#指定源地址绑定区域
firewall-cmd --add-source=192.168.243.0/24 --zone-public
#为指定的区域更改绑定的源地址
firewall-cmd --change-source=192.168.243.0/24 --zone-public
#删除源地址的区域
firewall-cmd --remove-source=192.168.243.0/24 --zone-public

在这里插入图片描述

2.4区域规则的增删改查

指定服务增删改查

--list-all-zone #显示所有区域及其规则
--list-all --zone=waok #显示指定区域的所有规则
--list-services --zone=work #显示指定区域允许访问的所有服务
--add-service=http --zone=work #指定区域允许某项服务访问
--remove-sevice=http --zone=work #删除指定区域的某项服务的访问权限

在这里插入图片描述指定端口号增删改查

#查看所有区域允许访问的端口号
--list-port --zone=work
#为指定区域设置允许访问的端口号/某段端口号(包括协议名)
--add-port=80/tcp --zone=work
--add-port=20-24/tcp --zone=work
--add-port={53,443}/tcp --zone=work
#删除指定区域已设置的允许访问的端口号
--remove-port=80/tcp --zone=work
--remove-port=20-24/tcp --zone=work
--remove-port={53,443}/tcp --zone=work

在这里插入图片描述ICMP类型的增删改查

  • 其它规则是默认拒绝所有,添加即允许
  • ICMP是默认允许所有,添加即拒绝
#显示所有ICMP类型
--get-icmptypes
#显示指定区域拒绝访问的icmp类型
--list-icmp-blocks --zone=work
#为指定区域设置拒绝访问的某个ICMP类型
--add-icmp-blocks=   --zone=work
#删除指定区域设置的拒绝访问某项ICMP类型
--remove-icmp-blocks   --zone=work

在这里插入图片描述

2.5设置永久生效–permanent

#设置服务永久配置,需要重启firewalld服务生效
firewall-cmd --add-service={http,https} --zone=work --permanent
#重载firewalld服务,不需要重启服务,也可以生效
firewalld-cmd --reload 
#将所有运行时配置变成永久配置
firewalld-cmd --runtime-to-premanent
#删除
firewalld-cmd -remove-service={http,https} --zone=work

在这里插入图片描述

2.6设置地址转换

#设置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
#设置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






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

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

相关文章

接口测试之测试原则、测试用例、测试流程......

之前都是在网上杂乱得看了很多接口测试的资料,但总感觉不够系统,特地找了本书重新系统的学习一下,结合之前收集的一些资料查漏补缺。 《接口自动化测试持续集成postman》,这本大部分内容还是讲的是 postman 工具的使用方法&#…

spark应用程序的执行

1 SparkContext -》{ sparkconf --配置对象,基础配置 sparkEnv --环境对象,通讯环境 SchedulerBackend --通讯后台 住哟啊用于和Executor之间进行通讯 TaskScheduler – 任务调度器 任务调度 DAGScheduler – 阶段调度器 阶段划分 } spark.sparkContext…

贪心算法专练

⭐️前言⭐️ 本篇文章主要分享几道贪心算法的题目,贪心算法是一种基于自然智慧的算法,这类题目并没有统一的解法,但通常都是每一步做出一个局部最优的选择,最终的结果就是全局最优。 🍉欢迎点赞 👍 收藏 …

图神经网络:(化学领域)再次认识图神经网络

文章说明: 1)参考资料:PYG官方文档。超链。 2)博主水平不高,如有错误还望批评指正。 3)我在百度网盘上传了这篇文章的jupyter notebook和有关文献。超链。提取码8848。 文章目录 Mutagenicity数据集搭建模型训练模型文献阅读重新回来 Mutagen…

day36_JQuery

今日内容 零、 复习昨日 一、正则表达式 二、JQuery 零、 复习昨日 零、正则表达式 Regular expression RegExp 0.1 正则表达式 正则表达式是描述字符模式的对象。正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。语法: va…

京东云技术团队 —— 浅谈测试用例设计

一、测试用例为什么存在 1.1 定义 测试用例(Test Case)是指对特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。测试用例内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档类的输出。简而言之&am…

04. 数据结构之栈

前言 栈(stack)是一种线性数据的逻辑存储结构。栈中的元素只能先入后出(First In Last Out,简称FILO)。最早进入的元素存放的位置叫作栈底(bottom),最后进入的元素存放的位置叫作栈…

网络故障老搞不定,就看这篇笔记

大家好,我是老杨。 做咱们这行,每天遇到的故障千奇百怪什么都有。很多网工每天只是在工作而已,遇到一个问题,就解决一个问题,每天的日子都是一样的,枯燥无趣。 但是,就很少有人去汇总问题&…

分布式事务的21种武器 - 1

在分布式系统中,事务的处理分布在不同组件、服务中,因此分布式事务的ACID保障面临着一些特殊难点。本系列文章介绍了21种分布式事务设计模式,并分析其实现原理和优缺点,在面对具体分布式事务问题时,可以选择合适的模式…

Scala学习(五)---面向对象

文章目录 1.Scala面向对象的构造器1.1 主构造器和从构造器(辅助构造器)1.2 主构造器参数 2.继承2.1 抽象属性和方法2.2 匿名子类 1.Scala面向对象的构造器 1.1 主构造器和从构造器(辅助构造器) //主构造器 class ConstructorTest(name:String) {//主构造器调用val name1:Stri…

【MyBatis框架】

文章目录 Mybatis1.简介1.1MyBatis历史1.2MyBatis特性1.3MyBatis下载1.4和其它持久化层技术对比 2.搭建MyBatis2.1创建maven工程2.2创建MyBatis的核心配置文件2.3创建mapper接口2.4创建实体类2.5创建MyBatis的映射文件2.6通过junit测试功能2.7加入log4j日志功能2.8MyBatis的增删…

pytorch的学习与总结(第二次组会)

pytorch的学习与总结 一、pytorch的基础学习1.1 dataset与dataloader1.2 可视化工具(tensorboard)、数据转换工具(transforms)1.3 卷积、池化、线性层、激活函数1.4 损失函数、反向传播、优化器1.5 模型的保存、加载、修改 二、 pytorch分类项目实现2.1 网络模型2.2 具体代码 一…

新星计划2023【《计算之魂》读书会】学习方向报名入口!

前排提醒:这里是新星计划2023【《计算之魂》读书会】学习方向的报名入口,一经报名,不可更换。 ↓↓↓报名方式:(下滑到本页面底部) 一、关于本学习方向导师 博客昵称:异步社区博客主页&#x…

AI大模型时代,云从科技携“从容大模型”入场如何“从容”?

5月18日,在“AI赋能数字中国产业论坛暨2023云从科技人机协同发布会”上,云从科技自研“从容大模型”正式亮相。 根据发布会信息,“从容大模型”具备问答、阅读理解、文学创作以及解题方面的能力。受发布会消息影响,5月18日午间休盘…

【libdatachannel】cmake+vs2022 构建

libdatachannel libdatachannel 是基于c++17实现的构建 OpenSSL 找不到 Selecting Windows SDK version 10.0.22000.0 to target Windows 10.0.22621. The CXX compiler identification is MSVC 19.35.32217.1 Detecting CXX compiler ABI info Detecting CXX compiler ABI inf…

利用GPIO线进行板间通信-23-5-22

本项目基于VU9P(xcvu9pflga2105)板卡以及ZYNQ(xc7z015clg485) 简单结构流程介绍: 1.上位机通过千兆网将指令下发到ZYNQ,ZYNQ进行解帧,将数据解析出来后存储到RAM中,RAM将数据不断输送给GPIO模块,GPIO模块根据对应地址输出数据是…

新来的00后实习生太牛了,已经被取代了.....

前几天有个朋友向我哭诉,说她在公司工作(软件测试)了7年了,却被一个00后实习生代替了,该何去何从? 这是一个值得深思的问题,作为职场人员,我们确实该思考,我们的工作会被…

1718_Linux命令模式下查看日历

全部学习汇总: GreyZhang/bash_basic: my learning note about bash shell. (github.com) 前面发布了一份学习笔记,涉嫌过渡宣传,虽然我也没搞懂为什么。有一系列修改建议,我觉得直接放弃了。还是发一份新的吧! Linux命…

【数据结构】哈希底层结构

目录 一、哈希概念 二、哈希实现 1、闭散列 1.1、线性探测 1.2、二次探测 2、开散列 2.1、开散列的概念 2.2、开散列的结构 2.3、开散列的查找 2.4、开散列的插入 2.5、开散列的删除 3、性能分析 一、哈希概念 顺序结构以及平衡树中,元素关键码与其存储位…

如何用Postman做接口自动化测试?

本文适合已经掌握 Postman 基本用法的读者,即对接口相关概念有一定了解、已经会使用 Postman 进行模拟请求等基本操作。 工作环境与版本: Window 7(64位)Postman (Chrome App v5.5.3) P.S. 不同版本页面 U…