什麼是 Azure NAT Gateway?

已完成

身為負責解決與 Azure VM 目前連線問題的系統工程師組長和 Azure 系統管理員,您的第一步是要了解 Azure NAT Gateway 的技術背景和功能。

Azure NAT Gateway 是在 Azure 中執行的完全受控雲端服務。 其具有高度復原性、可調整且易於設定。 在 Azure 中使用 Azure NAT Gateway 搭配現有虛擬網路時,個別 VM 或其他 Azure 資源可以保持完全私人,除非它們裝載接受來自網際網路之輸入連線的服務。 從虛擬網路起始的所有輸出連線,都會使用 NAT Gateway 的靜態公用 IP 位址。

NAT 概觀

NAT 不是新技術。 這已用於將本機 IP 位址對應至公用位址數十年。 NAT 的主要用途之一是儲存公用 IPv4 位址,這對網際網路服務提供者 (ISP) 特別實用。 這些公司可以使用 NAT,將許多私人 IPv4 位址對應至一個公用 IP 位址,或對應至幾個公用 IP 位址。

NAT 也用於家庭和區域網路。 如果您有會將您連線至網際網路的家用路由器,則可能已實作 NAT。 這麼一來,您的所有裝置都只使用一個公開 IP 位址路由至網際網路。 NAT 也會隱藏您的內部位址空間,因此所有輸出流量似乎都來自單一公用 IP 位址。 IP 位址會指派給路由器或閘道裝置。

使用 NAT 時,請務必了解傳輸控制通訊協定 (TCP) 通訊埠及其用途。 連接埠位址轉譯可讓私人網路中的每個主機,使用單一公用 IP 位址在網際網路上通訊,以便透過專屬 TCP 通訊埠建立每個通訊路徑。 此程序如下:

  1. 私人網路上的裝置會建立與網際網路上資源的連線。 NAT 會在封包標頭中將內部裝置 IP 位址取代為 NAT 裝置的 IP 位址。

  2. 連接埠位址轉譯就會從可用連接埠集區,指派連接埠號碼。

  3. 該連接埠號碼會插入封包標頭的來源連接埠欄位中,封包就會轉接至網際網路。

  4. NAT 裝置接著會在網路轉譯表格中記錄項目:

    • 針對已建立的每個連線,此項目包含內部 IP 位址、原始來源連接埠和已轉譯的來源連接埠。
    • 來自相同內部來源 IP 位址和連接埠號碼的後續封包,一律會轉譯為相同外部 IP 位址和連接埠號碼。
  5. 接收已進行 NAT 之封包的電腦,接著會建立與已改變封包中所指定連接埠和 IP 位址的連線,忽略所提供位址正在轉譯的事實。

下圖描述 NAT 流程。

主機與伺服器之間的網路位址轉譯程序。

注意

NAT 大部分用於建立對網際網路的輸出連線。 但無法直接管理來自網際網路的輸入連線。 您必須針對該用途使用其他技術。

Azure 中的 NAT 服務

您在 Azure 中建立虛擬網路時,您會指派私人位址空間,然後將一或多個子網建立至該網路。 您在 Azure 中建立 VM,然後將其放在該虛擬網路中時,它會從該網路取得其本機 IP 位址。 如果您想要接受該 VM 上的輸出網際網路連線,也可以將公用 IP 位址物件指派給該 VM。

注意

您未指派公用 IP 位址的 Azure VM,仍可使用 Azure 網路位址轉譯或連接埠位址轉譯來存取網際網路。 不過,在這種情況下,您無法控制將用於輸出連線的公用 IP 位址。 您也無法啟用輸入連線,或使用遠端桌面通訊協定 (RDP),從外部連線到這些 VM,相反地,您必須使用 Azure Bastion 主機。

若要協助確保 Azure VM 和其他資源安全可控且可調整的輸出連線,您可以建立 Azure NAT Gateway 服務的執行個體。 接著,您會將該執行個體指派給 Azure 中相同虛擬網路內的一或多個子網路。

Azure NAT Gateway 服務就會協助將您的私人 IP 位址,安全轉譯為公用 IP 位址,如下圖所示:

Azure NAT Gateway 會指派給虛擬網路上的兩個子網路,並將私人 IP 位址轉譯為公用 IP。