arrow_back

建立高處理量 VPN

登录 加入
访问 700 多个实验和课程

建立高處理量 VPN

实验 1 小时 universal_currency_alt 7 积分 show_chart 高级
info 此实验可能会提供 AI 工具来支持您学习。
访问 700 多个实验和课程

GSP062

Google Cloud 自學實驗室標誌

總覽

這個實作實驗室將說明如何建立安全且高處理量的 VPN,並測試速度。

確保 Google Cloud 與其他雲端或地端部署系統之間的通訊安全,對於許多企業和機構而言至關重要。幸好,Google Cloud 可協助您建立安全的網際網路通訊協定安全性 (IPsec) 虛擬私人網路 (VPN),輕鬆達成此目標。如果單一通道無法提供所需的處理量,Google Cloud 可以順暢地將流量分配給多個通道,以提供額外頻寬。

目標

在本實驗室,您將執行下列作業:

  • 建立 VPN

    • 建立名為 cloud 的虛擬私有雲 (VPC),模擬 Google Cloud 網路;以及建立名為 on-prem (地端部署) 的虛擬私有雲,模擬外部網路。
    • cloud 虛擬私有雲建立 VPN 閘道、轉送規則及位址。
    • 為新的 VPN 建立通道,並將流量轉送至這個通道。
    • on-prem 虛擬私有雲重複建立 VPN 的程序,以建立第二個 VPN。
  • 測試 VPN

    • 使用 Compute Engine 建立虛擬機器 (VM),用於處理量負載測試。
    • 使用 iperf 測試單一 VPN 的處理量速度。

事前準備

完成下列準備工作,學習方能事半功倍:

設定和需求

瞭解以下事項後,再點選「Start Lab」按鈕

請詳閱以下操作說明。實驗室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。

您將在真正的雲端環境完成實作實驗室活動,而不是模擬或示範環境。為此,我們會提供新的暫時憑證,供您在實驗室活動期間登入及存取 Google Cloud。

為了順利完成這個實驗室,請先確認:

  • 可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
注意事項:請使用無痕模式 (建議選項) 或私密瀏覽視窗執行此實驗室,這可以防止個人帳戶和學員帳戶之間的衝突,避免個人帳戶產生額外費用。
  • 是時候完成實驗室活動了!別忘了,活動一旦開始將無法暫停。
注意事項:務必使用實驗室專用的學員帳戶。如果使用其他 Google Cloud 帳戶,可能會產生額外費用。

如何開始研究室及登入 Google Cloud 控制台

  1. 點選「Start Lab」按鈕。如果實驗室會產生費用,畫面上會出現選擇付款方式的對話方塊。左側的「Lab Details」窗格會顯示下列項目:

    • 「Open Google Cloud console」按鈕
    • 剩餘時間
    • 必須在這個研究室中使用的臨時憑證
    • 完成這個實驗室所需的其他資訊 (如有)
  2. 點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也能按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」

    接著,實驗室會啟動相關資源,並開啟另一個分頁,顯示「登入」頁面。

    提示:您可以在不同的視窗中並排開啟分頁。

    注意:如果頁面中顯示「選擇帳戶」對話方塊,請點選「使用其他帳戶」
  3. 如有必要,請將下方的 Username 貼到「登入」對話方塊。

    {{{user_0.username | "Username"}}}

    您也可以在「Lab Details」窗格找到 Username。

  4. 點選「下一步」

  5. 複製下方的 Password,並貼到「歡迎使用」對話方塊。

    {{{user_0.password | "Password"}}}

    您也可以在「Lab Details」窗格找到 Password。

  6. 點選「下一步」

    重要事項:請務必使用實驗室提供的憑證,而非自己的 Google Cloud 帳戶憑證。 注意:如果使用自己的 Google Cloud 帳戶來進行這個實驗室,可能會產生額外費用。
  7. 按過後續的所有頁面:

    • 接受條款及細則。
    • 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
    • 請勿申請免費試用。

Google Cloud 控制台稍後會在這個分頁開啟。

注意:如要使用 Google Cloud 產品和服務,請點選「導覽選單」,或在「搜尋」欄位輸入服務或產品名稱。「導覽選單」圖示和搜尋欄位

啟動 Cloud Shell

Cloud Shell 是搭載多項開發工具的虛擬機器,提供永久的 5 GB 主目錄,而且在 Google Cloud 中運作。Cloud Shell 提供指令列存取權,方便您使用 Google Cloud 資源。

  1. 點按 Google Cloud 控制台頂端的「啟用 Cloud Shell」圖示 「啟動 Cloud Shell」圖示

  2. 系統顯示視窗時,請按照下列步驟操作:

    • 繼續操作 Cloud Shell 視窗。
    • 授權 Cloud Shell 使用您的憑證發出 Google Cloud API 呼叫。

