防火墙NAT策略中各项之间以及策略与策略之间的关系

news2024/9/19 10:44:28

实验结论

将实验结论写在前面方便大家直接查看

1、NAT策略中rule与rule之间的关系为“或”的关系,即多个rule存在时,流量只需要匹配其中一个rule即可,流量会按照匹配的rule规则进行流量转发。(华为华三的防火墙rule是没有ID的,即配置上rule后rule ID是不显示的(可以通过display security-policy rule命令查看ID等信息),所以我们不能通过rule ID指定rule的匹配先后顺序,在命令行界面是按照从上往下的机制进行顺序匹配的)注意安全策略不同于NAT策略,安全策略在命令行界面是从下往上进行匹配的。如果需要调整rule规则的顺序可以通过 rule  move 命令进行调整。

2、NAT策略中rule内的不同的匹配条件之间是与的关系,相同的匹配条件之间是或的关系,通过以下命令实例进行解释。

nat-policy
 rule name test0
  source-zone trust
  destination-zone untrust
  source-address 10.0.0.1 mask 255.255.255.255
  source-address 10.0.0.2 mask 255.255.255.255
  source-address 10.0.0.3 mask 255.255.255.255
  destination-address 2.2.2.2 mask 255.255.255.255
  action no-nat

不同的匹配条件:source-address和destination-address之间就是不同的匹配条件,他们之间是与的关系,即rule中只要存在的不同的匹配条件,流量必须都匹配才会触发该条策略。

相同的匹配条件: source-address 10.0.0.1 mask 255.255.255.255  和  source-address 10.0.0.2 mask 255.255.255.255之间即为相同的匹配条件,它们之间是或的关系,流量只需要匹配其中任意一个即可。

注意:策略内如果未指定匹配条件的项,如不指定匹配的协议类型,即默认所有协议都可以放通。

下面以华为防火墙为例,使用ENSP软件进行实例抓包观察

实验拓扑

配置  

底层路由交换配置略过(只需要配通就可以)

FW1的NAT策略配置如下:

nat-policy
 rule name test0
  source-zone trust
  destination-zone untrust
  source-address 10.0.0.1 mask 255.255.255.255
  source-address 10.0.0.2 mask 255.255.255.255
  source-address 10.0.0.3 mask 255.255.255.255
  destination-address 2.2.2.2 mask 255.255.255.255
  action no-nat
 rule name test
  source-zone trust
  destination-zone untrust
  source-address 10.0.0.1 mask 255.255.255.255
  source-address 10.0.0.2 mask 255.255.255.255
  source-address 10.0.0.3 mask 255.255.255.255
  action source-nat easy-ip

注意:

no-nat部分流量一般为需要走VPN隧道的流量,为了避免流量进行NAT后无法进入隧道,所以需要在NAT策略前加上no-nat策略。

如果未配置no-nat策略,当NAT与IPsec VPN的ACL感兴趣流同时存在时,且NAT的公网出接口与IPsec VPN的公网出接口为同一出口时(即源地址相同的流量即需要走VPN也需要走公网时的情况),设备的处理顺序如下:

1、首先将收到的匹配IPsec VPN的ACL感兴趣流,将这部分流量送入到IPsec VPN处理环节,等待处理;

2、IPsec VPN将感兴趣流量送到启用IPsec策略的接口上(物理接口或者tunnel口,最终流量还是会送到公网物理接口进行处理),此时流量会先进行NAT处理,从而导致IPsec VPN的流量转发失败。

抓包验证:

在FW的公网出接口G1/0/0上进行抓包查看NAT情况:

在PC1和PC2上ping1.1.1.1,显示如下:

 

在PC1和PC2上ping2.2.2.2,显示如下:

PC1如下:

 PC2如下:

 

完毕

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

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

相关文章

都说今年软件测试炸了,到底炸到什么程度呢?

软件测试薪资“乱”了 随着互联网行业的发展,每年都有有数以万计的求职者推开软件测试的大门,软件测试从业人员数逐年递增,市场对于软件测试人员的要求也越来越高,所以很多的初级测试人员找不到工作,导致了都在说软件…

十年软件测试工程师感悟,写给想要转行的软件测试新人

作为一个30岁并且奋战在测试一线的测试员,被人无数次问到这个问题,也回答过无数次。 刚看到知乎上的一个问题:程序员真的干到35岁就干不动了吗?想到在测试行业真的干到35就干不动了吗?软件测试能做到多少岁?也有很多…

idea插件完成junit代码生成,和springboot代码示例

在idea环境下,可以用过插件的方式自动生成juint模板代码。不过具体要需要自己手动编写。 1、安装插件 打开idea,file–settings–plugins,搜索和安装插件(JunitGenerator V2.0和JUnit),安装后,后…

如何解决企业数字化焦虑?

数据是一种宝贵的战略资源,其潜在价值和增长速度正在改变着人类的工作、生活和思维方式。在未来,各行各业都会积极拥抱大数据,积极探索数据挖掘和分析的新技术、新方法,从而更好地利用大数据。海量的数据规模、快速的数据流转、动…

蜂窝空间两点最短路径的Python实现

