華為NAT技術詳解
NAT介紹:
NAT(Network Address Translation,網絡地址轉換)是1994年提出的。當在專用網內部的一些主機本來已經分配到了本地IP地址(即僅在本專用網內使用的專用地址),但現在又想和因特網上的主機通信(並不需要加密)時,可使用NAT方法。
NAT功能:
NAT不僅能解決了lP地址不足的問題,而且還能夠有效地避免來自網絡外部的×××,隱藏並保護網絡內部的計算機。
1.寬帶分享:這是 NAT 主機的最大功能。
2.安全防護:NAT 之內的 PC 聯機到 Internet 上面時,他所顯示的 IP 是 NAT 主機的公共 IP,所以 Client 端的 PC 當然就具有一定程度的安全了,外界在進行 portscan(端口掃描) 的時候,就偵測不到源Client 端的 PC 。
NAT處理流程
一、基於源IP地址
a、一對一 NO-PAT
NAT中生產server-map表項的兩中情況之一:配置NAT no-pat時防火墻會為已配置的多通道協議產生的有實際流量的數據建立serve-map表。
b、多對一 NAPT
ASPF功能的主要目的是通過對應用層協議的報文分析,為其放開相應的包過濾規則,而NAT ALG的主要目的,是為其放開相應的NAT規則。
由於NAT ALG和ASPF通常都是結合使用的,所有使用一條命令就能將兩者同時開啟,在域間配置一條命令即可detece protocol。
二、基於目的IP地址
a、nat server
NAT中生產server-map表項的兩中情況之二:配置 NAT SERVER時防火墻會自動生產server-map表項,用於存放global地址與inside地址的映射關系。
b、高級目的nat
需求:CLIENT1(10.1.1.1)訪問202.1.3.3,防火墻處理後將目的地址變更為202.1.3.2(CLIENT3)
#
acl number 3000
rule 25 permit ip source 10.1.1.1 0 destination 202.1.3.3 0
#
firewall zone trust
set priority 85
destination-nat 3000 address 202.1.3.2
add interface GigabitEthernet0/0/0
add interface GigabitEthernet0/0/1
#
policy interzone trust untrust outbound
policy 0
action permit
policy source 10.1.1.1 0
policy destination 202.1.3.2 0
#
------------------------------------------------------------
[SRG]display firewall session table verbose
icmp ×××:public --> public
Zone: trust--> untrust TTL: 00:00:20 Left: 00:00:00
Interface: GigabitEthernet0/0/3 NextHop: 202.1.1.1 MAC: 54-89-98-94-67-33
<--packets:0 bytes:0 -->packets:1 bytes:60
10.1.1.1:42131-->202.1.3.3:2048[202.1.3.2:2048]
------------------------------------------------------------
[SRG]display firewall server-map
空
c、SLB服務器負載均衡
三、雙向NAT
a、NAT server+NAT inboud(域間)
需求:CLIENT3(202.1.3.2)通過FTP訪問202.1.1.88的88端口,實際訪問的是server1(10.1.3.1)的21端口,server1未配置網關。
#
firewall interzone dmz untrust
detect ftp
#
nat address-group 88 10.1.3.88 10.1.3.88
nat server 0 protocol tcp global 202.1.1.88 88 inside 10.1.3.1 ftp
#
policy interzone dmz untrust inbound
policy 0
action permit
policy source 202.1.3.2 0
policy destination 10.1.3.1 0
#
nat-policy interzone dmz untrust inbound
policy 0
action source-nat
policy source 202.1.3.2 0
policy destination 10.1.3.1 0
address-group 88
#
------------------------------------------------------------
[SRG]display firewall session table verbose
ftp ×××:public --> public
Zone: untrust--> dmz TTL: 00:10:00 Left: 00:09:58
Interface: GigabitEthernet0/0/2 NextHop: 10.1.3.1 MAC: 54-89-98-d1-4b-f6
<--packets:17 bytes:1276 -->packets:19 bytes:925
202.1.3.2:2067[10.1.3.88:2048]+->202.1.1.88:88[10.1.3.1:21]
ftp-data ×××:public --> public
Zone: dmz--> untrust TTL: 00:04:00 Left: 00:04:00
Interface: GigabitEthernet0/0/3 NextHop: 202.1.1.1 MAC: 54-89-98-94-67-33
<--packets:33 bytes:1324 -->packets:53 bytes:72608
10.1.3.1:20[202.1.1.88:20]-->10.1.3.88:15362[202.1.3.2:2070]
----------------------------------------------------------------
[SRG]display firewall server-map
Nat Server, any -> 202.1.1.88:88[10.1.3.1:21], Zone: ---
Protocol: tcp(Appro: unknown), Left-Time: --:--:--, Addr-Pool: ---
×××: public -> public
Nat Server Reverse, 10.1.3.1[202.1.1.88] -> any, Zone: ---
Protocol: any(Appro: ---), Left-Time: --:--:--, Addr-Pool: ---
×××: public -> public
ASPF, 10.1.3.1[202.1.1.88] -> 10.1.3.88:15361[202.1.3.2:2069], Zone: ---
Protocol: tcp(Appro: ftp-data), Left-Time: 00:00:12, Addr-Pool: ---
×××: public -> public
ASPF, 10.1.3.1[202.1.1.88] -> 10.1.3.88:15362[202.1.3.2:2070], Zone: ---
Protocol: tcp(Appro: ftp-data), Left-Time: 00:00:51, Addr-Pool: ---
×××: public -> public
b、NAT server+域內NAT(域內)
需求:CLIENT4(10.1.3.10)通過FTP訪問202.1.1.88的88端口,實際訪問的是server1(10.1.3.1)的21端口。
配置如下:
#
nat address-group 3 202.1.1.3 202.1.1.3
nat server 0 protocol tcp global 202.1.1.88 88 inside 10.1.3.1 ftp
#
nat-policy zone dmz
policy 0
action source-nat
policy source 10.1.3.10 0
policy destination 10.1.3.1 0
address-group 3
#
-----------------------------------------------------
[FW1]display firewall server-map
Nat Server, any -> 202.1.1.88:88[10.1.3.1:21], Zone: ---
Protocol: tcp(Appro: unknown), Left-Time: --:--:--, Addr-Pool: ---
×××: public -> public
Nat Server Reverse, 10.1.3.1[202.1.1.88] -> any, Zone: ---
Protocol: any(Appro: ---), Left-Time: --:--:--, Addr-Pool: ---
×××: public -> public
---------------------------------------------------------
[FW1]display firewall session table verbose
ftp ×××:public --> public
Zone: dmz--> dmz TTL: 00:10:00 Left: 00:09:58
Interface: GigabitEthernet0/0/2 NextHop: 10.1.3.1 MAC: 54-89-98-d1-4b-f6
<--packets:91 bytes:7567 -->packets:110 bytes:5497
10.1.3.10:2051[202.1.1.3:2048]-->202.1.1.88:88[10.1.3.1:21]
NAT有什麽弊端?
在一個具有NAT功能的路由器下的主機並沒有建立真正的端對端連接,並且不能參與一些因特網協議。一些需要初始化從外部網絡建立的TCP連接,和使用無狀態協議(比如UDP)的服務將被中斷。除非NAT路由器作一些具體的努力,否則送來的數據包將不能到達正確的目的地址。(一些協議有時可以在應用層網關的輔助下,在參與NAT的主機之間容納一個NAT的實例,比如FTP。)NAT也會使安全協議變的復雜。
華為NAT技術詳解