使用靜態轉送建立傳統版 VPN 閘道

本頁面說明如何使用靜態轉送建立傳統版 VPN 閘道和一個通道。這個通道是依據政策或依據路徑的通道。

使用依據路徑的 VPN 時,您只能指定遠端流量選取器。如需指定本機流量選取器,請改為建立使用策略路由的 Cloud VPN 通道。

傳統版 VPN 不支援 IPv6。

如要進一步瞭解 Cloud VPN,請參閱下列資源:

  • 如要瞭解設定 Cloud VPN 前的最佳做法,請參閱最佳做法

  • 如要進一步瞭解 Cloud VPN,請參閱 Cloud VPN 總覽

  • 如要瞭解本頁面使用的詞彙定義,請參閱「重要詞彙」。

路由選項

使用 Google Cloud 控制台建立政策型通道時,傳統版 VPN 會執行下列工作:

  • 將通道的本機流量選取器設為您指定的 IP 範圍。
  • 將通道的遠端流量選取器設為您在「遠端網路 IP 範圍」欄位中指定的 IP 範圍。
  • 針對「遠端網路 IP 範圍」中的每個範圍, Google Cloud會建立自訂靜態路由,目的地 (前置字元) 為該範圍的 CIDR,下一個躍點則為通道。

建立依據政策的傳統版 VPN 通道後,您在「遠端網路 IP 範圍」欄位中輸入的 IP 範圍,會顯示在 VPN 通道詳細資料頁面的「播送的 IP 範圍」中。

使用 Google Cloud 控制台建立依據路由的通道時,傳統版 VPN 會執行下列工作:

  • 將通道的本機和遠端流量選取器設為任何 IP 位址 (0.0.0.0/0)。
  • 針對「遠端網路 IP 範圍」中的每個範圍, Google Cloud 會建立自訂靜態路由,將目的地 (前置碼) 設為該範圍的 CIDR,下一個躍點則設為通道。

使用 Google Cloud CLI 建立依據政策或依據路徑的通道時,定義通道流量選取器的方式相同。不過,由於自訂靜態路徑是使用個別指令建立,因此您對這些路徑有更多控制權。

您可在流量選取器中指定的 CIDR 數量取決於 IKE 版本。

如需重要背景資訊,請參閱下列文章:

事前準備

在 Google Cloud 中設定下列項目,簡化 Cloud VPN 設定程序:

  1. 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 安裝 Google Cloud CLI。

  5. 若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

  6. 執行下列指令,初始化 gcloud CLI:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  8. Verify that billing is enabled for your Google Cloud project.

  9. 安裝 Google Cloud CLI。

  10. 若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

  11. 執行下列指令,初始化 gcloud CLI:

    gcloud init
  1. 如果您使用 Google Cloud CLI,請使用下列指令設定專案 ID。本頁的 gcloud 指令假設您已在發出指令前設定專案 ID。

        gcloud config set project PROJECT_ID
        
  1. 您也可以執行下列指令,查看已設定的專案 ID:

        gcloud config list --format='text(core.project)'
        

建立自訂虛擬私有雲網路和子網路

建立傳統版 VPN 閘道和通道前,請先在傳統版 VPN 閘道所在的Google Cloud 區域中,建立虛擬私有雲 (VPC) 網路和至少一個子網路 。

建立閘道和通道

控制台

設定閘道

  1. 前往 Google Cloud 控制台的「VPN」VPN頁面。

    前往 VPN

  2. 如果是首次建立閘道,請按一下「建立 VPN 連線」

  3. 選取「VPN 設定精靈」

  4. 選取「傳統版 VPN」選項按鈕。

  5. 按一下「繼續」

  6. 在「建立 VPN 連線」頁面中,指定下列閘道設定:

    • 名稱:VPN 閘道的名稱。名稱一經設定即無法變更。
    • 說明:視需要新增說明。
    • 網路:指定現有的虛擬私有雲網路,用來建立 VPN 閘道和通道。
    • 區域:Cloud VPN 閘道和通道是區域物件。選擇閘道所在的Google Cloud 區域。「不同地區」中的執行個體和其他資源可依照路徑順序,將通道用於輸出流量。如要體驗最佳效能,請將閘道與通道置於與相關 Google Cloud 資源相同的地區。
    • 「IP address」(IP 位址):建立或選擇現有地區外部 IP 位址

