簡介
本文檔介紹如何配置ip nat outside source list命令,並介紹在NAT過程中IP資料包所發生的情況。
必要條件
需求
本文件沒有特定需求。
採用元件
本文件所述內容不限於特定軟體和硬體版本。但是本檔案中的資訊是根據以下軟體和硬體版本所建立:
-
Cisco 2500系列路由器
-
在所有路由器上運行的Cisco IOS®軟體版本12.2(24a)
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
您可使用此指令,轉譯從網路外傳送至網路內之 IP 封包的來源位址。此操作將反向傳輸的IP資料包的目標地址從網路內部轉換為網路外部。在網路重疊,也就是內部網路位址和外部網路位址重疊的情況下,此指令相當實用。網路圖就是一個例子。
慣例
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
設定
本節提供用於設定本文件中所述功能的資訊。
附註:若要尋找關於用於本文的指令的其他資訊,請使用指令尋找工具(僅限註冊客戶)。
網路圖表
此文件使用以下網路設定:
當ping源自路由器2514W Loopback0介面(172.16.88.1)到路由器2501E Loopback0介面(171.68.1.1)時,會發生以下情況:
路由器2514W將資料包轉發到路由器2514X,因為它配置了預設路由。在路由器2514X的外部介面上,資料包的源地址(SA)為172.16.88.1,目的地址(DA)為171.68.1.1。因為SA被ip nat outside source list命令使用的訪問清單1所允許,所以該SA將被轉換為NAT池Net171中的地址。
請注意, ip nat outside source list 命令引用了NAT池「Net171」。在本例中,地址被轉換為171.68.16.10,這是NAT池中的第一個可用地址。
轉換後,路由器2514X在路由表中查詢目標,並對資料包進行路由。路由器2501E在其傳入介面上看到SA為171.68.16.10且DA為171.68.1.1的資料包。它透過向171.68.16.10傳送網際網路控制消息協定(ICMP)回應應答做出響應。如果沒有路由,它會丟棄資料包。
在本例中,它有一條(預設)路由,因此它使用SA 171.68.1.1和DA 171.68.16.10將資料包傳送到路由器2514X。路由器2514X在其內部介面上看到資料包,並檢查通往171.68.16.10地址的路由。如果沒有,它將以ICMP不可達應答做出響應。
在本例中,由於ip nat outside source命令的add-route選項會根據外部全局地址和外部本地地址之間的轉換增加主機路由,該路由器具備一個指向171.68.16.10的路由,因此它會將該資料包轉換回172.16.88.1地址,然後將該資料包路由出其外部介面。
組態
路由器2514W |
hostname 2514W
!
!--- Output suppressed.
interface Loopback0
ip address 172.16.88.1 255.255.255.0
!
!--- Output suppressed.
interface Serial0
ip address 172.16.191.254 255.255.255.252
no ip mroute-cache
!
!--- Output suppressed.
ip classless
ip route 0.0.0.0 0.0.0.0 172.16.191.253
!--- Default route to forward packets to 2514X.
!
!--- Output suppressed.
|
路由器2514X |
hostname 2514X
!
!--- Output suppressed.
!
interface Ethernet1
ip address 171.68.192.202 255.255.255.0
ip nat inside
no ip mroute-cache
no ip route-cache
!
!--- Output suppressed.
interface Serial1
ip address 172.16.191.253 255.255.255.252
ip nat outside
no ip mroute-cache
no ip route-cache
clockrate 2000000
!
ip nat pool Net171 171.68.16.10 171.68.16.254 netmask 255.255.255.0
!--- NAT pool defining Outside Local addresses to be used for translation.
!
ip nat outside source list 1 pool Net171 add-route
!--- Configures translation for Outside Global addresses !--- with the NAT pool.
ip classless
ip route 172.16.88.0 255.255.255.0 172.16.191.254
ip route 171.68.1.0 255.255.255.0 171.68.192.201
!--- Static routes for reaching the loopback interfaces !--- on 2514W and 2501E.
access-list 1 permit 172.16.88.0 0.0.0.255
!--- Access-list defining Outside Global addresses to be translated.
!
!--- Output suppressed.
! |
路由器2501E |
hostname 2501E
!
!--- Output suppressed.
interface Loopback0
ip address 171.68.1.1 255.255.255.0
!
interface Ethernet0
ip address 171.68.192.201 255.255.255.0
!
!--- Output suppressed.
ip classless
ip route 0.0.0.0 0.0.0.0 171.68.192.202
!--- Default route to forward packets to 2514X.
!
!--- Output suppressed.
|
驗證
本節提供的資訊可用於確認您的組態是否正常運作。
輸出直譯器工具支援某些特定的show命令(僅供註冊客戶使用),它允許您檢視show 命令輸出的分析。
show ip nat translations命令可用於檢查轉換項,如此輸出所示:
2514X# show ip nat translations
Pro Inside global Inside local Outside local Outside global
--- 171.68.1.1 171.68.1.1 171.68.16.10 172.16.88.1
--- --- --- 171.68.16.10 172.16.88.1
2514X#
輸出顯示,外部全局地址172.16.88.1(路由器2514W的Loopback0介面上的地址)被轉換為外部本地地址171.68.16.10。
如下所示,您可以使用show ip route命令檢查路由表項:
2514X# show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
171.68.0.0/16 is variably subnetted, 3 subnets, 2 masks
C 171.68.192.0/24 is directly connected, Ethernet1
S 171.68.1.0/24 [1/0] via 171.68.192.201
S 171.68.16.10/32 [1/0] via 172.16.88.1
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
S 172.16.88.0/24 [1/0] via 172.16.191.254
C 172.16.191.252/30 is directly connected, Serial1
2514X#
輸出顯示了外部本地地址171.68.16.10的一個/32路由,該路由是透過ip nat outside source命令的add-route選項建立的。此路由用於路由和轉換從網路內部傳輸到網路外部的資料包。
疑難排解
本節提供的資訊可用於對組態進行疑難排解。
此輸出是在從路由器2514W loopback0介面地址(172.16.88.1)到路由器2501E loopback0介面地址(171.68.1.1)進行ping的同時,在路由器2514X上運行debug ip packet和debug ip nat命令的結果:
*Mar 1 00:02:48.079: NAT*: s=172.16.88.1->171.68.16.10, d=171.68.1.1 [95]
!--- The source address in the first packet arriving on !--- the outside interface is first translated.
*Mar 1 00:02:48.119: IP: tableid=0, s=171.68.16.10 (Serial1), d=171.68.1.1 (Ethernet1), routed via
RIB
*Mar 1 00:02:48.087: IP: s=171.68.16.10 (Serial1), d=171.68.1.1 (Ethernet1), g=171.68.192.201, len
100, forward
!--- The ICMP echo request packet with the translated source address !--- is routed and forwarded on the inside interface.
*Mar 1 00:02:48.095: IP: tableid=0, s=171.68.1.1 (Ethernet1), d=171.68.16.10 (Serial1), routed via
RIB
!--- The ICMP echo reply packet arriving on the inside interface !--- is first routed based on the destination address.
*Mar 1 00:02:48.099: NAT: s=171.68.1.1, d=171.68.16.10->172.16.88.1 [95]
!--- The destination address in the packet is then translated.
*Mar 1 00:02:48.103: IP: s=171.68.1.1 (Ethernet1), d=172.16.88.1 (Serial1), g=172.16.191.254, len 1
00, forward
!--- The ICMP echo reply packet with the translated destination !--- address is forwarded on the outside interface.
對外部介面上收到的每個資料包重複上述過程。
摘要
使用ip nat outside source list命令(動態NAT)而不是ip nat outside source static命令(靜態NAT)的主要區別在於,在路由器(針對NAT配置)驗證資料包的轉換標準之前,轉換表中沒有條目。在上一個示例中,帶有SA 172.16.88.1的資料包(進入路由器2514X的外部介面)符合access-list 1,這是ip nat outside source list命令使用的標準。因此,資料包必須來自外部網路,內部網路的資料包才能與路由器2514W loopback0介面通訊。
在此範例中,有兩個重要事項需要注意。
首先,當資料包從外部傳輸到內部時,首先進行轉換,然後檢查路由表以查詢目標。當資料包從內部傳輸到外部時,首先檢查路由表以查詢目標,然後進行轉換。
第二,請務必注意,使用前面每一個命令時,IP資料包的哪一部分會被轉換。下表包含指南:
指令 |
動作 |
ip nat outside source list |
- 轉換從外部傳輸到內部的IP資料包的源
- 轉換從內部傳輸到外部的IP資料包的目的地
|
ip nat inside source list |
- 轉換從內部傳輸到外部的IP資料包的源
- 轉換從外部傳輸到內部的IP資料包的目標
|
這些準則表明,轉換資料包的方式不止一種。根據您的特定需求,您可以確定如何定義NAT介面(內部或外部)以及路由表在轉換之前或之後包含哪些路由。請記住,資料包中轉換的部分取決於資料包的傳輸方向,以及您如何配置NAT。
相關資訊