靜态NAT: 本地位址與全局位址(公網)之間一對一映射,即一台主機對應一個公網IP。 #ip nat inside source static 192.168.1.10 188.188.90.18 #interface FastEthernet0/0 ip address 192.168.1.1 255.255.255.0 ip nat inside #interface FastEthernet0/1 ip address 188.188.90.18 255.255.255.240 ip nat outside
動态NAT: 需要一個位址池為内部使用者提供公有IP位址,動态NAT不能使用端口号,是以對于同時試圖通路外網的每位使用者,都必須有一個公網IP位址。 #ip nat pool wan 87.19.190.3 87.19.190.254 netmask 255.255.255.0 #access-list 1 permit 192.168.1.0 0.0.0.255 #ip nat inside source list 1 pool wan #interface FastEthernet0/0 ip address 87.19.190.2 255.255.255.0 ip nat outside
#interface FastEthernet0/1 ip address 192.168.1.1 255.255.255.0 ip nat inside
NAT重載(PAT): 端口位址轉換,使用了傳輸層端口号來辨別本地主機,理論上最多可讓大約 65000台主機共用一個公有IP位址,且路由器能夠确定應該将傳回的資料流轉發給哪台主機。 #ip nat inside source list 1 interface FastEthernet0/1 overload 或者(#ip nat pool wan 188.188.90.18 188.188.90.18 netmask 255.255.255.0 注意這個子網路遮罩僅決定的是廣域網IP的範圍與本地IP範圍無關,因這隻有一個廣域網IP,是以可以用255.255.255.255也行。在華為、h3c中隻有一個外網IP時,不能配置位址池的,否則在outbound時會出現位址沖突,是以一個外網IP時,隻配置ACL并應用在outbound接口上即可) #ip nat inside source list 1 pool wan overload) #access-list 1 permit 192.168.1.0 0.0.0.255(為什麼會選用标準ACL做内部本地位址?是因為标準ACL是基于源IP位址的過濾,是以能篩選出要NAT的本地IP。) #interface FastEthernet0/0 ip address 192.168.1.1 255.255.255.0 ip nat inside
#interface FastEthernet0/1 ip address 188.188.90.18 255.255.255.240 ip nat outside
端口映射技術: 其實是靜态NAT與PAT的結合,即區域網路中主機的某一端口通過靜态方式映射到公網IP位址端口上。映射技術隻能單一的實作所映射端口的特定功能,但一台主機可映射多個不同端口到同一公網IP端口上。如23代表telnet,80代表http,21代表ftp等知名端口。 #ip nat inside source static tcp 192.168.1.10 21 188.188.90.18 21 #ip nat inside source static tcp 192.168.1.10 23 188.188.90.18 23 # ip nat inside source static tcp 192.168.1.10 23 188.188.90.18 5099(擴充使用方法:可以将23端口映射全局(公網)位址的非知名端口上,但這樣子映射後,通路者要telnet 188.188.90.18的5099端口,這樣才能映射通路到192.168.1.10的23上。如果通路都使用預設telnet188.188.90.18的23端口是不行的)
注意: 1、在PAT區域網路中使用端口映射時,必須先建立好PAT,并測試能正常通信,最後才配置端口映射。否則區域網路中沒有映射的主機将無法通信。 2、端口映射可跨内網路由器配置,即在公網出口的路由器上做NAT及端口映射。一個由多個路由器組成的内網,這個内網中的任何IP都是唯一的(即分組中的源IP位址和目标IP位址在内網是不變的),而端口映射是在第三層及以上才發生的,是以在内網中任何路由器上做NAT和端口映射都可以,但前提是這個路由器是出公網端的路由器。
内網跨路由器端口映射配置方法如下:
Router0 # ip nat inside source list 1 interface FastEthernet0/1 overload ip nat inside source static tcp 192.168.1.100 23 100.231.212.5 23 ip nat inside source static tcp 192.168.1.200 21 100.231.212.5 21 ip nat inside source static tcp 192.168.1.200 80 100.231.212.5 80 access-list 1 permit 10.1.1.0 0.0.0.15 access-list 1 permit 192.168.1.0 0.0.0.255 ip route 0.0.0.0 0.0.0.0 FastEthernet0/1
華為做單臂路由+NAT上網時的注意(其他品牌目前沒有發現這種情況): 華為AR2200路由器 #
acl number 2000
rule 5 permit
acl number 2010
rule 5 permit source 192.168.0.0 0.0.255.255
# interface GigabitEthernet0/0/1
ip address 12.226.3.52 255.255.255.0
nat server protocol tcp global current-interface 10000 inside 10.45.42.10 3389
nat server protocol tcp global current-interface 8088 inside 10.45.42.10 8088
nat server protocol udp global current-interface 8900 inside 10.45.42.10 8900
nat server protocol tcp global current-interface 10001 inside 10.45.42.11 3389
nat server protocol tcp global current-interface 9015 inside 10.45.42.20 9015
nat server protocol tcp global current-interface 9016 inside 10.45.42.20 9016
nat server protocol udp global current-interface 9015 inside 10.45.42.20 9015
nat server protocol udp global current-interface 9016 inside 10.45.42.20 9016
nat outbound 2000
#
interface GigabitEthernet0/0/2
#
interface GigabitEthernet0/0/2.10
dot1q termination vid 10
ip address 192.168.10.244 255.255.255.0
arp broadcast enable(必須配置,才能NAT)
#
interface GigabitEthernet0/0/2.11
dot1q termination vid 11
ip address 192.168.1.244 255.255.255.0
arp broadcast enable
#
interface GigabitEthernet0/0/2.20
dot1q termination vid 20
ip address 10.45.42.59 255.255.255.192
arp broadcast enable
nat outbound 2010
#
interface NULL0
#
ip route-static 0.0.0.0 0.0.0.0 12.226.3.100
當配置完ACL以及NAT後,如果子接口不加 arp broadcast enable,那麼還是不能上外網的,是以華為時必須注意的這種特殊情況。