設定通道

  1. 針對新通道,在「通道」部分中指定下列設定:

    • 名稱:VPN 通道的名稱。名稱一經設定即無法變更。
    • 說明:視需要輸入說明。
    • 遠端對等互連 IP 位址:指定對等互連 VPN 閘道的外部 IP 位址。
    • IKE 版本:選擇對等互連 VPN 閘道支援的適當 IKE 版本。如果對等互連裝置支援 IKEv2,建議選擇這個版本。
    • IKE 預先共用金鑰:提供用於驗證的預先共用金鑰 (共用密鑰)。Cloud VPN 通道的預先共用金鑰必須與您在對等互連 VPN 閘道中設定對應通道時使用的金鑰相符。如要產生高強度加密的預先共用金鑰,請按照「產生高強度的預先共用金鑰」一文中的指示操作。

    適用於依據政策的通道

    1. 在「轉送選項」下方,選取「依據政策」
    2. 在「遠端網路 IP 範圍」下方,提供對等互連網路使用的 IP 範圍清單,並以空格分隔。這是「遠端流量選取器」,或從 Cloud VPN 的角度來看的「右側」

      建立依據政策的傳統版 VPN 通道後,您在「遠端網路 IP 範圍」欄位中輸入的 IP 範圍,會顯示在 VPN 通道詳細資料頁面的「播送的 IP 範圍」

    3. 在「本機 IP 範圍」下方,選取下列其中一種方法:

      • 如要選擇現有的本機 IP 範圍,請使用「本機子網路」選單。
      • 如要輸入虛擬私有雲網路中使用的空格分隔 IP 範圍清單,請使用「本機 IP 範圍」欄位。如要瞭解重要考量事項,請參閱「依據政策的通道與流量選取器」一文。

    適用於路徑型通道

    1. 在「Routing options」(轉送選項) 下方,選取「Route-based」(以路徑為準)
    2. 在「遠端網路 IP 範圍」下方,提供對等互連網路使用的 IP 範圍清單,並以空格分隔。這些範圍用於建立下一個躍點為這個 VPN 通道的自訂靜態路徑。
  2. 選用:選取密碼設定。選取「預設」可自動套用建議的安全設定,選取「自訂」則可手動排序及設定密碼。如需設定密碼的步驟,請參閱「設定密碼」。

  3. 如果您需要在同一個閘道中建立更多通道,請按一下 [新增通道],然後重複上一個步驟。您稍後也可以新增多個通道

  4. 點選「建立」

設定密碼

建立 Cloud VPN 通道時,您可以設定密碼。如未設定密碼,系統會使用預設值。 如要設定密碼,請按照下列步驟操作:

  1. 前往「選擇 VPN 加密方式」部分。
  2. 選取「自訂」
  3. 設定 IKE 第 1 階段的密碼。

    1. 在「Encryption」(加密) 列中,按一下
    2. 在「New Cipher」(新密碼) 區段中,選取加密密碼。
    3. 按一下 [完成]
    4. 如要新增更多密碼,請按一下「新增密碼」,然後選取加密密碼,並按一下「完成」
  4. 按一下 [儲存]

  5. 同樣地,請設定下列項目:

    • 完整性:在「完整性」列中,按一下 ,選取密碼,然後按一下「儲存」
    • PRF:在「PRF」列中,按一下 ,選取密碼,然後點選「儲存」
    • Diffie-Hellman (DH):在「Diffie-Hellman (DH)」列中,按一下 ,選取密碼,然後按一下「儲存」
  6. 按一下 [儲存]

  7. 在「IKE Phase 2」(IKE 第 2 階段) 區段中,設定下列項目:

    • 加密:選取一或多個加密演算法。
    • 完整性:選取一或多個完整性演算法。
    • PFS:選取一或多個 PFS 演算法。
  8. 按一下 [儲存]

gcloud

