双向NAT应用场景和配置

2024-08-28 15:04
文章标签 配置 应用 场景 双向 nat

本文主要是介绍双向NAT应用场景和配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

域内双向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.255nat outbound 3000
#
interface GigabitEthernet0/0/1ip address 10.1.12.1 255.255.255.0 #在外网接口配置内网服务器和公网地址对应关系nat server protocol tcp global 10.1.12.10 www inside 192.168.1.2 wwwnat outbound 2000##默认路由指向外网下一跳ip route-static 0.0.0.0 0.0.0.0 10.1.12.2

AR2配置

interface GigabitEthernet0/0/0ip 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/0ip address 10.1.12.1 255.255.255.0 #客户端路由器做源地址转换nat outbound 2000#interface GigabitEthernet0/0/1ip 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/0ip 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/1ip 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/0ip address 192.168.1.254 255.255.255.0 #interface GigabitEthernet0/0/1ip 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/0ip address 10.1.12.2 255.255.255.0 #上网esay-ip接口地址转换nat outbound 2000#interface GigabitEthernet0/0/1ip address 192.168.2.254 255.255.255.0 

开启NAT-ALG后现象

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

这篇关于双向NAT应用场景和配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1115104

相关文章

IDEA中配置Tomcat全过程

《IDEA中配置Tomcat全过程》文章介绍了在IDEA中配置Tomcat的六步流程,包括添加服务器、配置部署选项、设置应用服务器及启动,并提及Maven依赖可能因约定大于配置导致问题,需检查依赖版本... 目录第一步第二步第三步第四步第五步第六步总结第一步选择这个方框第二步选择+号,找到Tomca

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

Java Stream流之GroupBy的用法及应用场景

《JavaStream流之GroupBy的用法及应用场景》本教程将详细介绍如何在Java中使用Stream流的groupby方法,包括基本用法和一些常见的实际应用场景,感兴趣的朋友一起看看吧... 目录Java Stream流之GroupBy的用法1. 前言2. 基础概念什么是 GroupBy?Stream

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的