firewalld高级配置

IP伪装与端口转发

        在互联网发展初期,设计者们并没有想到互联网会发展到现在这个空前繁荣的阶段,所以,设 计的Pv4地址空间只有32位.但是随着互联网的发展,P地址变得严重缺乏,并且地址分配不均匀, 所以就在原有Pv4地址空间的基础上划分出来三段私网地址空间:10.0.0.0/8.172.16.0.0/12和 192.168.0.0/16.这些地址可以在企业或者公司内部被重复使用,但是不能用于互联网,因为上述 三个范围内的地址无法在hternet 上被路由。

        于是NAT(网络地址转换)技术便产生了,当用户数据包经过NAT设备时,NAT设备将源地址 替换为公网IP地址,而返回的数据包就可以被路由,NAT技术一般都是在企业边界路由器或者防火 墙上来配置。

        Firewalld支持两种类型的NAT:IP地址伪装和端口转发,

1.IP地址伪装

        地址伪装(masquerade):通过地址伪装,NAT设备将经过设备的包转发到指定接收方,同时将 通过的数据包的源地址更改为其自己的接口地址.当返回的数据包到达时,会将目的地址修改为原 始主机的地址并做路由,地址伪装可以实现局域网多个地址共享单一公网地址上网,类似于NAT技术中的端口多路复用(PAT).P地址伪装仅支持Pv4,不支持Pv6。

2.端口转发

        端口转发(Forward-port):也称为目的地址转换或端口映射.通过端口转发,将指定P地址及 端口的流量转发到相同计算机上的不同端口,或不同计算机上的端口。企业内网的服务器一般都采 用私网地址,可以通过端口转发将使用私网地址的服务器发布到公网,以便让互联网用户访问,例 如,当接收互联网用户的HTTP请求时,网关服务器判断数据包的目标地址与目标端口.一旦匹配指 定规则,则将其目标地址修改为内网真正的服务器地址,从而建立有效连接。

firewalld中理解直接规则

        firewalld 提供了“direct interface”(直接接口).它允许管理员手动编写的iptables.ip6tables和 ebtables 规则插入firewalld管理的区域中,适用于应用程序,而不是用户,如果对iptables不太熟, 不建议使用直接接口,可能会无意中导致防火墙被入侵。firewalld 保持对所增加项目的追踪,所以 它还能质询firewalld和发现使用直接端口模式的程序造成的更改。直接端口通过firewall-cmd 命令 中的一一direct 选项实现,除非将直接规则显式插入firewalld管理的区域,否则将首先解析直接规则, 然后解析其他firewalld规则,执行以下命令即可添加一些直接规则以将某个IP范围列入黑名单。

使用富语言

        firewalld的富语言(rich language)提供了一种不需要了解 iptables语法的通过高级语言配置复杂 Pv4和Pv6 防火墙规则的机制,为管理员提供了一种表达性语言,通过这种语言可以表达firewalld 的基本语法中未涵盖的自定义防火墙规则.例如.仅允许从单个P地址(而非通过某个区域路由的 所有IP地址)连接到服务。

        富规则可用于表达基本的允许/拒绝规则,也可以用于配置记录(面向 syslog和auditd),以及 端口转发、伪装和速率限制。下面是表达富规则的基本语法:

规则的每个单一元素都能够以option=value的形式来采用附加参数。

(1)规则排序

        一旦向某个区域(一般是指防火墙)中添加了多个规则,规则的排序会在很大程度上影响防火 墙的行为.对于所有的区域,区域内的规则的基本排序是相同的。如果区域中的任何规则与包均不 匹配,通常会拒绝该包,但是区域可能具有不同的默认值,例如,可信区域(trusted)将接收任何不 匹配的包。此外,在匹配某个记录规则后,将继续正常处理包。

        直接规则是个例外。大部分直接规则将首先进行解析,然后由firewalld 进行其他处理,但是直 接规则语法允许管理员在任何区域中的任何位置插入任何规则。

