天天看點

穿透資料中心網絡的NAT大法

nat(network address translation)是一種網絡位址轉換技術,是一種将私有位址轉化為合法ip位址的轉換技術。它被廣泛應用于各種資料中心網絡中。nat不僅完美地解決了ip位址不足的問題,還能夠有效地避免來自網絡外部的攻擊,隐藏并保護網絡内部的伺服器。資料中心内部的伺服器一般提供内網和外網兩個網卡,内網通路主要采用的是私有位址,外網通路采用的是公有位址,由于公有位址的數量是有限的,是以内網中要使用大量的私有位址,通過nat的方式實作私有位址與公有位址之間的轉換,實作私有位址也可以通路外網的功能。這麼有用的功能,怎能不趕快去了解一下,本文将詳細介紹一下nat技術。

nat可以分為兩大類技術: 基礎nat和napt兩大部分。基礎nat,它僅将私有主機的私有ip位址轉換成公有ip位址,但并不将tcp/udp端口資訊進行轉換,有動态和靜态之區分。napt是人們比較熟悉的一種轉換方式。napt普遍應用于資料中心網絡接入裝置中,它可以将中小型的網絡隐藏在一個合法的ip位址後面,它将私有連接配接映射到公有網絡中的一個單獨的ip位址上,同時在該位址上加上一個由nat裝置標明的tcp端口号。napt又分為對稱型nat和非對稱型nat。

對稱型nat

對稱型nat也叫圓錐型nat,是指私有位址裝置用同一個ip和端口去連接配接外面任何一台伺服器,它在nat伺服器上映射的都是同一個ip位址和端口,也就是說同一個私有位址和端口在nat上都隻有一個出口,是個一對多的關系,這個就有點像圓錐,故此得名是圓錐型nat。圓錐形nat又可以分為三類:完全圓錐型nat,這種nat會将私有位址轉換成公有位址并綁定,任何資料封包都可以通過公有位址送到私有主機位址上。從一個私有ip位址和端口來的所有請求,都映射到相同的公有ip位址和端口。并且,任何公有主機通過向映射的公有位址發送封包,都可以實作和私有主機進行通信。這是一種比較寬松的政策,隻要建立了私有網絡的ip位址和端口與公有ip位址和端口的映射關系,所有的internet上的主機都可以通路該nat之後的主機;位址限制圓錐型 nat,這種nat會将從相同的私有ip位址和端口來的所有請求映射到相同的公有ip位址和端口。但是與完全圓錐型nat不同,當且僅當私有主機之前已經向公有主機發送過封包,此時公有主機才能向私有主機發送封包;端口限制圓錐型nat,這種nat與位址限制圓錐型nat類似,但是更為嚴格,端口受限圓錐型nat增加了端口号的限制。目前,僅當私有主機之前已經向公有主機發送了封包,公有主機才能和此私有主機通信。

圓錐nat主要部署與使用者對應用體驗非常敏感的地方,如p2p下載下傳,由于破壞了端到端的網絡模型,如果應用不支援nat穿越協定,由公網側發起對nat後私網的下載下傳封包将被nat裝置丢棄,部署圓錐nat将改善這種情況。目前各種udp協定也考慮了nat裝置,一些基于udp協定的應用自身就可以穿越nat裝置,如qq等。位址限制圓錐型nat及端口限制圓錐nat,這兩種nat無非就是對外部裝置的ip及端口進行進一步的限制,如限制圓錐 nat就是對pc的ip位址進行限制,隻有pc的所有端口才可以對這位址及端口進行通路,而端口限制圓錐nat就是對端口進行限制,所有pc的端口隻有一個,不像圓錐nat對所有的ip及端口都沒有限制。

非對稱型nat

圓錐型nat也可以叫做非對稱型nat,與之對應的就是對稱型nat。對稱型nat是指把所有來自相同私有ip位址和端口号,到特定目的ip位址和端口号的請求映射到相同的公有ip位址和端口。如果同一主機使用不同的源位址和端口對,發送的目的位址不同,則使用不同的映射。隻有收到了一個ip包的公有主機才能夠向該私有主機發送回一個udp包。對稱的nat不保證所有會話中的私有位址、私有端口和公有ip,公有端口之間綁定的一緻性。相反,它為每個新的會話配置設定一個新的端口号。

根據以往的介紹,可以将nat做一個大緻的分類,如圖1所示:

穿透資料中心網絡的NAT大法

圖1:nat分類

當然,nat技術還不止這些,比如還有花生殼nat-ddns技術,這是國内知名品牌花生殼推出的nat技術。nat-ddns利用動态域名服務(ddns)和網絡位址轉換(nat)的伺服器實作公私網動态映射方法。nat-ddns 實作難度比傳統 ddns 大,采用“域名+端口”的通路方式。新花生殼伺服器會記錄每個新花生殼用戶端設定的映射,為不同内網伺服器的映射配置設定不同的通路端口号,通路者通過域名+ 端口号,就可以通路到相應内網伺服器的内容。還有nat444、nat64、nat-pt等一系列nat新功能,這裡提一下nat444,nat444是日本ntt公司提出來的nat新技術,是兩層nat44的簡稱,屬于ipv6過渡技術的一種,它采用端口塊配置設定方式,可以從根本上解決使用者的溯源問題。

nat是資料中心網絡必備裝置之一,除非資料中心獲得的公有位址是充足的,或者資料中心完全作為内網使用,與外網隔離,隻要不是這樣的情況,就需要部署nat裝置。nat裝置往往會部署在資料中心的網絡出口處,所有從資料中心内部通路外部,或者從外部通路資料中心内部的流量都要經過nat裝置,由nat裝置完整内外網位址的映射。顯然,nat裝置的表項非常關鍵,一旦nat出現問題,往往造成内外網之間的業務互通出現問題,互相位址的對應關系找不到,是以一般對于nat裝置資料中心都會做備份,将nat資料在多台裝置上做備份,萬一其中的部分裝置發生故障,還可以由其它裝置接管,完成内外網的位址映射。

本文作者:harbor

來源:51cto

繼續閱讀