如要建立 Cloud VPN 閘道,請完成下列指令序列。在指令中,請替換下列項目:

  • PROJECT_ID:專案 ID
  • NETWORK:您 Google Cloud 網路的名稱
  • REGION:建立閘道和通道的Google Cloud區域
  • GW_NAME:閘道名稱
  • GW_IP_NAME:閘道使用的外部 IP 位址名稱
  • 選用:--target-vpn-gateway-region 是要運作的傳統版 VPN 閘道區域。值應與 --region 相同。如未指定,系統會自動設定此選項。這個選項會覆寫這個指令調用的預設 compute/region 屬性值。

設定閘道資源

  1. 建立目標 VPN 閘道物件:

    gcloud compute target-vpn-gateways create GW_NAME \
       --network=NETWORK \
       --region=REGION \
       --project=PROJECT_ID
    
  2. 預約地區外部 (靜態) IP 位址:

    gcloud compute addresses create GW_IP_NAME \
       --region=REGION \
       --project=PROJECT_ID
    
  3. 記下 IP 位址 (以便您可以在設定對等互連 VPN 閘道時使用):

    gcloud compute addresses describe GW_IP_NAME \
       --region=REGION \
       --project=PROJECT_ID \
       --format='flattened(address)'
    
  4. 建立三項轉送規則,指示Google Cloud 將 ESP (IPsec)、UDP 500 和 UDP 4500 流量傳送至閘道:

    gcloud compute forwarding-rules create fr-GW_NAME-esp \
       --load-balancing-scheme=EXTERNAL \
       --network-tier=PREMIUM \
       --ip-protocol=ESP \
       --address=GW_IP_NAME \
       --target-vpn-gateway=GW_NAME \
       --region=REGION \
       --project=PROJECT_ID
    
    gcloud compute forwarding-rules create fr-GW_NAME-udp500 \
       --load-balancing-scheme=EXTERNAL \
       --network-tier=PREMIUM \
       --ip-protocol=UDP \
       --ports=500 \
       --address=GW_IP_NAME \
       --target-vpn-gateway=GW_NAME \
       --region=REGION \
       --project=PROJECT_ID
    
    gcloud compute forwarding-rules create fr-GW_NAME-udp4500 \
       --load-balancing-scheme=EXTERNAL \
       --network-tier=PREMIUM \
       --ip-protocol=UDP \
       --ports=4500 \
       --address=GW_IP_NAME \
       --target-vpn-gateway=GW_NAME \
       --region=REGION \
       --project=PROJECT_ID
    

