双向NAT应用场景和配置

news2024/9/23 3:25:29

域内双向NAT(端口回流)

局域网内有一台或多台服务器可能需要对外映射提供服务,如内网终端也需要访问,这时如终端通过映射后的公网地址访问会出现无法访问的情况,这时就需要域内双向NAT(华三很多路由器会有hairpin这个功能,勾选应用则开启,或在内网接口配置nat hairpin enable)

故障现象

故障分析

1、当客户端需要访问一台服务器,但是是通过域名访问,不知道服务器就在同局域网

2、通过域名访问会先寻找网关,网关会发现需要访问的服务器就在局域网内,会直接转发至服务器(源地址没有发生变化),未经过NAT

3、当服务器发现网关转发来的(重定向),源发送来的TCP-SYN,且是同网段,会直接回应源(不经过网关)

4、客户端收到服务器回应的TCP-ACK报文,客户端访问的服务器是公网地址,但是收到同网段的TCP-ACK,所以无法建立成功三次握手导致访问失败

解决方案

1、全局配置(防火墙)NAT映射不需要在内网接口重新映射,因为全局映射的会直接转换

2、需要在内网接口做NAT转换映射(在内网接口生成映射表象)

设备配置

AR1配置

#创建上网匹配源地址
acl number 2000  
 rule 5 permit 
#
acl number 3000
#匹配内网地址访问映射地址时的流量
 rule 5 permit ip source 192.168.1.0 0.0.0.255 destination 10.1.12.0 0.0.0.255 

#

interface GigabitEthernet0/0/0
#配置内网接口地址
 ip address 192.168.1.254 255.255.255.0 
#在内网接口配置内网服务器和公网地址对应关系
 nat static global 10.1.12.10 inside 192.168.1.2 netmask 255.255.255.255
 nat outbound 3000
#
interface GigabitEthernet0/0/1
 ip address 10.1.12.1 255.255.255.0 

#在外网接口配置内网服务器和公网地址对应关系

 nat server protocol tcp global 10.1.12.10 www inside 192.168.1.2 www

 nat outbound 2000

#

#默认路由指向外网下一跳

ip route-static 0.0.0.0 0.0.0.0 10.1.12.2



AR2配置

interface GigabitEthernet0/0/0
 ip address 10.1.12.2 255.255.255.0

实验现象验证

域间双向NAT

故障场景

在两个不同的局域网(地址重叠的情况),其中一个局域网中的客户端需要访问另外一个局域网中的服务器时,例如双方局域网IP网段都为192.168.1.0/24,客户端会检测源地址,和服务器目的地址为相同网段,则直接发送ARP解析

解决方案

1、让客户端访问服务器时,故意不为同网段,实际服务器端IP还是冲突,两台路由器之间接口做NAT转换

2、配置静态路由,指向服务器端的路由器

3、服务器端的路由器做NAT转换

4、当服务器端回包时,原地址为同网段,会直接单播回应,所以客户端路由器需要做源地址转换

设备配置

AR1配置

sysname AR1

#

#参考解决方案步骤4,做源地址转换匹配流量

acl number 2000  

 rule 5 permit source 192.168.1.0 0.0.0.255 

#

interface GigabitEthernet0/0/0

 ip address 10.1.12.1 255.255.255.0 

#客户端路由器做源地址转换

 nat outbound 2000

#

interface GigabitEthernet0/0/1

 ip address 192.168.1.254 255.255.255.0 

#

#配置去往AR2映射的虚拟地址静态路由

ip route-static 192.168.2.0 255.255.255.0 10.1.12.2

AR2配置

sysname AR2



#

interface GigabitEthernet0/0/0

 ip address 10.1.12.2 255.255.255.0 

#映射服务器地址(虚拟地址)

 nat server protocol tcp global 192.168.2.100 www inside 192.168.1.1 www

#

interface GigabitEthernet0/0/1

 ip address 192.168.1.254 255.255.255.0 

实验现象验证

NAT ALG

一般情况下,NAT只能对IP报文的头部地址和TCP/UDP头部的端口信息进行转换。对于一些多通道协议,例如DNS、FTP等,数据部分可能包含IP地址或端口信息,这些内容不能被NAT有效的转换,导致无法正确完成通信