昨天和Mcree来一场痛快淋漓的头脑风暴​! 叶子为什么是绿色的? 聊起一步步到物理是如何接过生物学家的接力棒深入探索:​参考链接:​为什么植物是绿色的?为了减少光合作用中的噪音 为什么眼睛能看到绿叶​?有没有存在…

Hadoop基础学习---1、大数据概论

1、大数据概念 大数据:指无法在一段时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 大数据主要解决,海量数据的采集、存储…

本地git仓库(gitea)与openssh-server的冲突(connection reset by ip port 22)

前提 之前在本地的windows电脑上安装了一个gitea供项目组成员使用。 期间为了在windows电脑上使用scp拷贝文件,离线安装过一个openssh。 冲突 发现无法pull/clone gitea上的仓库了,提示 connection reset by ip port 22 fatal: Could not read from r…

基于K8sSVC springboot 服务间调用

公司项目私有化部署,甲方要求服务间调用使用K8sSVC完成服务间调用。需要把原有基于springbootnacos 服务注册发现改造为k8ssvc完成服务间注册发现。 首先了解一下k8s svc: K8S核心概念之SVC(易混淆难理解知识点总结)_k8s svc_倾…

LVGL v8.2移植到IMX6ULL开发板

本文介绍嵌入式轻量化图形库LVGL 8.2移植到Linux开发板IMX6ULL的步骤。 文章目录 LVGL简介移植LVGL的硬件条件移植准备1. 源码下载2. 驱动加载 移植过程源码修改1. 修改lv_conf.h2. 修改lv_drv_conf.h3. 修改main.c文件4. 修改Makefile文件 源码编译效果演示 LVGL简介 LVGL最初…

内网渗透之权限维持-自启动映像劫持粘滞键辅助屏保后门WinLogon

0x01权限维持-自启动 以下几种方法都需服务器重启 1、自启动路径加载 C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 将木马放到此目录,等待服务器重启即可 2、自启动服务加载 sc create ServiceTest binPath C:\1.exe …

上门家教预约小程序开发 良师就在你身边

社会的发展科技的进步让人们对教育的重视度也逐渐升高,很多家长可以说是为了孩子的教育操碎了心。在学校还好有老师辅导,节假日在家的时候,很多家长自己本身文化知识有限或者工作繁忙没有时间辅导,送去辅导班来回接送又很麻烦&…

LeetCode 116. 填充每个节点的下一个右侧节点指针

116. 填充每个节点的下一个右侧节点指针 描述 给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node {int val;Node *left;Node *right;Node *next; }填充它的每个 next 指针&#xff0…

【Win32】资源文件(对话框),逆向对话框回调函数,消息断点(附带恶意软件源码)

之前在学习windows编程的时候已经写过对话框的创建了,其中包括了对话框的分类,原理等等,大家可以去看一下:【windows编程之对话框】对话框原理,对话框的创建。原理今天就讲的不是很多了,直接给大家给出步骤…

inquirer 用户与命令行交互工具

学习脚手架的时候接触到inquirer ,用来创建用户与命令行交互工具,使用方式如下: 1、安装 npm i -S inquirer 2、所有type使用范例 var inquirer require(inquirer);const questions [{type: confirm,name: order,message: 您好&#xf…

如何用 Midjourney 绘制你自己的拟人头像?

在元宇宙时代,许多人都使用各种AI应用程序来生成他们自己的头像,其中Midjourney是一个非常流行的选择。然而,成功的先行者可能不愿意透露具体的prompt(提示语),因为他们可能担心自己的创意被其他人抄袭。此…

Talk | 北航助理教授孙庆赟 :图学习里的拓扑不均衡问题初探

本期为TechBeat人工智能社区第497期线上Talk! 北京时间5月17日(周三)20:00,北京航空航天大学计算机学院 助理教授—孙庆赟的Talk将准时在TechBeat人工智能社区开播! 她与大家分享的主题是: “图学习里的拓扑不均衡问题初探 ”,届…

Stream流 - 两个list集合对象属性的合并、对象属性值运算

两个list集合对象属性的合并 合并两个 list<map>, 并将 userId 相同的所有属性合并到一个 map 中 list1中对象的属性:userId、userName list2中对象的属性:userId、gender、age 最总集合中对象的属性:userId、user…

C# | [二进制字符串] 与 [字节数组] 互相转换,一行代码就搞定! - CodePlus系列

C#二进制字符串与字节数组互相转换 文章目录 C#二进制字符串与字节数组互相转换前言示例代码实现思路扩展方法说明引用CodePlus库结束语 前言 开发中有时需要将二进制数据转换为字符串或相反。虽然.NET提供了一些用于二进制数据操作的类库,但是它们的使用有时候会比…

Elasticsearch 安装 X-pack

X-Pack是Elastic Stack扩展功能,提供安全性,警报,监视,报告,机器学习和许多其他功能。 ES7.0之后,默认情况下,当安装Elasticsearch时,会安装X-Pack,无需单独再安装。 1.…

编程测试被候选人吐槽了?原因可能是这些

一位前Facebook Tech Lead曾经说过:面试就好像是在第一次约会的时候,就决定是不是要跟对方结婚。 这虽然是个无奈的笑话,但也真实地反映了技术面试中的一个难题:面试官需要在相当有限的时间里,准确地判断候选人的技术…