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 目的地址转换地址

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

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

相关文章

java中的抽象类到底如何用

抽象类的使用 一、设计模式中的使用1. 模板方法模式2. 抽象工厂模式 二、扩展性和灵活性三、为什么开发时抽象类用的很少&#xff0c;反而用接口的很多 一、设计模式中的使用 1. 模板方法模式 1.定义&#xff1a;当你需要为一组相关类提供一个操作的框架&#xff0c;其中一些…

【Muduo】三大核心之EventLoop

Muduo网络库的EventLoop模块是网络编程框架中的核心组件&#xff0c;负责事件循环的驱动和管理。以下是对EventLoop模块的详细介绍&#xff1a; 作用与功能&#xff1a; EventLoop是网络服务器中负责循环的重要模块&#xff0c;它持续地监听、获取和处理各种事件&#xff0c;…

10个最佳Android数据恢复工具,用于恢复已删除的文件

由于我们现在在智能手机上存储了许多重要文件&#xff0c;因此了解数据恢复工具变得很重要。您永远不会知道何时需要使用适用于Android的数据恢复工具。 由于不乏Windows数据恢复工具&#xff0c;因此从崩溃的计算机中恢复文件很容易。但是&#xff0c;当涉及到从Android恢复数…

兆原数通基于Apache SeaTunnel的探索实践

随着大数据技术的不断发展&#xff0c;数据同步工具在企业中的应用变得愈发重要。为了满足复杂多样的业务需求&#xff0c;找到一款高效、灵活的数据同步工具变得尤为关键。 在这篇文章中&#xff0c;我们将分享兆原数通研发经理李洪军对Apache SeaTunnel的选择、应用及经验。这…

jinkens打包前端依赖下载失败怎么办

不知道有没有小伙伴遇见这种问题&#xff0c;项目在本地可以正常下载、运行打包&#xff0c;但在jinkens上就不行了&#xff0c;配置了几种镜像也还是不行&#xff0c;这要如何解决呢&#xff1f; 那就只能去到jinkens配置的工作空间那里&#xff0c;找到对应的项目 &#xff…

Django使用Celery实现异步和定时任务功能

1、装库 celery==4.4.2 django-celery-beat==2.2.0 django-celery-results==2.0.12、添加应用 安装完依赖之后,把上面的两个应用添加到Django配置文件settings.py的INSTALLED_APPS里面: 添加celery配置信息 在项目的配置文件中添加如下配置信息,具体的配置作用见注释 I…

YOLOv5/v7 应用轻量级通用上采样算子CARAFE

1. 介绍 CARAFE&#xff08;Content-Aware ReAssembly of FEatures&#xff09;是一种轻量级的通用上采样算子&#xff0c;它可以用于提高卷积神经网络&#xff08;CNN&#xff09;中特征图的分辨率。CARAFE 的特点是计算量小、参数少、易于实现&#xff0c;因此非常适合用于移…

开放重定向漏洞

开放重定向漏洞 1.开放重定向漏洞概述2.攻击场景&#xff1a;开放重定向上传 svg 文件3.常见的注入参数 1.开放重定向漏洞概述 开放重定向漏洞&#xff08;Open Redirect&#xff09;是指Web应用程序接受用户提供的输入&#xff08;通常是URL参数&#xff09;&#xff0c;并将…

代码随想录算法训练营第四十五天|139.单词拆分

139.单词拆分 这题首先肯定是排序问题而不是组合问题&#xff0c;因为单词的顺序是一定的&#xff0c;所以组成单词的字符串顺序也是一定的。所以应该先循环背包容量&#xff0c;再循环物品个数。 背包容量就是s字符串&#xff0c;物品就是数组中的单词&#xff0c;字符串的循…

Kubernetes 文档 / 概念 / 工作负载 / Pod / Init 容器

Kubernetes 文档 / 概念 / 工作负载 / Pod / Init 容器 此文档从 Kubernetes 官网摘录 中文地址 英文地址 本页提供了 Init 容器的概览。Init 容器是一种特殊容器&#xff0c;在 Pod 内的应用容器启动之前运行。Init 容器可以包括一些应用镜像中不存在的实用工具和安装脚本。…

