天天看點

nat端口限制_NAT:端口受限類型和對稱型有什麼差別?

問題描述

能否舉例說明下?比如:内網兩台機器(192.168.0.2和192.168.0.3),NAT(外網位址:1.1.1.1),外網兩台機器(2.2.2.4和2.2.2.5)這樣的場景下,有什麼不同的?

nat端口限制_NAT:端口受限類型和對稱型有什麼差別?

還沒有閱讀這篇文章的讀者,請先前往閱讀。

看了很多人寫的關于NAT的文章,感覺并沒有将這個問題講透徹,以至于中文網際網路上一提到“對稱型NAT”很多人人雲亦雲,殊不知第一個解釋的人可能是正确的,但是經過無數人的口口相傳,一個原本正确的解釋變得面目可憎,不知所雲。

NAT無疑是複雜的,成百上千的網絡廠商,在沒有技術标準規範出台前,百花争奇鬥豔,野草叢生。這樣給網絡的部署、應用程式的互通帶來了無法預料的挑戰。于是IETF将市場上的主流NAT實作做了一個分類,并強烈建議後來的廠商按照這個分類來實作自己的NAT。

為了更好地解釋這個分類,特定義1個用戶端主機,2個伺服器主機。

用戶端主機私有IP = 10.1.1.1

用戶端NAT全球IP = 1.1.1.1

伺服器A全球IP = 2.2.2.2

伺服器B全球IP =3.3.3.3

類型1:全紡錘型(Full-cone NAT)

用戶端與伺服器A通信,通信四元組為:

Source IP =10.1.1.1

Source Port = 11111

Destination IP =2.2.2.2

Destination Port =2222

NAT裝置改寫了IP封包四元組:

Source IP = 1.1.1.1

Source Port = 12121

Destination IP =2.2.2.2

Destination Port =2222

NAT表為:

10.1.1.1:11111      1.1.1.1:12121

NAT入向(Outside  -> Inside)過濾清單為:

ACL = (1.1.1.1,12121,*, *)

括号中的第一個“ *“ ,代表任何網際網路IP。

括号中的第二個“ *“ ,代表任何端口号。

這個過濾清單的意思是,隻要滿足目的IP = 1.1.1.1,目的端口号= 12121 的任何封包,NAT裝置會準許通行。很顯然這樣最寬松的準入機制。

意味着伺服器B使用使用3.3.3.3,任何端口号的IP封包都可以從NAT裝置自由通行,并最終到達用戶端主機。

這個就是全紡錘型的由來,很顯然這不是一種安全的類型,隻要用戶端主機向網際網路發送一個IP封包,用戶端的主機端口号就暴露在網際網路上,成為攻擊者掃描的對象端口。

既然第一種類型不安全,那麼就有了第二種安全類型。

類型2:限制位址型

類型2與類型1相比,整體都是相同的,隻是過濾清單更嚴格了,四元組裡限制了三元,隻剩餘唯一的端口沒有限制。

NAT入向(Outside  -> Inside)過濾清單為:

ACL = (1.1.1.1,12121,2.2.2.2, *)

這個過濾清單的潛台詞是,凡是滿足前三個條件的封包,都可以自由從NAT裝置進入内網,并最終到達用戶端主機。

來自2.2.2.2:22222的流量可以到達用戶端嗎?當然可以!

來自3.3.3.3:22222的流量可以到達用戶端嗎?當然不可以!

這裡的限制位址,指的是限制來自網際網路得源IP位址,即括号中黃色加亮得部分。

nat端口限制_NAT:端口受限類型和對稱型有什麼差別?

大家可以看出,這種方式還是相對寬松的,伺服器A(2.2.2.2)可以使用任何端口,與用戶端主機(10.1.1.1:11111)通信。

更安全的類型,需要類型3,類型4來提供,欲知類型3,類型4如何分解,且聽下回分解,前提是掌聲夠熱烈。。。