SPOTO思博網(wǎng)絡(luò)聊聊華為路由器NAT經(jīng)典配置詳細(xì)解析
NAT概述
早期的NAT是指Basic NAT,Basic NAT在技術(shù)上實現(xiàn)比較簡單,只支持地址轉(zhuǎn)換,不支持端口轉(zhuǎn)換。因此,Basic NAT只能解決內(nèi)網(wǎng)主機訪問外網(wǎng)問題,無法解決IP地址短缺問題。后期的NAT主要是指網(wǎng)絡(luò)地址端口轉(zhuǎn)換NAPT(Network Address Port Translation),NAPT既支持地址轉(zhuǎn)換也支持端口轉(zhuǎn)換,并允許多臺內(nèi)網(wǎng)主機共享一個外網(wǎng)IP地址訪問外網(wǎng),因此NAPT可以有效的改善IP地址短缺現(xiàn)象。
Basic NAT
Basic NAT方式只轉(zhuǎn)換IP地址,不轉(zhuǎn)換TCP/UDP協(xié)議的端口號,屬于一對一的轉(zhuǎn)換,一個外網(wǎng)IP地址只能被一個內(nèi)網(wǎng)用戶使用。下圖描述了Basic NAT的基本原理。

Basic NAT實現(xiàn)過程如下:
1.內(nèi)網(wǎng)HostA訪問外網(wǎng)Server,向Router發(fā)送一個源IP地址為10.1.1.1的報文。
2.當(dāng)Router收到報文后,做Basic NAT轉(zhuǎn)換。Router根據(jù)報文的源IP地址查找NAT轉(zhuǎn)換關(guān)系表,看是否有相關(guān)的轉(zhuǎn)換記錄(10.1.1.1<->1.1.1.1)。如果有轉(zhuǎn)換記錄,則將報文的源IP地址10.1.1.1轉(zhuǎn)換成1.1.1.1后,轉(zhuǎn)發(fā)給外網(wǎng)Server;如果沒有轉(zhuǎn)換記錄,在進行源IP地址轉(zhuǎn)換的同時,還會在NAT轉(zhuǎn)換關(guān)系表中新增一條該會話的轉(zhuǎn)換記錄(正反向)。
3.外網(wǎng)Server給內(nèi)網(wǎng)HostA轉(zhuǎn)換后的外網(wǎng)IP地址1.1.1.1發(fā)送回應(yīng)報文。報文到達(dá)Router后,Router根據(jù)報文的目的IP地址查找NAT轉(zhuǎn)換關(guān)系表,將報文的目的IP地址1.1.1.1轉(zhuǎn)換成10.1.1.1后,轉(zhuǎn)發(fā)給內(nèi)網(wǎng)HostA。
4.內(nèi)網(wǎng)HostB訪問外網(wǎng)Server的轉(zhuǎn)換過程和內(nèi)網(wǎng)HostA訪問外網(wǎng)Server的轉(zhuǎn)換過程類似。由于Basic NAT不轉(zhuǎn)換端口號,所以HostA和HostB分別用不同的外網(wǎng)IP地址訪問Server。
NAPT
NAPT方式既轉(zhuǎn)換IP地址,也轉(zhuǎn)換TCP/UDP協(xié)議的端口號,屬于多對一的轉(zhuǎn)換。NAPT通過使用“IP地址+端口號”的形式,使多個內(nèi)網(wǎng)用戶共用一個外網(wǎng)IP地址訪問外網(wǎng),因此NAPT也可以稱為“多對一地址轉(zhuǎn)換”或“地址復(fù)用”。下圖描述了NAPT的基本原理。

