測試虛擬私有雲網路中的連線能力

連線測試的常見用途,是在相同或對等的虛擬私有雲 (VPC) 網路中,測試兩個 Compute Engine 虛擬機器 (VM) 執行個體。

針對這類測試,Connectivity Tests 會同時使用設定分析和即時資料層分析來評估可及性。為了分析設定,連線能力測試會找出並評估追蹤記錄路徑。

本頁的追蹤圖表使用下列圖例中所述的符號。
符號 名稱 意義
灰色鑽石圖示
封包追蹤圖表的圖例:灰色菱形。
Checkpoint 決定點,連線能力測試會檢查設定,並決定是否要轉送、傳送或捨棄追蹤封包。
藍色矩形
封包追蹤圖表的圖例:藍色矩形。
Hop 追蹤封包轉送路徑中的一個步驟,代表將封包轉送至虛擬私人雲端網路中下一個躍點的 Google Cloud 資源,例如 Cloud Load Balancing 代理程式或 Cloud VPN 通道。
橘色六邊形
封包追蹤圖表的圖例:橘色六邊形。
端點 追蹤封包的來源或目的地。

下圖顯示兩個 VM 執行個體之間的一般追蹤路徑。Match routes 物件可代表在單一虛擬私有雲網路中,或在兩個對等虛擬私有雲網路之間,將流量導向的路徑。

來源 VM 到目的地 VM 追蹤記錄。
從來源 VM 到目的地 VM 的追蹤記錄 (按一下可放大)。

以下步驟說明追蹤圖表中各個點對應的檢查點。檢查可能會在任何檢查點失敗。查詢結果會顯示每個失敗原因。如需測試狀態和訊息的完整清單,請參閱「設定分析狀態」。

  1. 連線測試會驗證來源 VM 是否可以使用指定的來源 IP 位址傳送傳出封包,否則會預設為偽造檢查程序。

  2. 當 VM 例項的模擬封包使用該例項不具備的 IP 位址時,連線測試會執行偽造檢查。VM 擁有的 IP 位址包括所有 VM 內部 IP 位址和次要 IP 位址。

    如果該位址似乎來自外部流量 (也稱為外部位址),則 IP 位址會在偽造檢查中失敗。

  3. 為判斷是否可從來源傳送追蹤封包,Connectivity Tests 會驗證適當的輸出防火牆規則。在這個程序中,Connectivity Tests 會先評估任何現有的階層防火牆政策規則。如要進一步瞭解階層式防火牆政策規則和 VPC 防火牆規則如何影響連線能力,請參閱「階層式防火牆政策範例」。

  4. 連線測試會根據轉送順序,找出 (比對) 目的地 IP 位址的路徑。如果沒有其他路徑可供目的地 VM 執行個體使用,連線測試會使用預設的靜態路徑,並將下一個節點設為網際網路閘道。除非您已移除這個預設路徑,否則所有 VPC 網路都會使用這個預設路徑。

  5. 連線測試會驗證網路的輸入防火牆規則是否允許封包抵達目的地 VM。再次強調,Connectivity Tests 一開始會評估任何現有的階層式防火牆政策規則。

  6. 如有需要,連線能力測試會針對傳送至第二個 VM 的封包執行偽造檢查。

  7. 連線測試會驗證目的地 VM 是否能接收具有指定目的地 IP 位址的封包。如果這個位址是外部 IP 位址,則目的地 VM 必須啟用 IP 轉送。外部 IP 位址是指不屬於 VM 的位址。

下圖為 Google Cloud 控制台的螢幕截圖,顯示 VM 對 VM 測試的結果。

設定分析顯示結果為「封包可傳送」。在 API 回應中,這個標籤會對應至 Deliver 的最終狀態

這項結果顯示,設定分析已驗證從來源 VM 到目的地 VM 路徑中每個 Google Cloud 資源的網路連線。在本例中,路徑包含兩個 VPC 防火牆規則:一個是隱含的 VPC 防火牆規則 (名稱為 default),另一個則是為此 VPC 網路建立的防火牆規則。

此外,連線測試會透過主動探測,動態驗證可否連線至目的地 VM。「Last packet transmission result」欄位會顯示這項結果的詳細資料。

 顯示 VM 到 VM 追蹤記錄的Google Cloud 控制台螢幕截圖。
Google Cloud VM 對 VM 追蹤的控制台螢幕截圖 (按一下可放大)

您可以展開追蹤路徑中的每張資訊卡,查看更多詳細資料。

以下範例顯示輸入防火牆規則的展開卡片。這張資訊卡包含 VPC 網路、防火牆規則的已設定動作 (允許),以及規則優先順序的相關資訊。

輸入防火牆規則資訊卡已展開。
展開輸入防火牆規則資訊卡 (按一下可放大)

如果追蹤記錄包含虛擬私有雲網路路徑,且下一個躍點為對等虛擬私有雲網路,則追蹤記錄的起點不是 VM 執行個體,而是虛擬私有雲網路。這類追蹤記錄會在網路層級驗證防火牆規則和路由,因為您測試的 IP 位址來自網路範圍,而非 VM 執行個體。

對等互連網路可位於相同或不同專案中。以下追蹤記錄範例顯示不同專案中的對等網路。

透過其他專案中可存取的對等互連虛擬私有雲網路,進行 VM 對 VM 追蹤。
VM 對 VM 追蹤記錄,透過可存取的對等互連虛擬私有雲網路,在不同專案中進行 (按一下可放大)

虛擬私有雲網路的測試失敗

下表列出虛擬私有雲網路內測試的常見失敗原因。

失敗類型 說明 追蹤記錄結果
遭防火牆規則封鎖 階層防火牆政策規則或虛擬私有雲防火牆規則會封鎖離開來源端點或進入目的地端點的流量。
  • 如果連線遭到階層式防火牆政策規則封鎖,追蹤記錄會包含政策名稱。執行測試的使用者可能沒有查看政策詳細資料的權限。如要進一步瞭解這種情況,請參閱「排解階層式防火牆政策問題」。
  • 如果連線遭到 VPC 防火牆規則封鎖,追蹤記錄會列出相關的輸入或輸出防火牆規則名稱。
找不到相符的路線 找不到前往目的地端點的路線。
  • 如果來源和目標 VM 執行個體位於不同的虛擬私有雲網路中,且這些網路並未對等互連,分析結果會判定封包可能會遭到捨棄
  • 如果 VM 位於同一個網路,但找不到相符的路徑,系統會透過預設靜態路徑傳送流量,並將下一個躍點設為網際網路閘道。在這種情況下,流量永遠不會抵達目的地 VM,而分析結果判定封包可能遭到捨棄
  • 如果沒有通往網際網路閘道的路徑,分析結果會判定封包可能遭到捨棄
執行個體未執行 目的地 VM 執行個體存在,但未處於執行狀態。 分析結果判定封包可能遭到捨棄
無效的下一個躍點 VM 執行個體的已設定下一個躍點已不存在,因此該執行個體的路徑無效。 分析結果判定封包可能遭到捨棄

下圖顯示,由於輸入階層式防火牆政策規則封鎖了連線,因此追蹤失敗。

 遭階層防火牆政策規則封鎖的追蹤記錄主控台螢幕截圖。
Google Cloud 主控台螢幕截圖,顯示受階層防火牆政策規則封鎖的追蹤記錄 (按一下可放大)

共用虛擬私有雲網路的測試失敗

在共用虛擬私有雲網路中,如果沒有主專案或服務專案的權限,可能會導致下表所列的測試失敗。

失敗類型 行為 追蹤記錄結果
僅限主專案的權限 您沒有目標 IP 位址所在服務專案的權限,因此無法執行追蹤記錄。 設定分析顯示的結果為「Configuration analysis aborted」。在 API 回應中,這個標籤會對應至 Abort 的最終狀態
僅限服務專案的權限

您沒有權限,因此無法在 Google Cloud 控制台中執行追蹤或選取主專案網路。

主專案擁有網路設定,因此如果無法存取主專案中的 VPC 防火牆規則、網路路徑或 IP 位址,就無法對服務專案中的資源進行追蹤。

整體可及性結果為 Undetermined,因為連線測試無法判斷封包是否可送達目的地。

虛擬私有雲網路對等互連網路的測試失敗

使用 VPC 網路對等互連功能時,如果沒有 primary 網路的 peered 網路 Google Cloud 專案權限,可能會導致下表列出的測試結果。

失敗類型 行為 追蹤記錄結果
您沒有對等 VPC 網路中的專案設定的權限。 連線測試只能追蹤主要網路專案中的設定。 設定分析顯示結果為「封包可轉送」。 這項結果表示封包會離開網路,並傳送至您無法存取的網路。在這種情況下,封包已轉送至對等網路閘道。在 API 回應中,這個狀態會對應至 Forward 的最終狀態

以下追蹤路徑顯示對等虛擬私有雲網路的轉送狀態。

透過不同專案中無法存取的對等互連虛擬私有雲網路,進行 VM 對 VM 追蹤。
VM 對 VM 追蹤記錄,透過不同專案中的無法存取對等互連虛擬私有雲網路 (按一下可放大)

後續步驟