連線建立完成即代表已通過驗證,而且專案已設為您的 Project_ID。輸出內容中有一行文字,宣告本工作階段的 Project_ID

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud 是 Google Cloud 的指令列工具,已預先安裝於 Cloud Shell,並支援 Tab 鍵自動完成功能。

  1. (選用) 您可以執行下列指令來列出使用中的帳戶:
gcloud auth list
  1. 點按「授權」

輸出內容:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (選用) 您可以使用下列指令來列出專案 ID:
gcloud config list project

輸出內容:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} 注意:如需 gcloud 的完整說明,請前往 Google Cloud 參閱 gcloud CLI 總覽指南

工作 1:建立雲端虛擬私有雲

在本節中,您會:

  • 建立虛擬私有雲,模擬雲端正式環境網路。
  • 允許常見的流量類型流經虛擬私有雲。
  • 建立用於部署主機的子網路。
  1. 在 Cloud Shell 中執行下列指令,建立與 Google Cloud 專案相關聯的自訂虛擬私有雲,並命名為 cloud
gcloud compute networks create cloud --subnet-mode custom

這個虛擬私有雲可使用非預設的 IP 位址,但不包含任何預設防火牆規則。

  1. 測試負載期間,您需要使用安全殼層與 VM 通訊,因此請執行以下指令來啟用 SSHicmp
gcloud compute firewall-rules create cloud-fw --network cloud --allow tcp:22,tcp:5001,udp:5001,icmp
  1. 執行以下指令,在這個虛擬私有雲中建立子網路,並指定區域和 IP 範圍:
gcloud compute networks subnets create cloud-east --network cloud \ --range 10.0.1.0/24 --region {{{project_0.default_region_2 | REGION2}}}

在這個解決方案中,您將使用 10.0.1.0/24 地區。

工作 2:建立地端部署虛擬私有雲

在本節中,您將建立模擬的 on-prem 虛擬私有雲,或要連結至 cloud 的任何網路。實際上,您已經擁有這些資源,但為了建立通道和驗證設定,請遵循下列步驟:

  1. 在 Cloud Shell 中執行下列指令,新建一個與專案相關聯的自訂子網路虛擬私有雲,並命名為 on-prem
gcloud compute networks create on-prem --subnet-mode custom
  1. 測試負載期間,您需要使用安全殼層與 VM 通訊,因此請執行以下指令,為 on-prem 虛擬私有雲中的主機啟用 SSHicmp
gcloud compute firewall-rules create on-prem-fw --network on-prem --allow tcp:22,tcp:5001,udp:5001,icmp
  1. 使用下列指令,指定地區的子網路前置字串:
gcloud compute networks subnets create on-prem-central \ --network on-prem --range 192.168.1.0/24 --region {{{project_0.default_region |REGION}}} 注意:在這個範例中,您將「192.168.1.0/24」指派給 區域。 建立兩個自訂虛擬私有雲,其中包含子網路和防火牆規則。

工作 3:建立 VPN 閘道

每個環境都需要 VPN 閘道,以安全地進行外部通訊。請遵循下列步驟,建立 cloud 和 on-prem 虛擬私有雲的初始閘道:

  1. 在 Cloud Shell 中,於 on-prem 虛擬私有雲和 地區建立名為 on-prem-gw1 的 VPN 閘道:
gcloud compute target-vpn-gateways create on-prem-gw1 --network on-prem --region {{{project_0.default_region |REGION}}}
  1. 接著在 cloud 虛擬私有雲和 地區中,建立名為 cloud-gw1 的 VPN 閘道:
gcloud compute target-vpn-gateways create cloud-gw1 --network cloud --region {{{project_0.default_region_2 | REGION2}}}

工作 4:在本機和 Google Cloud 網路之間建立路徑型 VPN 通道

每個 VPN 閘道都需要一個靜態的外部 IP 位址,才能與虛擬私有雲以外的系統通訊。接下來要在 cloud 和 on-prem 虛擬私有雲中建立 IP 位址和路由。

  1. 在 Cloud Shell 中,為 cloud-gw1 VPN 閘道分配 IP:
gcloud compute addresses create cloud-gw1 --region {{{project_0.default_region_2 | REGION2}}}
  1. on-prem-gw1 VPN 閘道分配 IP:
gcloud compute addresses create on-prem-gw1 --region {{{project_0.default_region |REGION}}}
  1. 請儲存閘道位址,這樣就不用在之後的指令中查詢。

