一. 基本原理
eNSP(Enterprise Network Simulation Platform)是一款由華為提供的、可擴展的、圖形化 操作的網絡仿真工具平台,主要對企業網絡路由器、交換機進行軟件仿真,可呈現真實設備 實景,支持大型網絡模擬,用戶只需配置網絡拓撲和設備即可實現網絡協議模擬並聯合 Wireshark 進行抓包分析。
NAT(Network Address Translation,網絡地址轉換)用於專用網內部的一些主機本在已 分配到了本地私有 IP 情況下借助對外路由設備訪問因特網的需求,NAT 的實現方式有三種, 靜態轉換 Static Nat、動態轉換 Dynamic Nat 和端口多路復用 OverLoad。
本實驗旨在通過構建一個包含三個子網的網絡拓撲,掌握 NAT 和 NAPT 協議的區別及在網絡層的分組生成異同,如對外地址循環分配、重新分配、同一 IP 的分組首部標識變化、端口號變化等。
二. NAT協議仿真拓撲
三.R1,R2配置及相關命令解釋
1.R1配置信息
1.1 進入系統視圖並查看配置信息
system #進入系統視圖
display current-configuration #查看配置信息
sysname R1
通過配置信息可以看到,此時0/0/0,0/0/1, 0/0/2以及默認接口NULL0均未配置IP地址。
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


PC-1訪問Server


PC-2訪問R2


PC-2訪問Server


給R1設置端口復用:
interface GigabitEthernet0/0/0
undo nat outbound 2001 address-group 1 no-pat
nat outbound 2001 # 啟用pat
在設置端口復用的情況下:
PC-1訪問R2

PC-1訪問Server


可以看出,PC-1訪問R2和Server時,NAT與NAPT一樣。這是因為PC-1的IP地址為靜態映射的方式。
PC-2訪問R2


PC-2訪問Server


五.結果分析
從PC-1訪問R2和Server可以看出,在使用Static Nat時,其內網IP和外網始終綁定不變。
Dynamic Nat會根據分配的地址池中的IP循環分配,但是當分配到60以后,由於此時IP地址還未回收,出現了request timeout。也就是說,動態分配地址池,IP地址有一定的回收時間,使用過該公網IP之后,需要等一段時間回收之后才可以再次使用。



Overload即端口復用,如上圖,我們用PC-2給R2發送了一個UDP包,此時使用的公網IP是R1 0/0/0接口的地址。同時,端口號從30000映射成了40。
當我們將PC2和PC3的端口號都設置成30000並給R2發送udp包時,會出現如下情況:


R2無法到達PC2和PC3,並發送一個ICMP終點不可達報文。也就是說NAPT在實現IP映射的同時,也實現了端口號的映射。同時通過端口號,標識了內網的計算機。這些端口往往是一次性,而且唯一的。
因此某種意義上來說,NAPT破壞了分層的清晰程度。