1. 程式人生 > >華為NAT技術詳解

華為NAT技術詳解

服務器負載均衡 外部 網關 ott 通信 inb tab rul policy

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技術詳解