建立 Cloud VPN 通道

  1. 在指令中,請替換下列項目:

    • TUNNEL_NAME:通道名稱
    • ON_PREM_IP:對等互連 VPN 閘道的外部 IP 位址
    • IKE_VERS:IKEv1 為 1,IKEv2 為 2
    • SHARED_SECRET:預先共用金鑰 (共用密碼)。Cloud VPN 通道的預先共用金鑰必須與您在對等互連 VPN 閘道中設定對應通道時使用的金鑰相符。如要產生高強度加密的預先共用金鑰,請按照「產生高強度的預先共用金鑰」一文中的指示操作。
    • 以下是設定密碼編譯演算法的選用參數。 如未指定,系統會使用預設值
      • PH1_ENCRYPT_ALGRTHS:以逗號分隔的加密演算法清單,用於 IKE 階段 1 安全性關聯 (SA) 協商。您可以依偏好順序列出演算法。
      • PH1_INTEGRITY_ALGRTHS:以逗號分隔的完整性演算法清單,用於第 1 階段 IKE SA 協商。你可以依偏好順序列出演算法。
      • PH1_PRF_ALGRTHS:以逗號分隔的偽隨機函式 (PRF) 演算法清單,這些演算法支援階段 1 IKE SA 協商。你可以依偏好順序列出演算法。
      • PH1_DH_GROUP:逗號分隔的 Diffie-Hellman (DH) 演算法清單,這些演算法支援第 1 階段 IKE SA 協商。你可以依偏好順序列出演算法。
      • PH2_ENCRYPT_ALGRTHS:以半形逗號分隔的加密演算法清單,用於第 2 階段 IKE SA 協商。你可以依偏好順序列出演算法。
      • PH2_INTEGRITY_ALGRTHS:以半形逗號分隔的完整性演算法清單,這些演算法支援第 2 階段 IKE SA 協商。你可以依偏好順序列出演算法。
      • PH2_PFS_ALGRTHS:以半形逗號分隔的 PFS 演算法清單,用於第 2 階段 IKE SA 協商。你可以依偏好順序列出演算法。

    依據政策的 VPN:

    • LOCAL_IP_RANGES:以半形逗號分隔的Google Cloud IP 範圍清單。例如,您可以為虛擬私有雲網路中的每個子網路提供 CIDR 區塊。從 Cloud VPN 的角度,這是「左側」
    • REMOTE_IP_RANGES:以半形逗號分隔的對等互連網路 IP 範圍清單。從 Cloud VPN 的角度,這是「右側」

    如要設定以政策為準的 VPN 通道,請執行下列指令:

    gcloud compute vpn-tunnels create TUNNEL_NAME \
        --peer-address=ON_PREM_IP \
        --ike-version=IKE_VERS \
        --shared-secret=SHARED_SECRET \
        --local-traffic-selector=LOCAL_IP_RANGES \
        --remote-traffic-selector=REMOTE_IP_RANGES \
        --target-vpn-gateway=GW_NAME \
        --region=REGION \
        --project=PROJECT_ID
    

    如果是依據路由的 VPN,本機和遠端流量選取器都是0.0.0.0/0,如路由選項和流量選取器中所定義。

    如要設定以路由為基礎的 VPN 通道,請執行下列指令:

    gcloud compute vpn-tunnels create TUNNEL_NAME \
        --peer-address=ON_PREM_IP \
        --ike-version=IKE_VERS \
        --shared-secret=SHARED_SECRET \
        --local-traffic-selector=0.0.0.0/0 \
        --remote-traffic-selector=0.0.0.0/0 \
        --target-vpn-gateway=GW_NAME \
        --region=REGION \
        --project=PROJECT_ID
    

    您也可以為以政策為準和以路徑為準的通道設定密碼演算法。舉例來說,如要為以政策為準的通道設定密碼演算法,請執行下列指令:

    gcloud compute vpn-tunnels create TUNNEL_NAME \
        --peer-address=ON_PREM_IP \
        --ike-version=IKE_VERS \
        --shared-secret=SHARED_SECRET \
        --local-traffic-selector=LOCAL_IP_RANGES \
        --remote-traffic-selector=REMOTE_IP_RANGES \
        --target-vpn-gateway=GW_NAME \
        --region=REGION \
        --project=PROJECT_ID \
        --phase1-encryption=PH1_ENCRYPT_ALGRTHS \
        --phase1-integrity=PH1_INTEGRITY_ALGRTHS \
        --phase1-prf=PH1_PRF_ALGRTHS \
        --phase1-dh=PH1_DH_GROUP \
        --phase2-encryption=PH2_ENCRYPT_ALGRTHS \
        --phase2-integrity=PH2_INTEGRITY_ALGRTHS \
        --phase2-pfs=PH2_PFS_ALGRTHS
    

    如要進一步瞭解 Cloud VPN 支援的加密演算法,請參閱「支援的 IKE 加密方式」。

  2. 為您在上一步的 --remote-traffic-selector 選項中指定的每個遠端 IP 範圍建立靜態路徑。針對每個遠端 IP 範圍重複這個指令。將 ROUTE_NAME 替換為路由的不重複名稱,並將 REMOTE_IP_RANGE 替換為適當的遠端 IP 範圍。

    gcloud compute routes create ROUTE_NAME \
        --destination-range=REMOTE_IP_RANGE \
        --next-hop-vpn-tunnel=TUNNEL_NAME \
        --network=NETWORK \
        --next-hop-vpn-tunnel-region=REGION \
        --project=PROJECT_ID
    

完成設定程序

如要使用新的 Cloud VPN 閘道和相關聯的 VPN 通道,請先完成下列步驟:

  1. 設定對等互連 VPN 閘道,並在閘道中設定對應通道。如需相關指示,請參閱下列文章:
  2. 視需要設定防火牆規則 Google Cloud 和對等互連網路。
  3. 檢查 VPN 通道和轉送規則的狀態
  4. 如要查看 VPN 路徑,請前往專案轉送表,並篩選:Next hop type:VPN tunnel

    前往「Routes」(路徑)

後續步驟