如果要解决这个问题,就要求NAT可以识别报文数据部分的IP地址或端口信息。配置应用层网关ALG(Application Level Gateway),可以使NAT设备识别被封装在报文数据部分的IP地址或端口信息,并根据映射表项进行替换,实现报文正常穿越NAT,可以支持各种特殊的应用协议。目前ALG支持的协议包括:DNS、FTP、SIP、PPTP和RTSP

故障场景

未开启NAT-ALG时故障现象

AR1配置

sysname AR1

#

#acl匹配源地址

acl number 2000  

 rule 5 permit source 192.168.1.0 0.0.0.255 

#开启alg功能

nat alg ftp enable

#

interface GigabitEthernet0/0/0

 ip address 192.168.1.254 255.255.255.0 

#

interface GigabitEthernet0/0/1

 ip address 10.1.12.1 255.255.255.0 

#映射内网ftp服务

 nat server protocol tcp global 10.1.12.100 ftp inside 192.168.1.1 ftp

#上网esay-ip接口地址转换

 nat outbound 2000

#

#指向运营商出接口下一跳

ip route-static 0.0.0.0 0.0.0.0 10.1.12.2

AR2配置

sysname AR2

#

#acl匹配源地址

acl number 2000  

 rule 5 permit source 192.168.2.0 0.0.0.255

#

interface GigabitEthernet0/0/0

 ip address 10.1.12.2 255.255.255.0 

#上网esay-ip接口地址转换

 nat outbound 2000

#

interface GigabitEthernet0/0/1

 ip address 192.168.2.254 255.255.255.0 

开启NAT-ALG后现象

转载:HCIA笔记-18、双向NAT应用场景和配置

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

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

相关文章

window下kafka3启动多个

准备工作 我们先安装好kafka,并保证启动成功,可参考文章Windows下安装Kafka3-CSDN博客 复制kafka安装文件 kafka3已经内置了zookeeper,所以直接复制就行了 修改zookeeper配置文件 这里我们修改zookeeper配置文件,主要是快照地址…

学习分享:手把手教你使用Python开发一个api数据接口

今天想和大家分享一下Python开发语言,为什么选择Python,因为当今生活中人工智能无处不在,而开发人工智能的首选语言必是Python。今天教大家使用Python开发一个api接口。 Python的开发环境我使用的是PyCharm,安装完成之后创建项目…

单域名SSL证书快速获取指南

在当今互联网的社会,网站安全变得非常重要。SSL证书,作为实现网站HTTPS加密通信的重要手段,不仅能够保护用户数据传输的安全,还能提升网站的信任度和搜索引擎排名等。其中单域名SSL证书是可以保护单个域名的网站,这对于…

TensorBoard快速入门

一、简介 TensorBoard是一套 Web 应用程序,用于检查和了解 TensorFlow 运行和图形。简而言之,就是用于机器学习可视化的工具 TensorBoard 设计为完全离线运行,无需任何 Internet 访问权限。例如,这可能位于本地计算机上、公司防…

团队合作新风向:2024年8款协作工具榜单

文章介绍了以下几个团队协作工具:1. Worktile;2. PingCode;3. 飞书;4. 钉钉;5. Wrike;6. 云之家;7. Tapd;8. Slack。 在2024年,随着远程工作和分布式团队的普及&#xff…

从消费市场看电动汽车和充电桩互动关系

中国电动汽车充电基础设施促进联盟(以下简称促进联盟)日前发布的最新统计数据显示,7月全国新增公共充电桩8.8万台,同比增长45.2%,连续多月保持同比四成以上增长;今年前7个月全国充电基础设施增量为200.8万台…

MATLAB绘图基础1:MATLAB基础回顾

参考书:《 M A T L A B {\rm MATLAB} MATLAB与学术图表绘制》(关东升)。 1.MATLAB基础回顾 1.1 MATLAB语言特点 M A T L A B {\rm MATLAB} MATLAB是一种解释型语言,允许用户逐步执行命令并立即查看结果; M A T L A B {\rm MATLAB} MATLAB拥有…

1996-2022年各省农村用电量数据(无缺失)

1996-2022年各省农村用电量数据(无缺失) 1、时间:1996-2022年 2、来源:国家统计局、农村统计年鉴、电力企业联合会 3、指标:农村用电量 4、范围:31省 5、缺失情况:无缺失 6、指标说明&…

SAP与生产制造MPM系统集成案例