NAPT實現(xiàn)過程如下:
1.內(nèi)網(wǎng)HostA訪問外網(wǎng)Server,向Router發(fā)送一個源IP地址為10.1.1.1,端口號為10的報文。
2.Router收到報文后,做NAPT轉(zhuǎn)換。Router根據(jù)報文的源IP地址和端口號查找NAT轉(zhuǎn)換關(guān)系表,看是否有相關(guān)的轉(zhuǎn)換記錄(10.1.1.1:10<->1.1.1.1:30)。如果有轉(zhuǎn)換記錄,則將報文的源IP地址10.1.1.1轉(zhuǎn)換成1.1.1.1,端口號10轉(zhuǎn)換成30后,轉(zhuǎn)發(fā)給外網(wǎng)Server;如果沒有轉(zhuǎn)換記錄,在進行源IP地址和端口號轉(zhuǎn)換的同時,還會在NAT轉(zhuǎn)換關(guān)系表中新增一條該會話的轉(zhuǎn)換記錄(正反向)。
3.外網(wǎng)Server給內(nèi)網(wǎng)HostA轉(zhuǎn)換后的外網(wǎng)IP地址1.1.1.1發(fā)送回應(yīng)報文。Router根據(jù)回應(yīng)報文中的目的IP地址和端口號查找NAT轉(zhuǎn)換關(guān)系表,將報文的目的IP地址1.1.1.1轉(zhuǎn)換成10.1.1.1,端口號30轉(zhuǎn)換成10后,轉(zhuǎn)發(fā)給內(nèi)網(wǎng)HostA。
4.內(nèi)網(wǎng)HostB訪問外網(wǎng)Server的轉(zhuǎn)換過程和內(nèi)網(wǎng)HostA訪問外網(wǎng)Server的轉(zhuǎn)換過程類似。由于NAPT可以轉(zhuǎn)換端口號,所以HostA和HostB可以共用同一個外網(wǎng)IP地址1.1.1.1訪問Server。
NAT分類
NAT是將IP數(shù)據(jù)報文頭中的IP地址轉(zhuǎn)換為另一個IP地址的過程,主要用于實現(xiàn)內(nèi)部網(wǎng)絡(luò)(私有IP地址)訪問外部網(wǎng)絡(luò)(公有IP地址)的功能。根據(jù)轉(zhuǎn)換過程中IP地址或端口號的轉(zhuǎn)換規(guī)則是否已事先確定,可以將NAT分為動態(tài)NAT和靜態(tài)NAT。
動態(tài)NAT
動態(tài)NAT是指內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)之間的地址映射關(guān)系在轉(zhuǎn)換時動態(tài)產(chǎn)生。動態(tài)NAT也指NAT Outbound,常用于內(nèi)部網(wǎng)絡(luò)有大量用戶需要訪問外部網(wǎng)絡(luò)的組網(wǎng)場景。動態(tài)NAT分為地址池方式的動態(tài)NAT和Easy IP方式的動態(tài)NAT。
靜態(tài)NAT
靜態(tài)NAT是指外部網(wǎng)絡(luò)和內(nèi)部網(wǎng)絡(luò)之間的地址映射關(guān)系由配置事先確定,常用于外網(wǎng)用戶需要訪問內(nèi)網(wǎng)服務(wù)器提供的一些服務(wù)的組網(wǎng)場景。靜態(tài)NAT分為NAT Static和NAT Server。兩者都可以對外網(wǎng)提供服務(wù),但是在內(nèi)網(wǎng)主動訪問外網(wǎng)的地址轉(zhuǎn)換中,兩者略有不同,具體差異如下:
l NAT Server對于內(nèi)網(wǎng)主動訪問外網(wǎng)的情況不做端口轉(zhuǎn)換,僅做地址轉(zhuǎn)換,即當(dāng)報文的源IP地址匹配NAT Server規(guī)則里的內(nèi)網(wǎng)IP地址時,不論端口號是多少,都會轉(zhuǎn)換報文的源IP地址。
l NAT Static對于內(nèi)網(wǎng)主動訪問外網(wǎng)的情況既做端口轉(zhuǎn)換,也做地址轉(zhuǎn)換,即只有當(dāng)報文的源IP地址和端口號同時匹配NAT Static規(guī)則里的內(nèi)網(wǎng)IP地址和端口號時,才會轉(zhuǎn)換報文的源IP地址和端口號。
配置內(nèi)網(wǎng)主機訪問外網(wǎng)示例

