五、双向NAT

学习防火墙之前,对路由交换应要有一定的认识

  • 双向NAT
    • 1.1.基本原理
    • 1.2.NAT Inbound + NAT Server
    • 1.3.域内NAT+NAT Server

——————————————————————————————————————————————————

双向NAT

经过前面介绍,已经对源NAT和NAT Server有了相当的了解。NAT功能就像一个武林高手,可内可外,游刃有余,那么这一内一外能否配合使用呢?

如果需要同时改变报文的源地址和目的地址,就可以配置源NAT+NAT Server,我们称之为双向NAT。

双向NAT不是一个单独的功能,而是源NAT和NAT Server的组合,这里组合的含义是针对同一条流,在其经过防火墙时同时转换报文的源地址和目的地址。

千万不能理解为防火墙上同时配置了源NAT和NAT Server就是双向NAT了,这是不对的,因为源NAT和NAT Server可能是为不同流配置的。

——————————————————————————————————————————————————

1.1.基本原理

之前介绍源NAT时,为了便于理解,都是按照私网用户访问Internet的思路进行组网验证的。实际上,源NAT还可以根据报文在防火墙上的流动方向进行分类,包括域间NAT和域内NAT。

域间NAT

报文在两个不同的安全区域之间流动时对报文进行NAT转换,根据流动方向的不同,可以分为两类。

1、NAT Inbound

报文由低级别的区域向高级别区域方向流动时,对报文进行转换,一般这种情况是公网用户访问内部网络,不太常见。

2、NAT Outbound

报文由高级别的区域向低级别区域方向流动时,对报文进行转换,前面介绍的私网用户访问Internet场景使用的NAT都是Outbound。

域内NAT

报文在同一个安全区域之内流动时对报文进行NAT转换,一般来说,域内NAT都会和NAT Server配合使用,单独配置域内NAT的情况比较少见。

当域间NAT、域内NAT和NAT Server配合使用时,就实现了双向NAT。上述实现的前提是:合理设置安全区域安全级别,内网网络属于Trust高安全级别,私网服务器属于DMZ中安全级别,Internet属于Untrust低安全级别。

双向NAT从技术和实现原理来说并无特别之处,但是应用场景很有特色。究竟是什么时候需要配置双向NAT?有什么好处?不配置双向NAT行不行?

——————————————————————————————————————————————————

1.2.NAT Inbound + NAT Server

最常见的一个场景:公网用户访问私网服务器,这个场景也是NAT Server的典型场景。但是下面要讲的是如何在这个场景中应用双向NAT,以及这么做的好处。

在这里插入图片描述

接下来进行配置,NAT Server和源NAT。

配置NAT Server
nat server protocol tcp global 210.1.1.1 9980 inside 192.168.100.1 80

NAT Server配置完会生成静态带正向-反向,Server-map表。

在这里插入图片描述

配置源NAT
nat address-group GW
section 192.168.100.200 192.168.100.200nat-policyrule name SNATsource-zone untrustdestination-zone trustdestination-address 192.168.100.1 mask 255.255.255.255action source-nat address-group GW

在配置源NAT策略时,destination-address:由于先进行NAT Server转换,再进行源NAT转换,所以此处的目的地址是NAT Server转换后的地址,即服务器的私网地址。

配置完成后,公网用户访问私网服务器,在防火墙上查看会话表,可以清楚的看到报文的源IP地址和目的IP地址都进行了转换。
在这里插入图片描述

在来看看转发过程:

1、公网用户访问私网服务器的报文到达防火墙时,目的地址210.1.1.1经过NAT Server (nat server protocol tcp global 210.1.1.1 9980 inside 192.168.100.1 80)转换为私网地址192.168.100.1,然后源地址210.1.1.2,经过NAT Inbount(nat address-group GW)也转换为192.168.100.200私网地址,且和私网服务器属于同一网段。这样报文的源地址和目的地址就同时进行了转换,即完成了双向NAT。

简化来说:防火墙收到报文后,从NAT Server选择私网地址替换报文的目的地址。即192.168.100.1。判断安全策略,通过后从源NAT地址池选择一个私网IP替换报文源IP,即192.168.100.200。

2、当私网服务器的回应报文经过防火墙时,再次进行双向NAT地址转换,报文的源地址和目的地址均转换为公网地址。