(2)测试和调试

        为了便于测试和调试,几乎所有规则都可以与超时一起添加到运行时配置。当包含超时的规则 添加到防火墙时,计时器便针对该规则开始倒计时,一旦规则的计时器达到0秒,便从运行时配置 中删除该规则。

        在使用远程防火墙时,使用超时会是一种极其有用的工具,特别是在测试更复杂的规则集时。 如果规则有效,则管理员可以再次添加该规则:如果规则没有按照预期运行,甚至可能将管理员锁 定而使其无法进入系统,那么规则将被自动删除,以允许管理员可以继续工作。

         通过在启用规则的firewall-cmd命令的结尾追加选项——timeout=<TiIMEINSECONDS>,可向运行时 规则中添加超时。

理解富规则命令

        firewall-cmd 有四个选项可以用于处理富规则,所有这些选项都可以同常规的--permanent 或 --zone=<ZONE〉选项组合使用。

任何已配置的富规则都会显示在firewall-cmd --list-all 和firewall-cmd -—list-all-zones 的输 出结果中。具体语法解释如下所示:

 

规则配置举例 

(1)为认证报头协议 AH使用新的IPv4和Pv6连接。

[root@llcgc ~]# firewall-cmd --add-rich-rule='rule protocol value=ah accept'
success

(2)允许新的 Pv4和Pv6 连接 FTP,并使用审核每分钟记录一次。

[root@llcgc ~]# firewall-cmd --add-rich-rule='rule service name=ftp log limit value=1/m audit accept'
success

(3)允许来自192.168.0.0/24地址的TFTP协议的IPv4连接,并且使用系统日志每分钟记录 一次。

[root@llcgc ~]# firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.0.0/24" service name="tftp" log prefix="tftp" level="info" limit value="1/m" accept'
success

(4)为RADIUS协议拒绝所有来自1:2:3:4:6::的新IPv6连接,日志前缀为“dns”,级别 为“info”,并每分钟最多记录3次。接受来自其他发起端新的Pv6连接。

[root@llcgc ~]# firewall-cmd --add-rich-rule='rule family="ipv6" source address="1:2:3:4:6::" service name="radius" log prefix="dns" level="info" limit value="3/m" reject'
success
[root@llcgc ~]# firewall-cmd --add-rich-rule='rule family="ipv6" service name="radius" accept'
success

(5)将源192.168.2.2地址加入白名单,以允许来自这个源地址的所有连接。

[root@llcgc ~]# firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.2.2" accept'
success

(6)拒绝来自public区域中IP地址192.168.0.11的所有流量。