首先,針對 cloud-gw1 閘道:

cloud_gw1_ip=$(gcloud compute addresses describe cloud-gw1 \ --region {{{project_0.default_region_2 | REGION2}}} --format='value(address)')

第二,針對 on-prem-gw1 閘道:

on_prem_gw_ip=$(gcloud compute addresses describe on-prem-gw1 \ --region {{{project_0.default_region |REGION}}} --format='value(address)')
  1. 接著為 cloud 虛擬私有雲上的 IPsec 建立轉送規則。您必須建立雙向轉送規則。

cloud-gw1 轉送封裝安全負載 (ESP) 通訊協定:

gcloud compute forwarding-rules create cloud-1-fr-esp --ip-protocol ESP \ --address $cloud_gw1_ip --target-vpn-gateway cloud-gw1 --region {{{project_0.default_region_2 | REGION2}}}

從 cloud-gw1 轉送 UDP:500 流量:

gcloud compute forwarding-rules create cloud-1-fr-udp500 --ip-protocol UDP \ --ports 500 --address $cloud_gw1_ip --target-vpn-gateway cloud-gw1 --region {{{project_0.default_region_2 | REGION2}}}

從 cloud-gw1 轉送 UDP:4500 流量:

gcloud compute forwarding-rules create cloud-fr-1-udp4500 --ip-protocol UDP \ --ports 4500 --address $cloud_gw1_ip --target-vpn-gateway cloud-gw1 --region {{{project_0.default_region_2 | REGION2}}}
  1. 使用相同方法,為 on-prem 虛擬私有雲的 IPsec 通道建立防火牆轉送規則。這個步驟可讓 IPsec 通道離開防火牆:

on-prem-gw1 轉送 ESP 通訊協定:

gcloud compute forwarding-rules create on-prem-fr-esp --ip-protocol ESP \ --address $on_prem_gw_ip --target-vpn-gateway on-prem-gw1 --region {{{project_0.default_region |REGION}}}

從 on-prem-gw1 轉送用來建立 IPsec 通道的 UDP:500 流量:

gcloud compute forwarding-rules create on-prem-fr-udp500 --ip-protocol UDP --ports 500 \ --address $on_prem_gw_ip --target-vpn-gateway on-prem-gw1 --region {{{project_0.default_region |REGION}}}

on-prem-gw1 轉送承載加密流量的 UDP:4500 流量:

gcloud compute forwarding-rules create on-prem-fr-udp4500 --ip-protocol UDP --ports 4500 \ --address $on_prem_gw_ip --target-vpn-gateway on-prem-gw1 --region {{{project_0.default_region |REGION}}} 建立兩個 VPN 閘道和需要的轉送規則。

通常您需要產生密鑰,才能在下一個步驟建立和驗證 on-prem-tunnel1cloud-tunnel1 通道。如要進一步瞭解如何建立和安全儲存密鑰,請參閱 Secret Manager 概念總覽指南。目前請使用字串「sharedsecret」。

為本機網路建立 on-prem-tunnel1 通道,並為雲端網路建立 cloud-tunnel1 通道。每個網路都要有一個 VPN 閘道,且密鑰必須相符。在下列兩個指令中,請將 [MY_SECRET] 換成「sharedsecret」(在正式環境中則換成您產生的密鑰)。

  1. 建立從 on-premcloud 的 VPN 通道:
gcloud compute vpn-tunnels create on-prem-tunnel1 --peer-address $cloud_gw1_ip \ --target-vpn-gateway on-prem-gw1 --ike-version 2 --local-traffic-selector 0.0.0.0/0 \ --remote-traffic-selector 0.0.0.0/0 --shared-secret=[MY_SECRET] --region {{{project_0.default_region |REGION}}}
  1. 建立從 cloud 到 on-prem 的 VPN 通道:
gcloud compute vpn-tunnels create cloud-tunnel1 --peer-address $on_prem_gw_ip \ --target-vpn-gateway cloud-gw1 --ike-version 2 --local-traffic-selector 0.0.0.0/0 \ --remote-traffic-selector 0.0.0.0/0 --shared-secret=[MY_SECRET] --region {{{project_0.default_region_2 | REGION2}}}

現在,您已建立閘道和通道,接著要新增從子網路導向這兩個通道的路由。

  1. on-prem 虛擬私有雲到 cloud 10.0.1.0/24 範圍的流量轉送到通道:
