【GCP教學】VPN 無法連線? GCP VPN Troubleshooting 完整教學

情境

我們公司的 VPN 連線出現問題,目前確認 Gateway 配置沒有問題,請問有什麼可能的原因造成此問題?

操作

通常有兩種可能

  1. Host 與 gateway 之間的客戶端網絡存在問題
  2. 客戶端 gateway 與 Cloud VPN gateway 之間的網絡存在問題

在 Google Cloud (舊稱:GCP) 可以先檢查日誌,請按照下列步驟操作

  1. 確認 Cloud VPN gateway 的配置客戶端 IP 地址是否正確
  2. 確認從地端的流量有成功到達 peer gateway [1]
  3. 確認流量在兩個 VPN 網關之間雙向流動,也就是檢查 Cloud Logging 有無地端 VPN gateway 的傳入紀錄。
  4. 檢查 tunnel 兩邊配置的 IKE 版本一致
  5. 檢查 tunnel 的共享金鑰 (shared secret) 是否一致
  6. 確保配置 peer 和 Google Cloud 路由和防火牆規則,以便流量可以穿過 tunnel

互通性測試注意

Ping 用於確認本地與 GCP VMs 之間的連接,但需要考慮以下:

  1. 要確保 Google Cloud 網路的防火牆允許傳入 ICMP 流量。同樣,確保您的本地防火牆規則也配置為允許傳入和傳出 ICMP 流量。
  2. 使用內部 IP 地址來 ping 您 GCP VMs。Ping VPN gateway 的外部 IP 並不測試您 VPN 是否有通。
  3. 測試從本地到 Google Cloud 的連線時,最好從您網絡上的機器去 ping,而不是從您的 VPN gateway 去 ping。如果您有設置正確的接口,則可以從 gateway 進行 ping,但是從您網路上的機器進行 ping 也可以有測試防火牆的額外好處。
  4. Ping 不會確認 TCP 或 UDP port 是否打開。
  5. Traceroute 也是走 ICMP [2] 所以無法確認 TCP 有沒有通。

如果 ping、traceroute 或其他發送流量的方法僅從某些 GCP 虛擬機到您的本地有效,或者僅從某些本地發送到某些 GCP 虛擬機有效,並且您確認了 Google Cloud 和本地防火牆規則均沒有阻止您發送的流量,您可能有排除某些來源或目的地的 traffic selectors。

訂閱 CloudMile 電子報

所有 CloudMile 最新消息、產品動態、活動資訊和特別優惠,立即掌握。