組網(wǎng)需求
某公司A區(qū)和B區(qū)的內(nèi)網(wǎng)用戶通過路由器和Internet相連,A區(qū)和B區(qū)的內(nèi)網(wǎng)用戶都有訪問外網(wǎng)Internet的需求。公司為A區(qū)用戶規(guī)劃的外網(wǎng)IP地址較多,A區(qū)用戶希望使用外網(wǎng)地址池中(2.2.2.100~2.2.2.200)的地址和A區(qū)內(nèi)部主機的地址(網(wǎng)段為192.168.20.0/24)進行一對一轉(zhuǎn)換后,訪問Internet。公司為B區(qū)用戶規(guī)劃的外網(wǎng)IP地址較少,B區(qū)用戶希望使用外網(wǎng)地址池中的地址(2.2.2.80~2.2.2.83)和B區(qū)內(nèi)部主機的地址(網(wǎng)段為10.0.0.0/24)進行一對多轉(zhuǎn)換后,訪問Internet。公司為路由器WAN側(cè)接口規(guī)劃的外網(wǎng)IP地址為2.2.2.1/24,對端運營商側(cè)IP地址為2.2.2.2/24。
配置思路
配置內(nèi)網(wǎng)主機訪問外網(wǎng)的思路如下:
1.配置接口IP地址、缺省路由,實現(xiàn)內(nèi)部主機和外網(wǎng)Internet之間路由可達(dá)。
2.在WAN側(cè)接口下為A區(qū)用戶配置不帶端口轉(zhuǎn)換的NAT Outbound,實現(xiàn)A區(qū)內(nèi)部主機經(jīng)過一對一地址轉(zhuǎn)換后訪問外網(wǎng)Internet。
3.在WAN側(cè)接口下為B區(qū)用戶配置帶端口轉(zhuǎn)換的NAT Outbound,實現(xiàn)B區(qū)內(nèi)部主機經(jīng)過一對多地址轉(zhuǎn)換后訪問外網(wǎng)Internet。
操作步驟:
1. 在Router上配置接口IP地址
<Huawei> system-view
[Huawei] sysname Router
[Router] vlan 100
[Router-vlan100] quit
[Router] interface vlanif 100
[Router-Vlanif100] ip address 192.168.20.1 24
[Router-Vlanif100] quit
[Router] interface ethernet 2/0/0
[Router-Ethernet2/0/0] port link-type access
[Router-Ethernet2/0/0] port default vlan 100
[Router-Ethernet2/0/0] quit
[Router] vlan 200
[Router-vlan200] quit
[Router] interface vlanif 200
[Router-Vlanif200] ip address 10.0.0.1 24
[Router-Vlanif200] quit
[Router] interface ethernet 2/0/1
[Router-Ethernet2/0/1] port link-type access
[Router-Ethernet2/0/1] port default vlan 200
[Router-Ethernet2/0/1] quit
[Router] interface gigabitethernet 3/0/0
[Router-GigabitEthernet3/0/0] ip address 2.2.2.1 24
[Router-GigabitEthernet3/0/0] quit
2. 在Router上配置缺省路由,指定下一跳地址為2.2.2.2
[Router] ip route-static 0.0.0.0 0.0.0.0 2.2.2.2
3. 在Router上配置不帶端口轉(zhuǎn)換的NAT Outbound
在Router上配置不帶端口轉(zhuǎn)換的NAT Outbound
[Router] nat address-group 1 2.2.2.100 2.2.2.200
[Router] acl 2000
[Router-acl-basic-2000] rule 5 permit source 192.168.20.0 0.0.0.255
[Router-acl-basic-2000] quit
[Router] interface gigabitethernet 3/0/0
[Router-GigabitEthernet3/0/0] nat outbound 2000 address-group 1 no-pat
[Router-GigabitEthernet3/0/0] quit
4. 在Router上配置帶端口轉(zhuǎn)換的NAT Outbound
[Router] nat address-group 2 2.2.2.80 2.2.2.83
[Router] acl 2001
[Router-acl-basic-2001] rule 5 permit source 10.0.0.0 0.0.0.255
[Router-acl-basic-2001] quit
[Router] interface gigabitethernet 3/0/0
[Router-GigabitEthernet3/0/0] nat outbound 2001 address-group 2
[Router-GigabitEthernet3/0/0] quit
[Router] quit
5. 驗證配置結(jié)果
# 在Router上執(zhí)行命令display nat outbound,查看地址池配置。
<Router> display nat outbound
NAT Outbound Information:
-----------------------------------------------------------------
Interface Acl Address-group/IP/Interface Type
-----------------------------------------------------------------
GigabitEthernet3/0/0 2000 1 no-pat
GigabitEthernet3/0/0 2001 2 pat
-----------------------------------------------------------------
Total : 2
# 在Router上執(zhí)行命令ping,驗證內(nèi)網(wǎng)可以訪問Internet。
<Router> ping -a 192.168.20.1 2.2.2.2
PING 2.2.2.2: 56 data bytes, press CTRL_C to break
Reply from 2.2.2.2: bytes=56 Sequence=1 ttl=255 time=1 ms
Reply from 2.2.2.2: bytes=56 Sequence=2 ttl=255 time=1 ms
Reply from 2.2.2.2: bytes=56 Sequence=3 ttl=255 time=1 ms
Reply from 2.2.2.2: bytes=56 Sequence=4 ttl=255 time=1 ms
Reply from 2.2.2.2: bytes=56 Sequence=5 ttl=255 time=1 ms
-- 2.2.2.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 1/1/2 ms
配置外網(wǎng)主機訪問內(nèi)網(wǎng)服務(wù)器示例

