靜態NAT、動態NAT、PAT(端口多路復用)的配置
NAT的實現方式有三種,即靜態轉換Static Nat、動態轉換Dynamic Nat 和 端口多路復用OverLoad。
靜態轉換 (Static Nat) 是指將內部網絡的私有IP地址轉換為公有IP地址,IP地址對是一對一的,是一成不變的,某個私有IP地址只轉換為某個公有IP地址。借助於靜態轉換,可以實現外部網絡對內部網絡中某些特定設備(如服務器)的訪問。
動態轉換 (Dynamic Nat) 是指將內部網絡的私有IP地址轉換為公用IP地址時,IP地址對是不確定的,而是隨機的,所有被授權訪問上Internet的私有IP地址可隨機轉換為任何指定的合法IP地址。也就是說,只要指定哪些內部地址可以進行轉換,以及用哪些合法地址作為外部地址時,就可以進行動態轉換。動態轉換可以使用多個合法外部地址集。當ISP提供的合法IP地址略少於網絡內部的計算機數量時。可以采用動態轉換的方式。
端口多路復用(OverLoad)是指改變外出數據包的源端口並進行端口轉換,即端口地址轉換(PAT,Port Address Translation).采用端口多路復用方式。內部網絡的所有主機均可共享一個合法外部IP地址實現對Internet的訪問,從而可以最大限度地節約IP地址資源。同時,又可隱藏網絡內部的所有主機,有效避免來自internet的攻擊。因此,目前網絡中應用最多的就是端口多路復用方式。
網絡拓撲圖:

路由器R1:f0/0 10.1.1.1/24 f0/1 20.1.2.0/24
內網:10.1.1.0/24
服務器 SVR1 10.1.1.2 開啟HTTP服務
終端機 PC1 10.1.1.3
外網:20.1.2.0/24 未配置網關
服務器 SVR2 20.1.2.2 開啟HTTP服務
終端機 PC2 20.1.2.3
一、靜態NAT
配置步驟:
首先,配置各接口的IP地址。內網使用私有IP。外網使用公網IP。並指定其屬於內外接口。
其次,定義靜態建立IP地址之間的靜態映射。
最后,指定其默認路由。
配置示例:
將服務器SRV1的內網IP轉換為外網地址,即10.1.1.2 ——> 20.1.2.5,實現外部網絡能訪問內部網絡中的服務器
Router>en (進入特權模式)
Router#config t(進入全局配置模式)
Router(config)#ho R1 (命名為R1)
R1(config)#no ip domain-lo
(關閉域名查詢,在實驗環境中,敲入錯誤的命令,它將進行域名查詢,故關閉他)
R1(config)#line c 0 (進入線路CONSOLE接口0下)
R1(config-line)#logg syn (啟用光標跟隨,防止日志信息沖斷命令顯示的位置)
R1(config-line)#exec-t 0 0 (防止超時,0 0 為永不超時)
R1(config-line)#exit
R1(config)#int f 0/0 (進入以太網接口0下)
R1(config-if)#ip add 10.1.1.1 255.255.255.0(設置IP地址)
R1(config-if)#ip nat inside (設置為內部接口)
R1(config-if)#no shut
R1(config-if)#exit
R1(config)#int f 0/1 (進入以太網接口1下)
R1(config-if)#ip add 20.1.2.4 255.255.255.0
R1(config-if)#no shut
R1(config-if)#ip nat outside (設置為外部接口)
R1(config-if)#exit
R1(config)#ip nat inside source static 10.1.1.2 20.1.2.5
(設置靜態轉換,其中ip nat inside source 為NAT轉換關鍵字,這里是靜態,故為STATIC)
R1(config)#ip classless
R1(config)#ip route 0.0.0.0 0.0.0.0 f0/1(這里是出口或者下一跳地址)
R1(config)#exit
結果:
在外網PC2
瀏覽器中訪問http://20.1.2.5,但內網中的PC1不能訪問SRV2。
二、動態NAT
配置步驟:
首先,配置各需要轉換的接口的IP,設置內外網IP等。
其次,定義動態地址轉換池列表
再次,配置ACL列表,需要轉換的內網IP地址(或者網段)。
最后,設置轉換后的出口地址段及MASK(多IP可以多分流,減輕轉換后的負擔)
配置示例:
實現內部網絡能訪問外部網絡中的服務器
R1#config t
R1(config)#int f 0/0
R1(config-if)#ip add 10.1.1.1 255.255.255.0
R1(config-if)#ip nat inside
R1(config-if)#no shut
R1(config-if)#exit
R1(config)#int f 0/1
R1(config-if)#ip add 20.1.2.4 255.255.255.0
R1(config-if)#no shut
R1(config-if)#ip nat outside
R1(config-if)#exit
R1(config)#ip nat inside source list 1 pool ds (動態地址池)
R1(config)#access-list 1 permit 10.1.1.2 0.0.0.0
(ACL列表,設置訪問列表,允許內部的網絡轉換出去,網段自由設頂)
R1(config)#access-list 1 permit 10.1.1.3 0.0.0.0
R1(config)#ip nat pool ds 20.1.2.5 20.1.2.6 net 255.255.255.0(轉換出口地址段)
(這里的IP為能在公網上使用的IP,這里設置了2個IP,可以為幾個,如果后面設置為20.1.2.9,那么這里就有5個公網IP,一般2個就夠了)
R1(config)#exit
三、PAT配置
R1#config t
R1(config)#int f 0/0
R1(config-if)#ip add 10.1.1.1 255.255.255.0
R1(config-if)#ip nat inside
R1(config-if)#no shut
R1(config-if)#exit
R1(config)#int f 0/1
R1(config-if)#ip add 20.1.2.4 255.255.255.0
R1(config-if)#no shut
R1(config-if)#ip nat outside
R1(config-if)#exit
R1(config)#ip nat inside source list 1 pool ds
(其中ip nat inside source list X pool xx overload為關鍵字)
R1(config)#access-list 1 permit 10.1.1.1 255.255.255.0
R1(config)#ip nat pool ds 20.1.2.5 20.1.2.7 net 255.255.255.0
R1(config)#exit