講到NAT角色,這一塊經常搞亂很多學習CCNA的新進,但其實很簡單。
今天教了兩三小時,下班後突然有點頓悟,就趕緊把更好的說法寫下來。
在Cisco的NAT章節中,在NAT Table中,可以分成「Inside Local」、「Inside Global」、「Outside Local」、「Outside Global」。
參考文章《Jan Ho的網路世界》
首先來區分什麼是Inside跟Outside,當我們設置NAT規則時,規則中符合的來源IP的來源端就是Inside;規則中符合的目的IP的目的端就是Outside。
也就是說,如果封包的「來源IP」到「目的IP」符合,就會進行NAT。可能是來源IP轉換,或是目的IP轉換,又或者是來源IP跟目的IP都轉換。
如果來源IP跟目的IP都不轉換要怎麽看inside跟outside,這問題肯定是開玩笑的。
實際上NAT規則,需要設定「來源」「來源Port或服務」「目的」「目的Port或服務」,若吻合則進行「Src NAT」、「Dst NAT」、「Dual NAT」。
Inside即是NAT規則中「來源」這一區塊,Outside則是NAT規則中「目的」這一塊。
「即先設好NAT規則,才能區分出Inside或Outside。」
接著談Local跟Global,如果是Inside看Inside或是Outside看Outside就是Local;如果是Inside看Outside或是Outside看Inside就是Global。
在NAT角色中「Inside Local」、「Inside Global」、「Outside Local」、「Outside Global」都是對應IP位置。Local的意思是當地的,也就是說Inside Local表示的IP就是當地IP。
「Local的IP是NAT設備上看到終端設備IP」通常就是終端設備本身設定的IP。
而Global的概念就是別人眼中的設備IP,從另外一個Side去看到的設備IP。
「Global的IP表示在另一側設備所看到終端設備IP」因此設備的Global IP是什麼,就是另一端設備回覆時的目的IP。
local就是自己看自己,global就是別人看自己。
接著我們舉個例,一般家用網路環境,路由器會將192.168.0.x去NAT轉成public IP。這NAT規則即「來源為192.168.0.x」就進行Src NAT轉換。
以NAT設備做區分,192.168.0.x是NAT規則的來源,即為Inside。
我們連上whatismyip,可以網頁看到一組IP,這IP是外面的設備所認為我設備的IP,我設備是在Inside,從Outside看到Inside為Global,因此這組IP是Inside Global。
換個例子,今天要拿一組Public IP作為提供給網際網路來存取伺服器的IP。
這時候我們會進行 Static NAT,讓Public IP對照到一個Private IP。
請問從網際網路來想存取伺服器的設備是處在Inside或Outside?答案是Inside。
NAT規則為「來源為網際網路」「目的為特定Public IP」進行Dst NAT轉換。
因此身在網際網路的設備為來源,所以是Inside。
新手誤區
- 把Private IP當成Inside,把Public IP當成Outside。
- 認為Global是Public IP,把Local認為是Private IP。
- 沒有意識到NAT的過程發生點,沒有探討封包從Inside Local發出時到最後收到回覆過程中封包的Soure IP與Destination IP的變化。
- NAT具有強烈的方向性,但是沒有注意到方向性。
在我的上述所述,雖然在Private IP to Public IP的交界處做NAT是非常經典的案例,但是,NAT沒有非得一定得在這樣的環境上做,NAT也可以用於Public IP to Private IP、Public IP to Public IP或是Private IP to Private IP的環境,Public IP to Private IP也常見於提供服務在網際網路上。
雖然用Public跟Private的概念可以幫助記憶,但是一旦擁抱住一點點,就會難以理解NAT功能中的各個角色,陷入誤區第一點第二點,記得NAT本身功能概念跟Public IP跟Private IP是沒有關聯的。
重點溫習
- NAT規則為符合「來源」「來源Port或服務」「目的」「目的Port或服務」則進行「Src NAT」、「Dst NAT」、「Dual NAT」。
- 先有NAT規則,才能區分出Inside或Outside。
- Inside即是NAT規則中「來源」這一區塊。
- Outside則是NAT規則中「目的」這一區塊。
- Local代表的IP是NAT設備所看到的設備的IP,通常為終端設備上的IP。
- Global代表的IP為從另一側所看到終端設備的IP。