[root@llcgc ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address="192.168.0.11/32" reject'
success

(7)丢弃来自默认区域中任何位置的所有传入的 ipsec esp协议包。

[root@llcgc ~]# firewall-cmd --add-rich-rule='rule protocol value="esp" drop' 
success

(8)在192.168.1.0/24子网的dmz区域中,接收端口7900~7905的所有TCP包。

[root@llcgc ~]# firewall-cmd --zone=dmz --add-rich-rule='rule family=ipv4 source address="192.168.1.0/24" port port=7900-7905 protocol=tcp accept'
success

(9)接收从 work 区域到 SSH的新连接,以notice级别且每分钟最多三条消息的方式将新连接记 录到syslog。

[root@llcgc ~]# firewall-cmd --zone=work --add-rich-rule='rule service name=ssh log prefix="ssh" level="ssh" level="notice" limit value="3/m" accept'
success

(10)在接下来的5min内,拒绝从默认区域中的子网192.168.2.0/24到DNS的新连接,并且 拒绝的连接将记录到audit系统,且每小时最多一条消息。

[root@llcgc ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.2.0/24 service name=dns audit limit value="1/h" reject' --timeout=300
success

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

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

相关文章

设计模式-规格模式

设计模式专栏 模式介绍模式特点应用场景规格模式和策略模式的区别和联系代码示例Java实现规格模式Python实现规格模式 规格模式在spring中的应用 模式介绍 规格模式&#xff08;Specification Pattern&#xff09;是一种行为设计模式&#xff0c;其目的是将业务规则封装成可重…

AIGC实战——改进循环神经网络

AIGC实战——改进循环神经网络 0. 前言1. 堆叠循环网络2. 门控制循环单元3. 双向单元相关链接 0. 前言 我们已经学习了如何训练长短期记忆网络 (Long Short-Term Memory Network, LSTM) 模型&#xff0c;以学习使用给定风格生成文本&#xff0c;接下来&#xff0c;我们将学习如…

OceanBase原生分布式数据库

1.历史背景 在Java Web项目中&#xff0c;常常使用免费开源的MySQL数据库存储业务数据&#xff0c;按业界经验MySQL单库超过多大数据体量&#xff0c;或单表超过几百万条数据后就会出现查询变慢的情况&#xff0c;单实例数据库只能扩展物理资源(CPU、内存)&#xff0c;来提升查…

vivado 工程管理

管理项目 打开项目 当项目打开时&#xff0c;Vivado IDE会从项目已关闭。项目状态包括当前源文件顺序、已禁用和已启用 源文件、活动约束文件和目标约束文件&#xff0c;以及合成、模拟和实现运行。要打开项目&#xff0c;请使用以下方法之一&#xff1a; •在“入门”页面…

麦芯(MachCore)开发教程1 --- 设备软件中间件

黄国强 2024/1/10 acloud163.com 对任何公司来说&#xff0c;在短时间内开发一款高质量设备专用软件&#xff0c;是一件不太容易做到的事情。麦芯是笔者发明的一款设备软件中间件产品。麦芯致力于给设备厂商提供一个开发工具和平台&#xff0c;让客户快速高效的开发自己的设备专…

异构图 神经网络xFraud :Explaniable Fraud transcation detection

适用于异构图 2. 使用图进行异常检测 https://github.com/safe-graph/graph-fraud-detection-papers

Android 通知简介

Android 通知简介 1. 基本通知 图1: 基本通知详情 小图标 : 必须提供,通过 setSmallIcon( ) 进行设置.应用名称 : 由系统提供.时间戳 : 由系统提供,也可隐藏时间.大图标(可选) : 可选内容(通常仅用于联系人照片,请勿将其用于应用图标),通过setLargeIcon( ) 进行设置.标题 : 可选…

【LeetCode每日一题】2645. 构造有效字符串的最少插入数(计算组数+动态规划+考虑相邻字母)

2024-1-11 文章目录 [2645. 构造有效字符串的最少插入数](https://leetcode.cn/problems/minimum-additions-to-make-valid-string/)方法一&#xff1a;计算组数方法二&#xff1a;动态规划方法三: 考虑相邻字母 2645. 构造有效字符串的最少插入数 方法一&#xff1a;计算组数 …

uniapp中实现H5录音和上传、实时语音识别(兼容App小程序)和波形可视化

文章目录 Recorder-UniCore插件特性集成到项目中调用录音上传录音ASR语音识别 在uniapp中使用Recorder-UniCore插件可以实现跨平台录音功能&#xff0c;uniapp自带的recorderManager接口不支持H5、录音格式和实时回调onFrameRecorded兼容性不好&#xff0c;用Recorder插件可避免…

Leetcode 416 分割等和子集

题意理解&#xff1a; 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集&#xff0c;使得两个子集的元素和相等。 即将数组的元素分成两组&#xff0c;每组数值sum(nums)/2 若能分成这样的两组&#xff0c;则返回true,否则返回false 本质上…

RobotStudio机器人码垛课程设计

一、任务需求 1、创建动态夹具&#xff08;600*400*50&#xff09; 2、创建物料&#xff08;600*400*200&#xff09; 3、起码按顺序码垛放置 4 个不同位置 二、软件常用操作及其快捷键 &#xff08;推荐自己按这些步骤操作一下&#xff0c;能明白这些操作的具体意义&#…

Java版直播商城:电商源码、小程序、三级分销及 免 费 搭 建 方案

一、技术选型 java开发语言&#xff1a;java是一种跨平台的编程语言&#xff0c;适用于大型企业级应用开发。使用java开发直播商城可以保证系统的稳定性和可扩展性。 spring boot框架&#xff1a;spring boot是一个快速构建spring应用的框架&#xff0c;简化了开发过程&#xf…

[渗透测试学习] Clicker - HackTheBox

文章目录 信息搜集代码审计反弹shell提权 信息搜集 nmap扫描一下端口 nmap -sV -sC -v -p- --min-rate 1000 10.10.11.232扫描结果 22/tcp open ssh 80/tcp open http Apache httpd 2.4.52 ((Ubuntu)) //重定向 111/tcp open rpcbind 2-4 (RPC #100000)我们往…

如何查看Ubuntu内存的使用情况

在Linux系统中&#xff0c;了解内存使用情况对于系统管理和性能优化非常重要。以下是一些常用的命令&#xff0c;以及它们的详细使用说明&#xff1a; 1. free 命令 用途: free 命令用于显示系统中空闲和已用的物理内存及交换内存。示例: 输入命令: free -m输出解释: 这将以M…

python 爬虫 request get或post传参

爬虫传参 import requestsurl http://www.xxx# get 或 post 传参数据 data {"pageNo": 1652,"pageSize": 10, }headers {Cookie: ,Host: ,Origin: ,Referer: ,User-Agent: , }# get 请求 # res requests.get( # url, # paramsdata, # hea…

重磅消息:2024北京国际智能科技展览会(世亚智博会)官宣定档

在数字新时代的浪潮下&#xff0c;智能科技作为推动社会进步的重要力量&#xff0c;正在以前所未有的速度改变着我们的生活和工作方式。为了进一步推动智能科技的发展和交流&#xff0c;2024北京国际智能科技展览会&#xff08;简称世亚智博会&#xff09;将于2024年6月份在北京…

[C#]winform使用纯opencvsharp部署yolox-onnx模型

【官方框架地址】 https://github.com/Megvii-BaseDetection/YOLOX 【算法介绍】 YOLOX是一个高性能的目标检测算法&#xff0c;它是基于YOLO&#xff08;You Only Look Once&#xff09;系列算法的Anchor Free版本。YOLOX由Megvii Technology的研究团队开发&#xff0c;并在…

在 Windows IIS 生成证书签名请求(CSR)

本操作方法将逐步指导您生成证书签名请求&#xff08;CSR&#xff09;。 这些过程已在Windows 10的IIS 10上进行了测试&#xff0c;但也将在IIS 7.x和8.x中运行。 启动IIS管理器。 Start 开始 IIS管理器。 另外一种快速的方法是打开 运行 命令&#xff0c;然后键入 inetmgr 并…

深度学习算法应用实战 | 利用 CLIP 模型进行“零样本图像分类”

文章目录 1. 零样本图像分类简介1.1 什么是零样本图像分类?1.2 通俗一点的解释 2. 模型原理图3. 环境配置4. 代码实战5. Gradio前端页面5.1 什么是 Gradio ? 6 进阶操作7. 总结 1. 零样本图像分类简介 1.1 什么是零样本图像分类? “零样本图像分类”&#xff08;Zero-shot …

使用懒加载 + 零拷贝后,程序的秒开率提升至99.99%

目录 一、5秒钟加载一个页面的真相二、优化四步走1、“懒加载”2、线上显示 就读取一个文件&#xff0c;为什么会慢呢&#xff1f; 三、先从上帝视角&#xff0c;了解一下啥子是IO流四、写个栗子&#xff0c;测试一下1、通过字符输入流FileReader读取2、通过缓冲流BufferedRea…