華爲防火牆中所有NAT技術解析

nat分類

根據源地址分類

根據目的地址

Inbound/outbound

靜態動態

分類


轉換內容

是否轉換端口

特點

NAT

地址池方式

IP地址

可選

採用地址池中的公網地址爲私網用戶進行地址轉換,適用於大量私網用戶訪問Internet的場景。


出接口地址方式(Easy IP

IP地址

內網主機直接借用公網接口的IP地址訪問Internet,特別適用於公網接口IP地址是動態獲取的情況。

服務器映射

靜態映射(NAT Server

目的IP地址

可選

公網地址和私網地址一對一進行映射,適用於公網用戶訪問私網內部服務器的場景。


服務器負載均衡

目的IP地址

可選

適用於多個內網服務器提供相同的服務,對外虛擬成一個服務器,對用戶的訪問流量進行負載均衡的場景。

目的NAT


目的IP地址

可選

主要應用在轉換手機用戶WAP網關地址,使手機用戶可以正常上網的場景。

NAT類型

私網IP和公網IP的數量對應

是否轉換端口

是否生成server-map

是否有黑洞路由

NAT  No-PAT

一對一

NAPT

多對一

多對多

出接口地址方式(Easy-IP

多對一

Smart  NAT

(僅高端防火牆USG9000

系列支持)

一對一

(預留IP做多對一轉換)

(預留IP做端口

轉換)

(僅NAT NO-PAT

三元組NAT

(僅高端防火牆USG9000

系列支持)

多對一

多對多

 

 

easy-ip中配置(USG6000)時:源地址可以不寫,但是目的地址必須寫,因爲easy-ip轉換根據出接口尋找

nat-policy

rule name easy_ip

  source-zone dmz

  destination-zone untrust

  action nat easy-ip

 

 

NAPT  --- NAT  NO-PAT                                                                               39782d7ef54d11d617c5183a9a255684.png-wh_

配置基於域間:(USG5500

定義地址池:

nat address-group 1 20.1.1.10 20.1.1.20

 

配置NAT策略:

nat-policy interzone huawei ahang inbound

 policy 1

  action source-nat (no-pat)

  policy source 10.1.1.0 0.0.0.255

  address-group 1

 

dis cur conf nat-policy-interzone

 

 

NAT-serverUSG5500

基於目的的IP轉換

nat server 0 protocol tcp global 20.1.1.254 3333 inside 10.1.1.1 telnet

nat server 1 protocol icmp global interface GigabitEthernet0/0/2 inside 10.1.1.1

 

查看NAT表項----一對一靜態綁定中會出現server-map,無需動態觸發,靜態生成,動態的會產生大量的map表,佔用大量資源

                        ------三元組,smart-nat也存在server-map

 

Display Firewall server-map

 Current Total Server-map : 2

 Type: No-Pat Reverse, ANY -> 10.1.1.254[10.1.2.1],  Zone:---

 Protocol: ANY, TTL:---, Left-Time:---,  Pool: 0, Section: 0

 ***: public

 

 Type: No-Pat,  10.1.2.1[10.1.1.254] -> ANY,  Zone:---

 Protocol: ANY, TTL:360, Left-Time:357,  Pool: 0, Section: 0

 ***: public

 

 

questionsNAT Server 中爲了讓公網用戶訪問私網的服務器,那麼配置安全策略時目的地址私網地址,還是轉換的公網地址?

公網用戶通過20.1.1.254:3333訪問服務器時,防火牆收到報文首包後查看目的地址和端口匹配到server-map,然後轉換爲私網

10.1.1.1:23 ,然後根據目的私網地址查路由表,從出接口trust出去,從入接口UNtrust進入。

因此安全策略中,destination-address 私網的IP地址20.1.1.1,不是公網的

 

 

nat server C 0 zone untrust protocol tcp global 10.1.2.250 ftp inside 10.1.1.1 ftp

一條NAT server會生成兩條server-map,一條用於外網訪問內網時可針對特定端口,一條用於內網主動去往外網

[FW]dis firewall server-map

 Current Total Server-map : 2

 Type: Nat Server,  ANY -> 10.1.2.250:21[10.1.1.1:21],  Zone: untrust ,  protocol:tcp

 ***: public -> public

 

 Type: Nat Server Reverse,  10.1.1.1[10.1.2.250] -> ANY,  Zone: untrust ,  protocol:tcp

 ***: public -> public,  counter: 1

但是存在幾點問題:

1.同一區域不同出接口不能同時配

[FW]nat server D zone  untrust  protocol  tcp  global  10.1.3.250 ftp  inside  10.1.1.1 ftp

Error: This inside address has been used

因爲如果多個出口會生成多個Reverse,但是10.1.1.1映射成哪一個會出現混亂,故不能同時配

但是可以配置爲

[FW]nat server D zone  untrust  protocol  tcp  global  10.1.3.250 ftp  inside  10.1.1.1 ftp  no-reverse

 

2.不同區域可以同時配

[FW]nat server D zone  untrust11  protocol  tcp  global  10.1.3.250 ftp  inside  10.1.1.1 ftp

 

3.no-reverse作用:

不會生成一條反向的NAT條目

 

4.配置源進源出,保證來回的路徑一致。

多出口不同ISP時,做了地址轉換後,回包時防火牆上存在多個默認路由,可能會導致回包路徑不一致

接口下配置:USG9500---redirect-reverse next-hop 1.1.1.254(下一跳地址)

                          USG6000-----gateway1.1.1.254         redirect-reverse enable

            USG5500/2000---reverse-route nexthop 1.1.1.254

 

5.NAT-ALG(Application level gateway)

通過在全局,區域下開啓ASPF  detect ftp)實現

Firewalls session table中存在控制連接,數據傳輸時生成server-map放行ftp數據

 

6.nat-servereasy-ip同時配置時,且轉換同一個地址時,nat-server會生效,因爲nat-server生成server-map表項

根據策略順序先查server-map表。

 

 

雙向轉換

NAT-server+ NAT inbound

第一步:NAT-server轉換,當外部用戶訪問服務器時,將服務器私網地址和公網映射,此時外部用戶直接訪問公網地址

20.1.1.1--->20.1.1.254    ==等價==  20.1.1.1---->10.1.1.1

此時  SIP:20.1.1.1   DIP:10.1.1.1

 

第二步:在外部訪問內部域間做NAT策略,使SIP公網IP變爲私網IP

nat address-group 0 10.1.1.254 10.1.1.254

nat-policy interzone trust untrust inbound

 policy 1

  action source-nat

  policy destination 10.1.1.1 0

  address-group 0

此時   SIP10.1.1.254   DIP:10.1.1.1

 

好處:服務器不用找網關了,同一網段的

            不用學到公網地址

            當網關變了,不用重新配置(當有數百臺服務器時)

 

NAT-server + 域內NAT

 

 

端口複用技術

a165cce04bf3f3d3ac5a33207b7c0bf4.png-wh_

 

Smart-NAT

只有USG9500上纔有

同時配置基於接口的和基於地址池的

正常用接口的,接口的端口不夠用時用地址池的

 

 

三元組NAT

只有USG9500上纔有

對於P2P業務中,對外訪問的地址和端口會保持一致(如100.1.1.1---3000),支持外網其他主機以目的地址和端口(100.1.1.1---3000)訪問內網時,由UNtrusttrust爲放行。

會存在server-map用來控制連接

 

 

服務器負載均衡SLBserver load balance

將多個提供相同服務的服務器虛擬成一個服務器,在防火牆上配置使三個私有IP共用一個公有的IP地址

然後當外部訪問時,根據防火牆上的負載方式:1.hash負載 2.簡單輪詢 3.加權輪詢 走流量到服務器

不能與NAT server共同提供服務

配置注意:

USG6000

<FW>dis cur conf slb

#

 slb

  group 1 A

   metric roundrobin

   health-check type tcp port 23

   rserver 0 rip 10.1.2.1 port 23

   rserver 1 rip 10.1.3.1

  vserver 0 A

   vip 0 10.1.1.10

   protocol any

   group A

 

<FW>dis security-policy  rule  2

 (2564 times matched)

 rule name 2

  source-zone local(當配置了health-check後,需要匹配出源zonelocal,檢查local去往trust的包)

  source-zone untrust

  destination-zone trust

  action permit

 

 

NAT黑洞路由問題

場景一:A------FW----B  NAT地址轉換  10.1.1.0/24----FW-----10.1.2.0/24

[FW-address-group-a]d thi

#

nat address-group a 0

 mode pat

 route enable

 section 0 10.1.4.1 10.1.4.10

 

[FW-policy-nat]d thi

#

nat-policy

 rule name A

  source-zone trust

  destination-zone untrust

  action nat address-group a

 

此時A訪問B正常轉換爲虛地址轉發,但是當B訪問虛地址時,此時虛地址時不存在的,FW爲出口所以存在出口網關默認路由指向B

B去往10.1.4.0/24FW,形成了環路。

解決方法:

1.寫條去往虛地址的路由指向NULL0

2.在地址池中有一條命令: route enable 開啓了之後效果跟1是相同的

 

場景二:A----FW---B  目的地址nat-server轉換DMZ---FW---UNtrust

如果寫nat-server時只是針對某些端口做了映射,當B去訪問其他的端口時,也會出現環路

如果nat-server中針對一個地址的直接映射,包含了所有的端口則不會出現默認路由

解決方法:

寫條去往虛地址的路由指向NULL0

 

寫條虛地址指向NULL0還有個好處,當內部運行IGP時,可以將虛地址引入IGP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章