gcloud compute routes create on-prem-route1 --destination-range 10.0.1.0/24 \ --network on-prem --next-hop-vpn-tunnel on-prem-tunnel1 \ --next-hop-vpn-tunnel-region {{{project_0.default_region |REGION}}}
  1. cloud 虛擬私有雲到 on-prem 192.168.1.0/24 範圍的流量轉送到通道:
gcloud compute routes create cloud-route1 --destination-range 192.168.1.0/24 \ --network cloud --next-hop-vpn-tunnel cloud-tunnel1 --next-hop-vpn-tunnel-region {{{project_0.default_region_2 | REGION2}}} 建立兩個 VPN 通道。

工作 5:測試 VPN 處理量

您已在 on-prem 和 cloud 虛擬私有雲之間建立了一條安全路徑。接著請使用 iperf 測試處理量。這是一種用於網路負載測試的開放原始碼工具。如要進行測試,每個環境都需要一個 VM,分別用來傳送和接收流量。接下來將建立這些 VM。

單一 VPN 負載測試

現在要為 cloud 虛擬私有雲建立虛擬機器,並命名為 cloud-loadtest。這個範例使用 Debian Linux 映像檔做為 OS。

注意:如果您有現有專案,可以略過這個步驟,直接使用現有資源。VM 的頻寬是 2 Gbps * vCPU,所以您最少需要 4 個 vCPU。
  1. 執行以下指令:
gcloud compute instances create "cloud-loadtest" --zone {{{project_0.default_zone_2 |ZONE2}}} \ --machine-type "e2-standard-4" --subnet "cloud-east" \ --image-family "debian-11" --image-project "debian-cloud" --boot-disk-size "10" \ --boot-disk-type "pd-standard" --boot-disk-device-name "cloud-loadtest"
  1. on-prem 虛擬私有雲建立虛擬機器,並命名為 on-prem-loadtest。本例使用與 cloud 虛擬私有雲相同的 Debian 映像檔。如果已有資源,請略過這個步驟。

執行以下指令:

gcloud compute instances create "on-prem-loadtest" --zone {{{project_0.default_zone |ZONE}}} \ --machine-type "e2-standard-4" --subnet "on-prem-central" \ --image-family "debian-11" --image-project "debian-cloud" --boot-disk-size "10" \ --boot-disk-type "pd-standard" --boot-disk-device-name "on-prem-loadtest"
  1. 使用控制台或指令列,透過 SSH 連線至各個 VM,並使用下列指令列安裝 iperf 的副本:
sudo apt-get install iperf
  1. on-prem-loadtest VM 上,執行下列指令:
iperf -s -i 5

您已在 VM 上建立了一個 iperf 伺服器,每隔 5 秒會報告狀態。

  1. cloud-loadtest VM 上,執行下列指令:
iperf -c 192.168.1.2 -P 20 -x C

這會建立含二十個串流的 iperf 用戶端,並在測試 10 秒後報告相關的值。

建立兩個 VM,並透過 SSH 安裝 iperf。

排解可能遇到的問題

注意:這部分不屬於實驗室操作說明。
  1. 為本機網路建立通道時,忘記將 [MY_SECRET] 換成「sharedsecret」。

您可以使用下列指令刪除建立的 VPN 通道:

gcloud compute vpn-tunnels delete [tunnel-name] --region [region]
  • 將 [tunnel-name] 替換為通道名稱。
  • 將 [region] 替換為建立通道時指定的區域。
  1. 無法順利執行單一 VPN 負載測試:
  • 確認兩個 VM 都已安裝 iperf。

  • 如果發生連線遭拒錯誤,請確認:

    • 所建網路的防火牆規則 (tcp:5001) 設定正確
    • 伺服器在 on-prem-loadtest 上正常運作
    • 您是透過 cloud-loadtest 連線至伺服器
  1. 如要查看在控制台中建立的轉送規則:
  • 在「導覽選單」中,前往「網路」部分。
  • 依序點選「網路連線」>「VPN」
  • 點選 Cloud VPN 閘道,即可查看 Cloud VPN 閘道詳細資料頁面。

恭喜!

在本實驗室中,您成功在兩個模擬網路 (雲端虛擬私有雲和地端部署虛擬私有雲) 之間建立高處理量 VPN。您學會了如何建立自訂虛擬私有雲、設定 VPN 閘道、建立安全的 IPsec 通道,以及透過這些通道轉送流量。最後,您使用 iperf 測試 VPN 處理量,驗證其效能。

後續步驟

Google Cloud 教育訓練與認證

協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。

使用手冊上次更新日期:2025 年 3 月 30 日

實驗室上次測試日期:2025 年 2 月 25 日

Copyright 2025 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

请使用无痕模式或无痕式浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。