基於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