简化来说:收到Web服务器报文后,会查找会话表之前建立的项,将报文源地址和目的地址替换成原先的地址,将源和目的端口替换为原始的端口号,发送至Internet。

在这里插入图片描述

防火墙G1/0/1,用户请求服务器,源IP:210.1.1.1使用随机端口49207,目的IP:210.1.1.1,端口9980。
在这里插入图片描述
防火墙G1/0/0,防火墙收到用户请求服务器的报文,转换后的源IP:192.168.10.200,端口:2055。目的IP:192.168.100.1,端口80。
在这里插入图片描述

回去的报文,源地址:192.168.100.1,端口80。目的IP:192.168.10.200,端口2055。
在这里插入图片描述
转换后的源IP:210.1.1.1,端口9980。目的IP:210.1.1.2,随机端口
在这里插入图片描述

到这里有点疑问,前面说过,只配置NAT Server不配置NAT Inbound,也不会影响公网用户访问私网服务器。答案是肯定不会影响,但是配置了有它本身的好处。秘密就在于私网服务器对回应报文的处理方式上。

把NAT地址池中的地址配置成和私网服务器在同一网段,当私网服务器回应公网用户的访问请求时,发现自己的地址和目的地址在同一网段,此时私网服务器就不会去查找路由,而是发送ARP广播报文询问目的地址对应的MAC。防火墙会及时挺身而出,将连接私网服务器接口的MAC地址发给私网服务器,告诉死亡服务器:把回应报文发送给我。所以私网服务器将回应报文发送至防火墙,防火墙再对其进行后续处理。

在这里插入图片描述

既然私网服务器上省去了查找路由环节,那就不用设置网关了,这就是配置双向NAT的好处。这里配置的源NAT,虽然叫源NAT,考虑的时候是反着来的。

安全策略配置

security-policyrule name SNATsource-zone untrustdestination-zone trustdestination-address 192.168.100.1 mask 255.255.255.255action permit

配置路由黑洞

ip route-static 192.168.100.1 32 NULL0

——————————————————————————————————————————————————

1.3.域内NAT+NAT Server

域内NAT+NAT Server的场景,管理员在规划网络时偷懒,将私网用户和私网服务器规划到同一网络,并将二者置于同一安全区域。

在这里插入图片描述

如图上图:私网用户User访问服务器的报文,到达防火墙后,防火墙进行目的地址转换,私网服务器回应报文时发现目的地址和自己的地址在同一网段,回应报文经交换机直接转发到私网用户,不会经过防火墙转发。

如果希望提高内部网络安全性,使私网服务器的回应报文也经过防火墙处理,就需要配置域内NAT,将私网用户访问私网服务器的报文的源地址进行转换。转换后源地址可以是公网地址也可以是私网地址,只要不和私网服务器在同一网段即可。这样私网服务器的回应报文就会被发送到防火墙。

配置NAT SERVER

nat server protocol tcp global 210.1.1.1 9980 inside 192.168.100.1 www

配置域内NAT,几乎和域间NAT一样,只不过前者在域内进行NAT转换,后者在域间进行NAT转换。

nat address-group 1 1section 0 210.1.1.100 210.1.1.100                   公网私网都可以,只要不和私网服务器在同一网段nat-policyrule name Policysource-zone untrustdestination-zone trustdestination-address 192.168.100.1 mask 255.255.255.255action source-nat address-group 1

没有配置安全策略,是因为缺省下防火墙对同一安全区域内流动的报文不做控制。记得配置黑洞路由

看下过程:

私网用户访问私网服务器报文:

源IP:192.168.100.50,目的IP:210.1.1.1

经过转换后,源IP:210.1.1.100,目的IP:192.168.100.1

私网用户回应的报文:

源IP:192.168.100.1,目的IP:210.1.1.100

经过转换后,源IP:210.1.1.1,目的IP:192.168.100.50

如果我们在这个网络环境下,将私网用户和私网服务器通过不同的接口连接到防火墙,此时私网用户和私网服务器交互的所有报文都需要经过防火墙转发,所以只配置NAT SERVER是可以的。

不要纠结转换后是公网地址还是私网地址。双向NAT并不是必配的功能。有时只配源NAT或NAT Server就可以达到同样的效果。但是灵活运用双向NAT可以起到简化网络配置、方便网络管理功能。

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

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

相关文章

JoyT的科研之旅第一周——科研工具学习及论文阅读收获

CiteSpace概述 CiteSpace 是一个用于可视化和分析科学文献的工具,它专门针对研究者进行文献回顾和趋势分析。CiteSpace 的核心功能是创建文献引用网络,这些网络揭示了研究领域内各个文献之间的相互关系。使用 CiteSpace 可以为论文研究做出贡献的几种方…

【MATLAB源码-第88期】基于matlab的灰狼优化算法(GWO)的栅格路径规划,输出做短路径图和适应度曲线

操作环境: MATLAB 2022a 1、算法描述 灰狼优化算法(Grey Wolf Optimizer, GWO)是一种模仿灰狼捕食行为的优化算法。灰狼是群居动物,有着严格的社会等级结构。在灰狼群体中,通常有三个等级:首领&#xff…

Linux时间命令—— 显示时间,日历等

目录 1.date显示时间 1.1 常用的标记列表: 1.2 设定时间: 2.cal显示日历 3.时间戳 1.date显示时间 date 用法:date [OPTION] ... [FORMAT] 1.1 常用的标记列表: %H : 小时 (00..23) %M : 分钟 (00..59) %S : 秒 (00..61…

NB-IoT BC260Y Open CPU平台篇②AEP物联网平台天翼物联CWing

NB-IoT BC260Y Open CPU平台篇②AEP物联网平台天翼物联CWing 1、注册账号2、创建属于自己项目的产品3、协议解析:4、添加设备5、设备模拟测试:6、设备调试:最近做了几个项目,都是将终端产品连接到天翼物联Cwing平台和Onenet平台,个人感觉这2个平台功能还是挺全的比较好用。…

JVM深入理解

JVM深入理解(一) JVM是什么 JRE、JDK和JVM 的关系 JVM原理 1、JVM是什么? JVM是Java Virtual Machine(Java虚拟机)的缩写,由一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域等组…

DNS 区域传输 (AXFR)

漏洞描述 docker环境搭建 使用 AXFR 协议的 DNS 区域传输是跨 DNS 服务器复制 DNS 记录的最简单机制。为了避免在多个 DNS 服务器上编辑信息,可以在一台服务器上编辑信息,并使用 AXFR 将信息复制到其他服务器。但是,如果您不保护您的服务器&…

Maven - 打包之争:Jar vs. Shade vs. Assembly

文章目录 Pre概述Jar 打包方式_maven-jar-pluginOverview使用官方文档 Shade 打包方式_maven-shade-pluginOverview使用将部分jar包添加或排除将依赖jar包内部资源添加或排除自动将所有不使用的类排除将依赖的类重命名并打包进来 (隔离方案)修改包的后缀…

鸿蒙(HarmonyOS)应用开发——安装DevEco Studio安装

前言 HarmonyOS华为开发的操作系统,旨在为多种设备提供统一的体验。它采用了分布式架构,可以在多个设备上同时运行,提供更加流畅的连接和互动。HarmonyOS的目标是提供更高的安全性、更高效、响应更快的用户体验,并通过跨设备功能…

外汇天眼:香港监管机构对AMTD Global Markets Limited启动法律诉讼

香港证监会(SFC)已经启动了法律程序,要求首次审裁法院调查AMTD Global Markets Limited(AMTD,目前以orientiert XYZ Securities Limited为名)及其前高管在与首次公开发行(IPO)相关的…

王道p150 14.假设二叉树采用二叉链表存储结构,设计一个算法,求非空二叉树 b的宽度(即具有结点数最多的那一层的结点个数) (c语言代码实现)

采用层次遍历的方法求出所有结点的层次,并将所有结点和对应的层次放在一个队列中。然后通过扫描队列求出各层的结点总数,最大的层结点总数即为二叉树的宽度。 /* A B C D E F …

React UI界面:Ant Design初步

文章目录 初步回调函数变量输出 React初步 初步 Antd是一套非常现代的React组件库,是好多人用过的第一个组件库,但我对其印象最深的却是圣诞节彩蛋,只是上网一查才发现,一晃这么多年过去了。 先创建一个React项目,然…

实验室信息管理系统源码,LIS系统源码,lis源码

医学检验(LIS)管理系统源码,云LIS系统全套商业源码 随着全自动生化分析仪、全自动免疫分析仪和全自动血球计数器等仪器的使用,检验科的大多数项目实现了全自动化分析。全自动化分析引入后,组合化验增多,更好的满足了临床需要&…