NAT穿透技術從外部直接溝通私有IP | 網管人
文章推薦指數: 80 %
NAT技術將內部與外部的IP位址做對應,詳細設定如表3所示。
... 一開始,伺服器會傳送封包給Cisco路由器設備,此時網路封包的來源端IP位址 ...
疫情時代儲存難題怎解?快來聽專家說分明
熱門活動精彩回顧都在這
>技術專欄
NetworkAddressTranslation
Server
NAT
NAT穿透技術從外部直接溝通私有IP
2014-11-26
胡凱智
之前介紹過的STUN技術,事實上就是一種NAT穿透技術,不過現在有非常多不同的NAT穿透技術,沒有一種技術可以運用於所有的NAT環境,因為NAT並不是一種標準。
這篇文章將針對多種常見的NAT穿透技術做一個簡介,讓讀者先瞭解有哪些技術可供選擇。
IP位址的轉換過程
先用下面的例子來說明NAT是如何做到內部私有IP位址和外部公有IP位址的轉換,假設網路架構示意圖如圖2所示。
在圖2內,中間是一台Cisco路由器設備,同時連接內部網路和網際網路,右邊是網際網路,右下方是網際網路內的其中一台電腦,其IP為140.115.3.1,而左邊是內部網路,分別有個人電腦、伺服器以及PDA各一台,各使用192.168.0.1、192.168.0.2以及192.168.0.3這三個私有IP位址。
▲圖2網路架構示意圖。
NAT技術將內部與外部的IP位址做對應,詳細設定如表3所示。
表3內部與外部的IP位址對應
現在,假設伺服器(192.168.02)要傳送網路封包給外面那一台電腦(140.115.3.1),其步驟如下所述:
一開始,伺服器會傳送封包給Cisco路由器設備,此時網路封包的來源端IP位址為192.168.0.2,到目前為止還是使用內部的私有IP位址,而目的地IP位址是140.115.3.1。
接著,Cisco路由器設備收到這個網路封包,現在要轉送網路封包前往140.115.3.1這個目的地位址,但是由於網路封包內的來源端IP位址依然為私有IP位址,這樣的IP位址是不允許在網際網路中使用,不然的話,目的端電腦就沒有辦法回應封包給原本的來源端電腦。
因此,Cisco路由器設備必須從對應表中取出192.168.0.2這個InsideLocal位址所對應的InsideGlobal位址,也就是171.69.0.42,並取代網路封包中的來源端IP位址,然後把封包送往目的地。
此時,網路封包內的來源端IP位址是171.69.0.42。
目的端電腦收到這個網路封包後,假若需要回傳資料給原本的伺服器,則這台目的端電腦會取出網路封包中的來源端IP位址(171.69.0.42),然後把這個公有IP位址當作目的端IP位址來傳送網路封包。
此時,網路封包中的來源端IP位址當然就是140.115.3.1自己這台電腦的位址。
然後,這個網路封包會被中間這台Cisco路由器設備收到,並發現封包中的目的端IP位址是171.69.0.42。
為了將封包送到正確的目的地,Cisco路由器設備會到NAT位址對應表中取出171.69.0.42這個InsideGlobal位址所對應的InsideLocal位址(192.168.0.2),並用這個位址當作網路封包中的目的端IP位址,這樣網路封包才能正確無誤地傳送到伺服器手上。
以上就是NAT技術的應用過程,當然有人可能發現到NAT技術會去更改網路封包中的內容,不過只會更改來源端IP位址和目的端IP位址,但網路封包中原本就會被修改的東西還是會被修改,如TTL(TimeToLive)值。
NAT穿透技術
NAT穿透技術,英文稱為NATTraversal,也可以簡稱為NAT-T。
如同一開始所提到的,現在有許多不同的NAT穿透技術,但很難說有任何一種NAT穿透技術可以用於所有的NAT網路環境,主要原因是NAT並沒有被標準化。
大部分的NAT穿透技術需要有一個伺服器,而這個伺服器擁有公開並且可以到達的IP位址。
至於這個伺服器需要做什麼,各種NAT穿透技術並不太相同,有些NAT技術非常仰賴這樣的伺服器,可能會讓它協助所有的資料通訊,有些則只是需要讓這些伺服器協助建立一開始的連線即可。
這可以考量到底自己所要解決的是怎樣的NAT網路環境,以及是為了什麼需求,不同的方式會有不同的好壞特點,可能是伺服器端或是用戶端的網路速度,又或者是網路頻寬的差異等等。
NAT穿透技術與網路安全環境
大部分可能是中大型的企業環境比較會採用NAT,這也代表有極大的可能性還會有其他安全性的網路環境需要一起考慮。
但大部分的NAT穿透技術並沒有將這些環節考慮進來,主要也是因為很難針對這些安全性的設計做特殊處理,所以大多會在防火牆上做設定,好讓NAT穿透技術成為例外情況來處理。
另外就是IPSec(IPSecurity)的環境,如果想在這樣的網路環境中使用NAT穿透技術,需要在防火牆上實作IKE(InternetKeyExchange)或ESP(EncapsulatingSecurityPayload),或者使用IPSecNAT-T技術。
IKE技術使用UDP編號為500的埠,ESP則使用IP編號為50的埠,而IPSecNAT-T採用UDP編號為4500的埠。
事實上,有些比較好的路由器可能已經把這些功能事先實作,通常會稱為IPSec穿透,英文可能是IPSecPass-through或是IPSecTraversal等等。
而對於用戶端而言,若是Windows作業系統,大部分都沒有問題,都是預設就已經是開啟NAT穿透技術的支援,應該只有WindowsXPSP2是關閉的,這是基於Windows當時安全性的問題考量,其他的Windows應該都是全部開啟的。
主要的NAT穿透技術
之前筆者曾經介紹過的STURN(SessionTraversalUtilities),就是其中一種NAT穿透技術。
STUN協定需要遠端在外部網路架設一個STUN伺服器,詳細地說,STUN協定是運作在伺服器與用戶端之間。
STUN協定最初的設計初衷是讓上層的應用程式得知目前的機器是否運作在NAT環境之中,大致上運作步驟如下:
1.用戶端先發送一個BindingRequest封包給STUN伺
服器。
2.STUN伺服器把從伺服器端看到的用戶端IP位址與
埠(Port)的號碼傳回給用戶端,當作是一個success的封包。
3.最後結果以XOR運算方式來取得。
STUN會與所謂的ICE(InteractiveConnectivityEstablishment)一起使用。
另外,早期1990年代還有SOCKS(SocketSecure)的方式。
而與防火牆相關的,還有ALG(Application-LevelGateway),指的是在防火牆設定讓NAT穿透技術可以運作(不受防火牆的阻擋)的元件。
家用的路由器大多可能會使用的技術是UPnPIGD方式。
其他比較知名的方式還有TURN(TraversalUsingRelayNAT)和SBC(SessionBorderController),以及UDP打洞,英文稱之為UDPHolePunching。
當然,也有所謂的TCPHolePunching和ICMPHolePunching等等。
在這些方式之中,應該屬STUN比較被廣泛使用。
以下列出一些可能與NAT穿透技術相關的文件供大家參考,如表4所示。
表4NAT穿透技術相關RFC文件
<本文作者:胡凱智,目前在美商Mozilla擔任全球技術專案總監,曾於趨勢科技任職七年多,有兩年美國矽谷工作經驗,在美國專利局擁有軟體專利。
讀者可在其粉絲專頁獲取更多網路知識及交流建議:https://www.facebook.com/khu.page>
1
2
3
分享
您可能感興趣的文章
推薦文章
最新上架
more→
NetApp與思科攜手推出FlexPodXCS 將HCI延伸至混合雲
2022-03-18
混合辦公倚重商務通話 VoIP整合維繫客戶關係
2022-03-18
中國駭客早已虎視眈眈!奧義智慧挖掘金融機構攻擊事件內幕,呼籲即刻清查供應鏈避免情勢惡化
2022-03-17
解決急就章整合不全 數位優化造就彈性辦公
2022-03-17
電信營運商攜手VMware朝向科技巨頭轉型
2022-03-16
Temenos聯袂經濟學人智庫調查顯示:銀行改變客戶體驗並推動新的商業模式,人工智慧AI的應用日趨成熟
2022-03-16
達梭系統於3DEXPERIENCE平台推出生命週期評估解決方案
2022-03-16
混合辦公非一蹴可幾 循序漸進完備資安協作
2022-03-16
Supermicro邊緣方案 開拓電信、工業和智慧邊緣的新商機
2022-03-15
區塊鏈技術助力資料治理 安全信任增進存證合規
2022-03-15
人氣點閱
more→
零售業迎向雲端新常態
2022-03-11
「即服務」加速現代化轉型
2022-03-11
推跨雲服務架構 VMware力挺多雲
2022-03-11
Pure推旗艦儲存 效能安全兼顧
2022-03-10
元宇宙開啟虛擬世界大門 相關應用商機持續發酵
2022-02-10
產業維新勿陷名詞之爭 用決策型組織強化競爭力
2022-02-11
以風險評估數值為基礎 逐步落實零信任控管
2022-02-10
郵件資安攻擊板塊位移 物流詐騙信隨疫情增25倍
2022-03-05
雲原生開發彙整大數據 領域知識建模AIOps
2022-03-04
活用vSphere內建工具 搞定大量虛機部署管理
2022-03-14
月刊雜誌
第194期
2022年3月
混合辦公倚重商務通話 VoIP整合維繫客戶關係
more→
精選影音
從負載均衡到雲原生應用服務與安全線上講堂
後疫情時代資安新常態:「零信任」架構網路安全性—Aruba,aHewlettPackard
Keynote:RebuildingaTrustedIoTEnvironmentinaPost-pandemicWorld—JohnMoor
more→
請輸入您的E-mail
追蹤我們Featrueus
...
確定
本站使用cookie及相關技術分析來改善使用者體驗。
瞭解更多
我知道了!
延伸文章資訊
- 1NAT穿透技術從外部直接溝通私有IP | 網管人
NAT技術將內部與外部的IP位址做對應,詳細設定如表3所示。 ... 一開始,伺服器會傳送封包給Cisco路由器設備,此時網路封包的來源端IP位址 ...
- 2設定NAT 網路
- 3NAT 配置的功能和限制 - VMware Docs Home
NAT 通常不允許從網路外部起始連線,但您可以手動設定NAT 裝置以設定伺服器連線。實際的結果是,某些需要從伺服器機器起始連線的TCP 和UDP 通訊協定不會 ...
- 4[無線路由器] 如何在華碩無線路由器中更改NAT類型? | 官方支援
Symmetric NAT(華碩路由器預設中為此NAT類型): 內部網路中每一個IP的請求都 ... 點選進階設定中的[外部網路(WAN)] > [網際網路連線] > 找到NAT Type.
- 5NAT 網路位址轉譯 - 翻轉工作室
PAT 是利用埠口位址轉換型的 NAT,也是一般坊間常用的 NAT 設定,它內部與外部位址之間是多對一的關係。即是一個合法 IP 位址可以讓多個內部私有位址共用,之間就是利用埠 ...