2023/04/17 NAT角色區分

講到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。