总结优秀的prompt案例,学习更有效的prompt提示词工程写法,值得收藏

Prompt 提示词工程大多数人都在用&#xff0c;而且都会用&#xff0c;但是不一定写的好&#xff1f;很多人都在想怎么写好&#xff0c;更能满足自己的业务需求&#xff0c;或者实际场景。 我最近工作中也写了很多的prompt&#xff0c;像zero-shot、few-shot、COT这些都尝试过、…

FSC认证是什么?森林认证的好处是什么?

FSC认证&#xff08;Forest Stewardship Council&#xff0c;森林管理委员会认证&#xff09;是一种运用市场机制来促进森林可持续经营&#xff0c;实现生态、社会和经济目标的工具。以下是关于FSC认证的详细介绍&#xff1a; 一、FSC认证包括两个方面&#xff1a; 森林经营认…

乡村振兴与农业现代化:以现代农业科技为引领,提升农业综合生产能力,打造高产高效、生态安全的美丽乡村

目录 一、引言 二、现代农业科技在乡村振兴中的作用 &#xff08;一&#xff09;提高农业生产效率 &#xff08;二&#xff09;促进农业产业升级 &#xff08;三&#xff09;改善农村生态环境 三、提升农业综合生产能力的途径 &#xff08;一&#xff09;加强农业科技研…

spring中依赖注入(DI)是什么?

好的&#xff0c;让我以尽可能通俗易懂的方式来解释什么是依赖注入&#xff08;DI&#xff0c;Dependency Injection&#xff09;。 假设你正在制作一款游戏&#xff0c;游戏中有个角色需要使用武器。在没有依赖注入的情况下&#xff0c;这个角色可能需要自己创建一个武器。这…

计算理论基础:4、复杂性理论

复杂性理论 c e n t e r p r o b l e m : P ≠ N P center\ \ problem:P \ne NP center problem:PNP 1.P、EXP、NP 定义1 D T I M E DTIME DTIME ​ T : N → N T:\N\rightarrow \N T:N→N,语言 L ∈ D T I M E ( T ( n ) ) L\in DTIME(T(n)) L∈DTIME(T(n)),当且仅当存…

Diffusion Policy:基于扩散模型的机器人动作生成策略

项目地址&#xff1a; Diffusion Policy (columbia.edu) 一、摘要 本文介绍了 "扩散策略"&#xff0c;这是一种生成机器人行为的新方法&#xff0c;它将机器人的视觉运动策略&#xff08;visuomotor policy&#xff09;表示为条件去噪扩散过程&#xff08;conditi…

添加、修改和删除列表元素

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 添加、修改和删除列表元素也称为更新列表。在实际开发时&#xff0c;经常需要对列表进行更新。下面我们介绍如何实现列表元素的添加、修改和删除。 …

TypeScript进阶 类型演算与高级内置类型

简介&#xff1a; TypeScript 是一种静态类型检查的 JavaScript 超集&#xff0c;它通过类型注解和类型推断来提供更强大的类型系统。在 TypeScript 中&#xff0c;类型演算是一种重要的概念&#xff0c;它允许我们在编译时对类型进行操作和计算。本文将深入探讨 TypeScript 类…

如何使用Matlab进行三角剖分(自定义函数实现delaunayTriangulation 使用Bowyer-Watson 算法)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、Delaunay三角形 二、使用步骤 1.Bowyer-Watson算法 2.算法步骤 三、动画演示 四、核心代码 五、对比matlab自带函数和我们的算法&#xff1a; 总结 前…

谷歌开源项目BERT源码解读与应用实例

数据及代码见文末 基于BERT的中文情感分析实战:基于BERT的中文情感分析实战-CSDN博客 基于BERT的中文命名实体识别识别实战:基于BERT的中文命名实体识别识别实战-CSDN博客 1.项目配置文件 GLUE/BERT_BASE_DIR是项目的预训练权重,预训练权重主要包含3个部分:参数配置文件…