Hybrid NAT
Hybrid NAT 是一種 Private NAT,可讓您在虛擬私有雲 (VPC) 網路與內部部署網路或其他雲端服務供應商網路之間,執行網路位址轉譯 (NAT) 作業。非Google Cloud 網路必須使用 Google Cloud的網路連線產品 (例如 Cloud Interconnect 或 Cloud VPN) 連線至 VPC 網路。
規格
除了一般私人 NAT 規格外,混合型 NAT 還有以下規格:
- 混合式 NAT 可讓 VPC 網路與內部部署網路或其他雲端服務供應商網路進行通訊,即使子網路的 IP 位址範圍重疊也不例外。使用
type=PRIVATE
的 NAT 設定後,虛擬私有雲網路中重疊和不重疊子網路的資源,都能連線至非Google Cloud網路中不重疊子網路的資源。 如要啟用混合型 NAT,非Google Cloud 網路必須宣傳其動態路徑,以便虛擬私有雲網路學習並使用這些路徑。雲端路由器會從 Google Cloud的網路連線產品 (例如 Cloud Interconnect、高可用性 VPN 或經過設定可使用動態轉送功能的傳統 VPN) 學習這些動態路徑。這些動態路由的目的地是虛擬私人雲端網路以外的 IP 位址範圍。
同樣地,對於回傳流量,您的 VPC 網路必須使用 Cloud Router 宣告私人 NAT 子網路路徑,且這個子網路路徑不得與已連線網路中的現有子網路重疊。
Hybrid NAT 會在從 VPC 網路傳送至地端部署網路或其他雲端服務供應商網路的流量上執行 NAT。網路必須透過 Cloud Interconnect 或 Cloud VPN 連線。
混合式 NAT 僅在啟用動態轉送功能時,才會支援現有的傳統版 VPN 通道。
您需要使用比對運算式
nexthop.is_hybrid
建立自訂 NAT 規則。NAT 規則會指定用途為PRIVATE_NAT
的子網路中 NAT IP 位址範圍,這樣虛擬私有雲網路中的資源就能用來與其他網路通訊。您設定混合式 NAT 的 Cloud Router 必須與 VPC 網路位於相同的地區。
您設定混合式 NAT 的 Cloud Router 不得包含任何其他 NAT 設定。
基本 Hybrid NAT 設定和工作流程
下圖為基本混合型 NAT 設定:
在這個範例中,Hybrid NAT 的設定如下:
pvt-nat-gw
閘道已在vpc-a
中設定,以便套用至us-east1
區域中subnet-a
的所有 IP 位址範圍。- Cloud Router 和內部部署或其他雲端供應商路由器會交換下列子網路路徑:
- Cloud Router 會將
10.1.2.0/29
通告至外部路由器。 - 外部路由器會將
192.168.2.0/24
通報給 Cloud Router。
- Cloud Router 會將
- 使用
pvt-nat-gw
的 NAT IP 位址範圍後,vpc-a
subnet-a
中的虛擬機器 (VM) 執行個體就能將流量傳送至本機網路或其他雲端服務供應商網路的subnet-b
中的 VM,即使vpc-a
的subnet-a
與非Google Cloud 網路中的其他子網路重疊也沒問題。
Hybrid NAT 工作流程範例
在上述圖表中,vm-a
在 vpc-a
的 subnet-a
中使用內部 IP 位址 192.168.1.2
,需要從 vm-b
下載更新,vm-b
在內部網路或其他雲端供應商網路的 subnet-b
中使用內部 IP 位址 192.168.2.2
。Cloud Interconnect 可將您的 VPC 網路連線至內部部署網路或其他雲端服務供應商網路。假設非Google Cloud 網路包含另一個與 vpc-a
中子網路重疊的子網路 192.168.1.0/24
。如要讓 vpc-a
的 subnet-a
與非Google Cloud 網路的 subnet-b
通訊,您需要在 vpc-a
中設定私人 NAT 閘道 pvt-nat-gw
,如下所示:
- 指定用途為
PRIVATE_NAT
的私人 NAT 子網路,例如10.1.2.0/29
。請先建立這個子網路,再設定私人 NAT 閘道。請確認這個子網路不會與任何已連線網路中的現有子網路重疊。 - 使用
match='nexthop.is_hybrid'
建立 NAT 規則。 - 將私人 NAT 閘道設為套用至
subnet-a
的所有 IP 位址範圍。
Hybrid NAT 會依循通訊埠保留程序,為網路中的每個 VM 保留下列 NAT 來源 IP 位址和來源通訊埠元組。舉例來說,私人 NAT 閘道會為 vm-a
保留 64 個來源通訊埠:10.1.2.2:34000
到 10.1.2.2:34063
。
當 VM 使用 TCP 通訊協定,將封包傳送至目的地通訊埠 80
的更新伺服器 192.168.2.2
時,會發生以下情況:
VM 會傳送含有下列屬性的要求封包:
- 來源 IP 位址:
192.168.1.2
,VM 的內部 IP 位址 - 來源埠:
24000
,VM 作業系統所選的暫時性來源埠 - 目的地位址:
192.168.2.2
,更新伺服器的 IP 位址 - 目的地通訊埠:
80
,更新伺服器的 HTTP 流量目的地通訊埠 - 通訊協定:TCP
- 來源 IP 位址:
pvt-nat-gw
閘道會在輸出端執行來源網路位址轉譯 (SNAT 或來源 NAT),重新寫要求封包的 NAT 來源 IP 位址和來源通訊埠:- NAT 來源 IP 位址:
10.1.2.2
,來自 VM 的其中一個保留的 NAT 來源 IP 位址和來源通訊埠元組 - 來源通訊埠:
34022
,VM 預留來源通訊埠元組的其中一個未使用的來源通訊埠 - 目的地地址:
192.168.2.2
,未變更 - 目的地通訊埠:
80
,未變更 - 通訊協定:TCP,未變更
- NAT 來源 IP 位址:
更新伺服器會傳送回應封包,並透過以下屬性傳送至
pvt-nat-gw
閘道:- 來源 IP 位址:
192.168.2.2
,更新伺服器的內部 IP 位址 - 來源通訊埠:
80
,來自更新伺服器的 HTTP 回應 - 目的地位址:
10.1.2.2
,與要求封包的原始 NAT 來源 IP 位址相符 - 目的地通訊埠:
34022
,與要求封包的來源通訊埠相符 - 通訊協定:TCP,未變更
- 來源 IP 位址:
pvt-nat-gw
閘道會針對回應封包執行目的地網路位址轉譯 (DNAT),並重寫回應封包的目的地位址和目的地連接埠,以便將封包傳送至要求更新的 VM,並附上下列屬性:- 來源 IP 位址:
192.168.2.2
,未變更 - 來源通訊埠:
80
,未變更 - 目的地位址:
192.168.1.2
,VM 的內部 IP 位址 - 目的地通訊埠:
24000
,與要求封包的原始暫時性來源通訊埠相符 - 通訊協定:TCP,未變更
- 來源 IP 位址:
後續步驟
- 設定 Hybrid NAT。
- 瞭解 Cloud NAT 產品互動。
- 瞭解 Cloud NAT 位址和通訊埠。
- 瞭解 Cloud NAT 規則。
- 排解常見問題。