一、需求介绍 某公司为保证企业内部生产管理系统的多项基础数据的同步更新,确保各模块间信息的一致性和准确性,对后续的生产计划和物料管理打下基础,该公司将MPM系统和SAP系统经过SAP PO中间件集成平台进行了集成。MPM全称为Manufacturing…

面临快开学的孩子们,快看看莱莉是怎么利用数字时钟调整作息时间的吧!

网管小贾 / sysadm.cc “是谁订的西兰花匹萨?” “快吃我吧,我是有机的!” 哦,糟糕!莱莉昨晚又做恶梦了…… “不知道为什么,这几天总是翻来覆去的,莱莉看样子似乎不太走运!” 厌…

Spark自定义函数例子

spark自定义函数,Spark sql 使用和dataFrame方式使用 #自定义函数名字 def convert_zdy(sex):return "男" if sex 1 else "女"if __name__ __main__:spark SparkSession.builder.master("local[*]").appName("自定义函数&qu…

PHP Vue学生档案管理系统:如何实现快速信息检索与数据安全?

🍊作者:计算机毕设匠心工作室 🍊简介:毕业后就一直专业从事计算机软件程序开发,至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长:按照需求定制化开发项目…

echarts最新封装柱状图

父元素传入一次最多显示几个以及每次切换几个超出没两秒向右切换一个图表加载有动画效果动态更新数据实时显示屏幕尺寸改变自动适应字体大小自适应数值为0时&#xff0c;柱设置最小高度 组件 BarChart.vue <template><div class"w100 h100"><divref…

本专业不好找工作,也许可以试试嵌入式 嵌入式学习路线 从C语言到MCU开发

引言 到了毕业季&#xff0c;很多朋友仔细如何学习嵌入式&#xff0c;这个问题其实很难以回答&#xff0c;每个人的具体情况都不一样&#xff0c;也没有什么万能的方法&#xff0c;保证大家都能学好嵌入式。本篇文章&#xff0c;博主将结合我自己的经历和理解&#xff0c;谈论下…

案例研究:如何在复杂环境中增强自组织

现有价值流的重组代表了管理者在敏捷转型的背景下所面对的最大可能的战术挑战。它直接影响到组织交付和影响既定社会结构的能力。它也在两个域之间的边界上&#xff1a;繁杂且复杂&#xff1b;目标结构的某些方面以经验为基础&#xff0c;具有一定的确定性&#xff0c;但我们无…

【Hot100】LeetCode—131. 分割回文串

目录 1- 思路回溯 2- 实现⭐131. 分割回文串——题解思路 3- ACM 实现 原题链接&#xff1a;131. 分割回文串 1- 思路 回溯 思路&#xff1a;需要一个判断回文的函数 回溯思路&#xff1a; 回溯过程遍历的是 字符串 s 参数为 startIndex&#xff0c;主要用来处理到 起始点 通…

【Linux篇】环境变量

1. env命令 环境变量是操作系统在运行的时候&#xff0c;记录的一些关键性信息&#xff0c;辅助系统运行。 在Linux系统中执行env命令即可查看当前系统中记录的环境变量。 环境变量是一种key-value型结构&#xff0c;即名称和值。 2. 环境变量&#xff1a;PATH 在前面提出的…

【C语言】深入理解指针3(附转移表源码)

深入理解指针3 1.字符指针变量2.数组指针变量2.1是什么2.2应用 3.二维数组传参的本质4.函数指针变量4.1函数指针变量的创建和使用4.2 typedef关键字 5.函数指针数组6.转移表 1.字符指针变量 上⾯代码的意思是把⼀个常量字符串的⾸字符 h 的地址存放到指针变量 pstr 中。 《剑指…

开关柜无线测温

温度是维护电力系统高压设备正常运行的重要参数&#xff0c;随着智能电网的发展&#xff0c;针对高压设备进行温度在线监测已变得日益重要。文章中的智能无线测温系统&#xff0c;通过对开关柜温度进行智能实时监控&#xff0c;可准确、及时掌握开关柜运行温度变化趋势&#xf…

模型工具LangChain:原理详解与实战案例分析

LangChain 是什么&#xff1f; LangChain是一个用于开发由语言模型驱动的应用程序的框架。它使得可以构建以下类型的应用程序&#xff1a; 数据感知&#xff1a;将语言模型与其他数据源连接起来 智能&#xff1a;允许语言模型与其环境进行交互 LangChain的主要价值在于&…