組網(wǎng)需求
公司的內(nèi)網(wǎng)部署了一臺服務(wù)器,公司外部網(wǎng)絡(luò)Internet上的一臺主機希望能通過一個外網(wǎng)IP地址訪問該服務(wù)器。公司為該服務(wù)器規(guī)劃的內(nèi)網(wǎng)IP地址為192.168.0.2/24,外網(wǎng)IP地址為2.2.2.3/24。路由器的WAN側(cè)接口的IP地址為2.2.2.1/24,LAN側(cè)網(wǎng)關(guān)IP地址為192.168.0.1/24,對端運營商側(cè)IP地址為2.2.2.2/24,外網(wǎng)主機IP地址為1.1.1.1/24。
配置思路
配置外網(wǎng)主機訪問內(nèi)網(wǎng)服務(wù)器的思路如下:
1.配置接口IP地址、缺省路由,實現(xiàn)內(nèi)網(wǎng)服務(wù)器和外網(wǎng)主機之間路由可達(dá)。
2.在WAN側(cè)接口下配置NAT Static,實現(xiàn)外網(wǎng)主機使用外網(wǎng)IP地址2.2.2.3訪問內(nèi)網(wǎng)服務(wù)器。
操作步驟
1.在Router上配置接口IP地址
<Huawei> system-view
[Huawei] sysname Router
[Router] interface gigabitethernet 2/0/0
[Router-GigabitEthernet2/0/0] ip address 2.2.2.1 24
[Router-GigabitEthernet2/0/0] quit
[Router] interface gigabitethernet 1/0/0
[Router-GigabitEthernet1/0/0] ip address 192.168.0.1 24
[Router-GigabitEthernet1/0/0] quit
2.在Router上配置缺省路由,指定下一跳地址為2.2.2.2
[Router] ip route-static 0.0.0.0 0.0.0.0 2.2.2.2
3.在Router的WAN側(cè)接口GE2/0/0上配置一對一的靜態(tài)NAT
[Router] interface gigabitethernet 2/0/0
[Router-GigabitEthernet2/0/0] nat static global 2.2.2.3 inside 192.168.0.2
[Router-GigabitEthernet2/0/0] quit
[Router] quit
4.驗證配置結(jié)果
在Router上執(zhí)行display nat static命令查看地址池映射關(guān)系。
<Router> display nat static
Static Nat Information:
Interface : GigabitEthernet2/0/0
Global IP/Port : 2.2.2.3/----
Inside IP/Port : 192.168.0.2/----
Protocol : ----
VPN instance-name : ----
Acl number : ----
Vrrp id : ----
Netmask : 255.255.255.255
Description : ----
Total : 1
好了,華為路由器NAT經(jīng)典配置就先聊到這里,了解更多網(wǎng)絡(luò)工程師相關(guān)內(nèi)容請關(guān)注SPOTO思博網(wǎng)絡(luò):SPOTO思博網(wǎng)絡(luò)是全球IT技術(shù)人才在線培訓(xùn)學(xué)習(xí)基地,致力于培育優(yōu)質(zhì)的IT人才,加速IT互聯(lián)網(wǎng)技術(shù)人才職業(yè)技能進階。我們在思科認(rèn)證、華為認(rèn)證、CISSP信息安全認(rèn)證、Linux、云計算、大數(shù)據(jù)和人工智能等領(lǐng)域為客戶提供有競爭力的培訓(xùn)產(chǎn)品和可信賴的服務(wù),持續(xù)為客戶創(chuàng)造價值,釋放個人潛能。始終圍繞客戶需求持續(xù)創(chuàng)新,加大課程研發(fā)投入,厚積薄發(fā),推動個人成長,加速職業(yè)進程,為世界節(jié)省培養(yǎng)ICT架構(gòu)師的時間。