基于eNSP的NAT/NAPT协议仿真实践


一. 基本原理

eNSP(Enterprise Network Simulation Platform)是一款由华为提供的、可扩展的、图形化 操作的网络仿真工具平台,主要对企业网络路由器、交换机进行软件仿真,可呈现真实设备 实景,支持大型网络模拟,用户只需配置网络拓扑和设备即可实现网络协议模拟并联合 Wireshark 进行抓包分析。

NAT(Network Address Translation,网络地址转换)用于专用网内部的一些主机本在已 分配到了本地私有 IP 情况下借助对外路由设备访问因特网的需求,NAT 的实现方式有三种, 静态转换 Static Nat、动态转换 Dynamic Nat 和端口多路复用 OverLoad。

本实验旨在通过构建一个包含三个子网的网络拓扑,掌握 NAT 和 NAPT 协议的区别及在网络层的分组生成异同,如对外地址循环分配、重新分配、同一 IP 的分组首部标识变化、端口号变化等。

二. NAT协议仿真拓扑

image-20211017221639214

三.R1,R2配置及相关命令解释

1.R1配置信息

​ 1.1 进入系统视图并查看配置信息

system #进入系统视图
display current-configuration #查看配置信息
sysname R1

​ 通过配置信息可以看到,此时0/0/0,0/0/1, 0/0/2以及默认接口NULL0均未配置IP地址。

image-20211017210905270

​ 1.2 配置访问控制信息及NAT地址块

acl number 2001 
rule 5 permit source 20.1.1.0 0.0.0.255 #允许20.1.1.0 - 20.1.1.255的IP通过该网络
nat address-group 1 202.169.10.50 202.169.10.60 #该NAT路由器对外的公网IP为202.169.10.50——202.169.10.60

​ 1.3 配置0/0/0接口

​ 0/0/0端口是该NAT路由器中对外的接口,其配置比0/0/1,0/0/2,NULL0要复杂。

interface GigabitEthernet0/0/0
ip address 202.169.10.1 255.255.255.0  #为端口0/0/0分配IP

arp-proxy enable #开放arp协议权限

nat static global 202.169.10.5 inside 10.1.1.1 netmask 255.255.255.255 #给10.1.1.1静态绑定202.169.10.5

nat outbound 2001 address-group 1 no-pat	# 将acl 2001和地址块绑定,nat给acl 2001动态分配IP地址,并禁止端口复用

​ 1.4 配置0/0/1,0/0/2.NULL0默认接口并返回

interface GigabitEthernet0/0/1
ip address 10.1.1.254 255.255.255.0 

interface GigabitEthernet0/0/2
ip address 20.1.1.254 255.255.255.0 

interface NULL0
ip route-static 0.0.0.0 0.0.0.0 202.169.10.2 #配置缺省地址,即默认路由
return

2.R2配置信息

system
sysname R2 #重命名为R2

#配置0/0/0接口和回环地址
interface GigabitEthernet0/0/0
ip address 202.169.10.2 255.255.255.0 

interface LoopBack0
ip address 202.169.20.1 255.255.255.0 
return

3.PC-1,PC-2,PC-3和server的配置信息

PC-1
IP:10.1.1.1
子网掩码:255.255.255.0
网关:10.1.1.254

PC-2
IP:20.1.1.2
子网掩码:255.255.255.0
网关:20.1.1.254

PC-3
IP:20.1.1.3
子网掩码:255.255.255.0
网关:20.1.1.254

Server
IP:10.1.1.3
网关:10.1.1.254

四. 实验现象

在设置no-pat的情况下:

PC-1访问R2

image-20211017224624071 image-20211017224610138

PC-1访问Server

image-20211017231640043 image-20211017225735228

PC-2访问R2

image-20211017230227880 image-20211017230243959

PC-2访问Server

image-20211017230412971 image-20211017230447041

给R1设置端口复用:

interface GigabitEthernet0/0/0
undo nat outbound 2001 address-group 1 no-pat
nat outbound 2001		# 启用pat

在设置端口复用的情况下:

PC-1访问R2

image-20211017231540586

image-20211017231519305PC-1访问Server

image-20211017231749978 image-20211017231724414

可以看出,PC-1访问R2和Server时,NAT与NAPT一样。这是因为PC-1的IP地址为静态映射的方式。

PC-2访问R2

image-20211017231931615 image-20211017231916473

PC-2访问Server

image-20211017232108727 image-20211017232022957

五.结果分析

从PC-1访问R2和Server可以看出,在使用Static Nat时,其内网IP和外网始终绑定不变。

Dynamic Nat会根据分配的地址池中的IP循环分配,但是当分配到60以后,由于此时IP地址还未回收,出现了request timeout。也就是说,动态分配地址池,IP地址有一定的回收时间,使用过该公网IP之后,需要等一段时间回收之后才可以再次使用。

image-20211018221615735 image-20211018221741175 image-20211018221820255

Overload即端口复用,如上图,我们用PC-2给R2发送了一个UDP包,此时使用的公网IP是R1 0/0/0接口的地址。同时,端口号从30000映射成了40。

当我们将PC2和PC3的端口号都设置成30000并给R2发送udp包时,会出现如下情况:

image-20211018224712975 image-20211018224456771

R2无法到达PC2和PC3,并发送一个ICMP终点不可达报文。也就是说NAPT在实现IP映射的同时,也实现了端口号的映射。同时通过端口号,标识了内网的计算机。这些端口往往是一次性,而且唯一的。

因此某种意义上来说,NAPT破坏了分层的清晰程度。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM