GSP211

總覽
有了虛擬私有雲 (VPC) 網路,您可以在較大的雲端架構中維護獨立環境,精細控管資料保護、網路存取權和應用程式安全防護機制。
在本研究室中,您將建立多個虛擬私有雲網路和 VM 執行個體,並測試網路之間的連線能力。具體來說,您會建立兩個含有防火牆規則和 VM 執行個體的自訂模式網路 (managementnet 和 privatenet),如下列網路圖表所示:

本實驗室已預先建立 mynetwork 網路,當中含有防火牆規則和兩個 VM 執行個體 (mynet-vm-1 和 mynet-vm-2)。
目標
在這個研究室中,您可學習如何執行下列工作:
- 建立含有防火牆規則的自訂模式虛擬私有雲網路
- 使用 Compute Engine 建立 VM 執行個體
- 瞭解各個虛擬私有雲網路的 VM 執行個體連線能力
- 建立具備多個網路介面的 VM 執行個體
設定和需求
點選「Start Lab」按鈕前的須知事項
請詳閱以下操作說明。研究室活動會計時,而且中途無法暫停。點選「Start Lab」 後就會開始計時,讓您瞭解有多少時間可以使用 Google Cloud 資源。
您將在真正的雲端環境中完成實作研究室活動,而不是在模擬或示範環境。為達此目的,我們會提供新的暫時憑證,讓您用來在研究室活動期間登入及存取 Google Cloud。
如要完成這個研究室活動,請先確認:
- 您可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
注意:請使用無痕模式或私密瀏覽視窗執行此研究室。這可以防止個人帳戶和學生帳戶之間的衝突,避免個人帳戶產生額外費用。
- 是時候完成研究室活動了!別忘了,活動一開始將無法暫停。
注意:如果您擁有個人 Google Cloud 帳戶或專案,請勿用於本研究室,以免產生額外費用。
如何開始研究室及登入 Google Cloud 控制台
-
按一下「Start Lab」(開始研究室) 按鈕。如果研究室會產生費用,畫面中會出現選擇付款方式的彈出式視窗。左側的「Lab Details」窗格會顯示下列項目:
- 「Open Google Cloud console」按鈕
- 剩餘時間
- 必須在這個研究室中使用的暫時憑證
- 完成這個實驗室所需的其他資訊 (如有)
-
點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也能按一下滑鼠右鍵,然後選取「在無痕式視窗中開啟連結」。
接著,實驗室會啟動相關資源並開啟另一個分頁,當中顯示「登入」頁面。
提示:您可以在不同的視窗中並排開啟分頁。
注意:如果頁面中顯示「選擇帳戶」對話方塊,請點選「使用其他帳戶」。
-
如有必要,請將下方的 Username 貼到「登入」對話方塊。
{{{user_0.username | "Username"}}}
您也可以在「Lab Details」窗格找到 Username。
-
點選「下一步」。
-
複製下方的 Password,並貼到「歡迎使用」對話方塊。
{{{user_0.password | "Password"}}}
您也可以在「Lab Details」窗格找到 Password。
-
點選「下一步」。
重要事項:請務必使用實驗室提供的憑證,而非自己的 Google Cloud 帳戶憑證。
注意:如果使用自己的 Google Cloud 帳戶來進行這個實驗室,可能會產生額外費用。
-
按過後續的所有頁面:
- 接受條款及細則。
- 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
- 請勿申請免費試用。
Google Cloud 控制台稍後會在這個分頁開啟。
注意:如要查看列出 Google Cloud 產品和服務的選單,請點選左上角的「導覽選單」。
啟動 Cloud Shell
Cloud Shell 是搭載多項開發工具的虛擬機器,提供永久的 5 GB 主目錄,而且在 Google Cloud 中運作。Cloud Shell 提供指令列存取權,方便您使用 Google Cloud 資源。
- 點按 Google Cloud 控制台上方的「啟用 Cloud Shell」圖示
。
連線完成即代表已通過驗證,且專案已設為您的 PROJECT_ID。輸出內容中有一行宣告本工作階段 PROJECT_ID 的文字:
您在本工作階段中的 Cloud Platform 專案會設為「YOUR_PROJECT_ID」
gcloud
是 Google Cloud 的指令列工具,已預先安裝於 Cloud Shell,並支援 Tab 鍵自動完成功能。
- (選用) 您可以執行下列指令來列出使用中的帳戶:
gcloud auth list
-
點按「授權」。
-
輸出畫面應如下所示:
輸出內容:
ACTIVE: *
ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (選用) 您可以使用下列指令來列出專案 ID:
gcloud config list project
輸出內容:
[core]
project = <project_ID>
輸出內容範例:
[core]
project = qwiklabs-gcp-44776a13dea667a6
附註:如需有關 gcloud
的完整說明,請前往 Google Cloud 並參閱「gcloud CLI overview guide」(gcloud CLI 總覽指南)。
工作 1:建立含有防火牆規則的自訂模式虛擬私有雲網路
建立 managementnet 和 privatenet 這兩個自訂網路,並設定防火牆規則來允許 SSH、ICMP 和 RDP ingress 流量。
建立 managementnet 網路
使用 Cloud 控制台建立 managementnet 網路。
- 依序點選 Cloud 控制台中的「導覽選單」圖示
>「虛擬私有雲網路」>「虛擬私有雲網路」。

-
請留意 default 和 mynetwork 網路及其子網路。
各項 Google Cloud 專案一開始時都含有 default 網路。另外,系統已為您預先建立了 mynetwork 網路,如網路圖表所示。
-
按一下「建立虛擬私有雲網路」。
-
在「名稱」中輸入 managementnet
。
-
在「子網路建立模式」部分,按一下「自訂」。
-
設定下方的值,其他值均保留預設值:
屬性 |
值 (依指示輸入值或選取選項) |
名稱 |
managementsubnet-1 |
區域 |
|
IPv4 範圍 |
10.130.0.0/20 |
-
按一下「完成」。
-
按一下「對等指令列」。
您也可以依據這些指令,透過 Cloud Shell 指令列建立網路和子網路。稍後建立 privatenet 網路時,您會使用這些指令,並設定類似的參數。
-
按一下「關閉」。
-
按一下「建立」。
測試已完成的工作
按一下「Check my progress」,確認工作已完成。如果已成功建立 managementnet 網路,您就會看見評估分數。
建立 managementnet 網路
建立 privatenet 網路
透過 Cloud Shell 指令列建立 privatenet 網路。
- 執行下列指令來建立 privatenet 網路:
gcloud compute networks create privatenet --subnet-mode=custom
- 執行下列指令,建立 privatesubnet-1 子網路:
gcloud compute networks subnets create privatesubnet-1 --network=privatenet --region={{{project_0.default_region | Region_1 }}} --range=172.16.0.0/24
- 執行下列指令,建立 privatesubnet-2 子網路:
gcloud compute networks subnets create privatesubnet-2 --network=privatenet --region={{{project_0.default_region_2 | Region_2 }}} --range=172.20.0.0/20
測試已完成的工作
按一下「Check my progress」,確認工作已完成。如果已成功建立 privatenet 網路,您就會看見評估分數。
建立 privatenet 網路
- 執行下列指令,列出可用的虛擬私有雲網路:
gcloud compute networks list
輸出內容應如下所示:
NAME: default
SUBNET_MODE: AUTO
BGP_ROUTING_MODE: REGIONAL
IPV4_RANGE:
GATEWAY_IPV4:
NAME: managementnet
SUBNET_MODE: CUSTOM
BGP_ROUTING_MODE: REGIONAL
IPV4_RANGE:
GATEWAY_IPV4:
...
注意:default 和 mynetwork 均為自動模式網路,managementnet 和 privatenet 則是自訂模式網路。自動模式網路會自動在每個區域中建立子網路,自訂模式網路一開始則沒有任何子網路,方便您完整控管是否建立子網路
- 執行下列指令,列出可用的虛擬私有雲子網路 (按照虛擬私有雲網路排序):
gcloud compute networks subnets list --sort-by=NETWORK
輸出內容應如下所示:
NAME: default
REGION: {{{project_0.default_region | Region_1}}}
NETWORK: default
RANGE: 10.128.0.0/20
STACK_TYPE: IPV4_ONLY
IPV6_ACCESS_TYPE:
INTERNAL_IPV6_PREFIX:
EXTERNAL_IPV6_PREFIX:
...
注意:一如預期,default 和 mynetwork 網路為自動模式網路,因此每個區域 (可用區/區域可能會因實驗室要求而有出入) 都有子網路。managementnet 和 privatenet 網路是自訂模式網路,因此只有您建立的子網路。
- 依序點選 Cloud 控制台中的「導覽選單」圖示 >「虛擬私有雲網路」>「虛擬私有雲網路」。
- 您會發現 Cloud 控制台列出了相同的網路和子網路。
建立 managementnet 的防火牆規則
建立防火牆規則,允許 SSH、ICMP 和 RDP ingress 流量傳送至 managementnet 網路中的 VM 執行個體。
-
依序點選 Cloud 控制台中的「導覽選單」圖示
>「虛擬私有雲網路」>「防火牆」。
-
按一下「+ 建立防火牆規則」。
-
設定下方的值,其他屬性均保留預設值:
屬性 |
值 (依指示輸入值或選取選項) |
名稱 |
managementnet-allow-icmp-ssh-rdp |
網路 |
managementnet |
目標 |
網路中的所有執行個體 |
來源篩選器 |
IPv4 範圍 |
來源 IPv4 範圍 |
0.0.0.0/0 |
通訊協定和通訊埠 |
指定通訊協定和通訊埠,先勾選「TCP」並輸入「22, 3389」,然後勾選「其他通訊協定」並輸入「icmp」。 |
注意事項:請務必在「來源 IPv4 範圍」中加入 /0 來指定所有網路。
-
按一下「對等指令列」。
您也可以依據這些指令,透過 Cloud Shell 指令列建立防火牆規則。之後建立 privatenet 的防火牆規則時,您會使用這些指令,並設定類似的參數。
-
按一下「關閉」。
-
按一下「建立」。
測試已完成的工作
按一下「Check my progress」,確認工作已完成。如果已成功建立 managementnet 網路的防火牆規則,您就會看見評估分數。
建立 managementnet 的防火牆規則
建立 privatenet 的防火牆規則
使用 Cloud Shell 指令列建立 privatenet 網路的防火牆。
- 在 Cloud Shell 中執行下列指令,藉此建立 privatenet-allow-icmp-ssh-rdp 防火牆規則:
gcloud compute firewall-rules create privatenet-allow-icmp-ssh-rdp --direction=INGRESS --priority=1000 --network=privatenet --action=ALLOW --rules=icmp,tcp:22,tcp:3389 --source-ranges=0.0.0.0/0
輸出內容應如下所示:
Creating firewall...done.
NAME: privatenet-allow-icmp-ssh-rdp
NETWORK: privatenet
DIRECTION: INGRESS
PRIORITY: 1000
ALLOW: icmp,tcp:22,tcp:3389
DENY:
DISABLED: False
測試已完成的工作
按一下「Check my progress」,確認工作已完成。如果已成功建立 privatenet 網路的防火牆規則,您就會看見評估分數。
建立 privatenet 的防火牆規則
- 執行下列指令,列出所有防火牆規則 (按照虛擬私有雲網路排序):
gcloud compute firewall-rules list --sort-by=NETWORK
輸出內容應如下所示:
NAME: default-allow-icmp
NETWORK: default
DIRECTION: INGRESS
PRIORITY: 65534
ALLOW: icmp
DENY:
DISABLED: False
NAME: default-allow-internal
NETWORK: default
DIRECTION: INGRESS
PRIORITY: 65534
ALLOW: tcp:0-65535,udp:0-65535,icmp
DENY:
DISABLED: False
...
系統已為您建立 mynetwork 網路的防火牆規則。您可以在單一防火牆規則 (例如 privatenet 和 managementnet 的規則) 中定義多個通訊協定和通訊埠,也可以在多項規則 (例如預設網路和 mynetwork 的規則) 中分別進行設定。
- 依序點選 Cloud 控制台中的「導覽選單」圖示 >「虛擬私有雲網路」>「防火牆」。
- 您會發現 Cloud 控制台列出了相同的防火牆規則。
工作 2:建立 VM 執行個體
建立兩個 VM 執行個體:
- 位於 managementsubnet-1 的 managementnet-vm-1
- 位於 privatesubnet-1 的 privatenet-vm-1
建立 managementnet-vm-1 執行個體
使用 Cloud 控制台建立 managementnet-vm-1 執行個體。
-
前往 Cloud 控制台,依序點選「導覽選單」>「Compute Engine」>「VM 執行個體」。
系統已預先建立 mynet-vm-2 和 mynet-vm-1,如網路圖表所示。
-
點選「建立執行個體」。
-
設定下方的值,其他屬性均保留預設值:
屬性 |
值 (依指示輸入值或選取選項) |
名稱 |
managementnet-vm-1 |
區域 |
|
可用區 |
|
系列 |
E2 |
機型 |
e2-micro |
-
按一下「進階選項」中的「網路、磁碟、安全性、管理、單一用戶群」下拉式選單。
-
按一下「網路」。
-
在「網路介面」部分,點選下拉式選單來進行編輯。
-
設定下方的值,其他值均保留預設值:
屬性 |
值 (依指示輸入值或選取選項) |
網路 |
managementnet |
子網路 |
managementsubnet-1 |
-
點選「完成」。
-
按一下「等效程式碼」。
您也能依據這項指令,透過 Cloud Shell 指令列建立 VM 執行個體。稍後建立 privatenet-vm-1 執行個體時,您會用到這些指令,並設定類似的參數。
-
點選「建立」。
測試已完成的工作
按一下「Check my progress」,確認工作已完成。如果已成功在 managementnet 網路中建立 VM 執行個體,您就會看見評估分數。
建立 managementnet-vm-1 執行個體
建立 privatenet-vm-1 執行個體
使用 Cloud Shell 指令列建立 privatenet-vm-1 執行個體。
- 在 Cloud Shell 執行下列指令,建立 privatenet-vm-1 執行個體:
gcloud compute instances create privatenet-vm-1 --zone={{{project_0.default_zone}}} --machine-type=e2-micro --subnet=privatesubnet-1
輸出內容大致如下所示:
Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-04-972c7275ce91/zones/"{{{project_0.default_zone}}}"/instances/privatenet-vm-1].
NAME: privatenet-vm-1
ZONE: {{{project_0.default_zone}}}
MACHINE_TYPE: e2-micro
PREEMPTIBLE:
INTERNAL_IP: 172.16.0.2
EXTERNAL_IP: 34.135.195.199
STATUS: RUNNING
測試已完成的工作
按一下「Check my progress」,確認工作已完成。如果已成功在 privatenet 網路中建立 VM 執行個體,您就會看見評估分數。
建立 privatenet-vm-1 執行個體
- 執行下列指令,列出所有 VM 執行個體 (依可用區排序):
gcloud compute instances list --sort-by=ZONE
輸出內容大致如下所示:
NAME: mynet-vm-2
ZONE: {{{project_0.default_zone_2}}}
MACHINE_TYPE: e2-micro
PREEMPTIBLE:
INTERNAL_IP: 10.164.0.2
EXTERNAL_IP: 34.147.23.235
STATUS: RUNNING
NAME: mynet-vm-1
ZONE: {{{project_0.default_zone}}}
MACHINE_TYPE: e2-micro
PREEMPTIBLE:
INTERNAL_IP: 10.128.0.2
EXTERNAL_IP: 35.232.221.58
STATUS: RUNNING
...
-
依序點選 Cloud 控制台中的「導覽選單」圖示
>「Compute Engine」>「VM 執行個體」。
-
您會發現 Cloud 控制台列出了相同的 VM 執行個體。
-
按一下「資料欄顯示選項」,然後選取「網路」。點選「確定」。
中有三個執行個體, 中有一個執行個體。不過,這些執行個體分散在三個虛擬私有雲網路中,分別是 managementnet、mynetwork 和 privatenet,而且位於不同的可用區和網路。在下一節中,您會瞭解這項配置對內部連線能力的影響。
工作 3:瞭解 VM 執行個體之間的連線能力
瞭解 VM 執行個體之間的連線能力。具體而言,您將確認 VM 執行個體位於相同可用區,以及位於相同虛擬私有雲網路的影響。
對外部 IP 位址進行連線偵測 (ping)
對 VM 執行個體的外部 IP 位址進行連線偵測 (ping),藉此確認是否可以從公開網際網路存取這些執行個體。
-
前往 Cloud 控制台,依序點選「導覽選單」>「Compute Engine」>「VM 執行個體」。
-
記下 mynet-vm-2、managementnet-vm-1 和 privatenet-vm-1 的外部 IP 位址。
-
在 mynet-vm-1 部分,點選「SSH」來啟動終端機並連線。
-
執行下列指令來替換 mynet-vm-2 的外部 IP,藉此測試 mynet-vm-2 外部 IP 的連線能力:
ping -c 3 'Enter mynet-vm-2 external IP here'
連線偵測應會成功。
- 執行下列指令來替換 managementnet-vm-1 的外部 IP,藉此測試 managementnet-vm-1 外部 IP 的連線能力:
ping -c 3 'Enter managementnet-vm-1 external IP here'
連線偵測應會成功。
- 執行下列指令來替換 privatenet-vm-1 的外部 IP,藉此測試 privatenet-vm-1 外部 IP 的連線能力:
ping -c 3 'Enter privatenet-vm-1 external IP here'
連線偵測應會成功。
注意事項:您可以對所有 VM 執行個體的外部 IP 位址進行連線偵測 (ping),即便執行個體位於不同的可用區或虛擬私有雲網路也沒問題。由此可證,這些執行個體的公開存取權僅受您先前建立的 ICMP 防火牆規則控管。
對內部 IP 位址進行連線偵測 (ping)
對 VM 執行個體的內部 IP 位址進行連線偵測 (ping),藉此確認是否可以從虛擬私有雲網路存取這些執行個體。
- 前往 Cloud 控制台,依序點選「導覽選單」圖示 >「Compute Engine」>「VM 執行個體」。
- 記下 mynet-vm-2、managementnet-vm-1 和 privatenet-vm-1 的內部 IP 位址。
- 返回 mynet-vm-1 的 SSH 終端機。
- 執行下列指令來替換 mynet-vm-2 的內部 IP,藉此測試 mynet-vm-2 內部 IP 的連線能力:
ping -c 3 'Enter mynet-vm-2 internal IP here'
注意:mynet-vm-2 和連線偵測 (ping) 來源 mynet-vm-1 屬於同一個虛擬私有雲網路,因此即便這兩個 VM 執行個體位於不同的可用區、區域和大洲,您還是能對 mynet-vm-2 的內部 IP 位址執行連線偵測 (ping)。
- 執行下列指令來替換 managementnet-vm-1 的內部 IP,藉此測試 managementnet-vm-1 內部 IP 的連線能力:
ping -c 3 'Enter managementnet-vm-1 internal IP here
注意:輸出內容應會顯示「100% packet loss」,表示連線偵測失敗。
- 執行下列指令來替換 privatenet-vm-1 的內部 IP,藉此測試 privatenet-vm-1 內部 IP 的連線能力:
ping -c 3 'Enter privatenet-vm-1 internal IP here'
注意:輸出內容應會顯示「100% packet loss」,表示連線偵測失敗。managementnet-vm-1 和 privatenet-vm-1 和連線偵測 (ping) 來源 mynet-vm-1 屬於不同的虛擬私有雲網路,因此即便這三個 VM 執行個體都位於相同區域 ,您還是無法對前兩者的內部 IP 位址執行連線偵測 (ping)。
根據預設,虛擬私有雲網路是獨立的私人網路網域。不過,除非設有虛擬私有雲對接或 VPN 等機制,否則不同網路之間不允許任何內部 IP 位址通訊。
注意事項:請考慮對下列工作使用 region_1 = 和 region_2 =
。
工作 4:建立具備多個網路介面的 VM 執行個體
虛擬私有雲網路中的每個執行個體都有預設的網路介面。您可以建立連結至 VM 的額外網路介面。多個網路介面可讓您建立設定,將執行個體直接連結至多個虛擬私有雲網路 (最多 8 個介面,視執行個體類型而定)。
建立具備多個網路介面的 VM 執行個體
建立網路介面分別位於 privatesubnet-1、managementsubnet-1 和 mynetwork 的 vm-appliance 執行個體。這些子網路的 CIDR 範圍不會重疊。如要建立具備多個網路介面控制器 (NIC) 的 VM,此為必要條件。
-
依序點選 Cloud 控制台中的「導覽選單」圖示 >「Compute Engine」>「VM 執行個體」。
-
按一下「建立執行個體」。
-
設定下方的值,其他屬性均保留預設值:
屬性 |
值 (依指示輸入值或選取選項) |
名稱 |
vm-appliance |
區域 |
|
可用區 |
|
系列 |
E2 |
機型 |
e2-standard-4 |
注意:執行個體的介面數量上限會因執行個體的機型和 vCPU 數量而異。e2-standard-4 最多可以建立 4 個網路介面。詳情請參閱 Google Cloud 指南的「網路介面數量上限」一節。
-
按一下「進階選項」中的「網路、磁碟、安全性、管理、單一用戶群」下拉式選單。
-
按一下「網路」。
-
在「網路介面」部分,點選下拉式選單來進行編輯。
-
設定下方的值,其他值均保留預設值:
屬性 |
值 (依指示輸入值或選取選項) |
網路 |
privatenet |
子網路 |
privatesubnet-1 |
-
點選「完成」。
-
按一下「新增網路介面」。
-
設定下方的值,其他值均保留預設值:
屬性 |
值 (依指示輸入值或選取選項) |
網路 |
managementnet |
子網路 |
managementsubnet-1 |
-
點選「完成」。
-
按一下「新增網路介面」。
-
設定下方的值,其他值均保留預設值:
屬性 |
值 (依指示輸入值或選取選項) |
網路 |
mynetwork |
子網路 |
mynetwork |
-
按一下「完成」。
-
按一下「建立」。
測試已完成的工作
按一下「Check my progress」,確認工作已完成。如果已成功建立具備多個網路介面的 VM 執行個體,您就會看見評估分數。
建立具備多個網路介面的 VM 執行個體
查看網路介面詳細資料
透過 Cloud 控制台和 VM 的終端機查看 vm-appliance 的網路介面詳細資料。
- 依序點選 Cloud 控制台中的「導覽選單」圖示
>「Compute Engine」>「VM 執行個體」。
- 在 vm-appliance 部分,點選「內部 IP」位址中的「nic0」,即可開啟「網路介面詳細資料」頁面。
- 確認 nic0 已連結至 privatesubnet-1、已獲派位於該子網路 (172.16.0.0/24) 的內部 IP 位址,並含有適用的防火牆規則。
- 點選「nic0」,然後選取「nic1」。
- 確認 nic1 已連結至 managementsubnet-1、已獲派位於該子網路 (10.130.0.0/20) 的內部 IP 位址,並含有適用的防火牆規則。
- 點選「nic1」,然後選取「nic2」。
- 確認 nic2 已連結至 mynetwork、已獲派位於該子網路 (10.128.0.0/20) 的內部 IP 位址,並含有適用的防火牆規則。
注意事項:
每個網路介面都有專屬的內部 IP 位址,以便 VM 執行個體與這些網路相互通訊。
- 依序點選 Cloud 控制台中的「導覽選單」圖示 >「Compute Engine」>「VM 執行個體」。
- 在「vm-appliance」部分,按一下「SSH」來啟動終端機並建立連線。
- 執行下列指令,列出 VM 執行個體中的網路介面:
sudo ifconfig
輸出內容應如下所示:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460
inet 172.16.0.3 netmask 255.255.255.255 broadcast 172.16.0.3
inet6 fe80::4001:acff:fe10:3 prefixlen 64 scopeid 0x20<link>
ether 42:01:ac:10:00:03 txqueuelen 1000 (Ethernet)
RX packets 626 bytes 171556 (167.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 568 bytes 62294 (60.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460
inet 10.130.0.3 netmask 255.255.255.255 broadcast 10.130.0.3
inet6 fe80::4001:aff:fe82:3 prefixlen 64 scopeid 0x20<link>
ether 42:01:0a:82:00:03 txqueuelen 1000 (Ethernet)
RX packets 7 bytes 1222 (1.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 17 bytes 1842 (1.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460
inet 10.128.0.3 netmask 255.255.255.255 broadcast 10.128.0.3
inet6 fe80::4001:aff:fe80:3 prefixlen 64 scopeid 0x20<link>
ether 42:01:0a:80:00:03 txqueuelen 1000 (Ethernet)
RX packets 17 bytes 2014 (1.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 17 bytes 1862 (1.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
注意:sudo ifconfig 指令會列出 Linux VM 的網路介面,以及各個介面的內部 IP 位址。
查看網路介面的連線能力
對位於 privatesubnet-1、managementsubnet-1 和 mynetwork 的 VM 執行個體執行連線偵測 (ping),實際確認 vm-appliance 執行個體已連至這三個子網路。
- 前往 Cloud 控制台,依序點選「導覽選單」>「Compute Engine」>「VM 執行個體」。
- 記下 privatenet-vm-1、managementnet-vm-1、mynet-vm-1 和 mynet-vm-2 的內部 IP 位址。
- 返回 vm-appliance 的 SSH 終端機。
- 執行下列指令來替換 privatenet-vm-1 的內部 IP,藉此測試 privatenet-vm-1 內部 IP 的連線能力:
ping -c 3 'Enter privatenet-vm-1's internal IP here'
連線偵測成功!
- 執行下列指令,重複進行相同的測試:
ping -c 3 privatenet-vm-1
注意:您可以依據名稱對 privatenet-vm-1 進行連線偵測 (ping),這是因為虛擬私有雲網路具備內部 DNS 服務,可讓您依據 DNS 名稱 (而非內部 IP 位址) 指出執行個體。使用執行個體主機名稱執行內部 DNS 查詢時,該項查詢會解析為執行個體的主要介面 (nic0),因此在這個示例中,這樣的情況僅限於 privatenet-vm-1。
- 執行下列指令來替換 managementnet-vm-1 的內部 IP,藉此測試 managementnet-vm-1 內部 IP 的連線能力:
ping -c 3 'Enter managementnet-vm-1's internal IP here'
連線偵測成功!
- 執行下列指令來替換 mynet-vm-1 的內部 IP,藉此測試 mynet-vm-1 內部 IP 的連線能力:
ping -c 3 'Enter mynet-vm-1's internal IP here'
連線偵測成功!
- 執行下列指令來替換 mynet-vm-2 的內部 IP,藉此測試 mynet-vm-2 內部 IP 的連線能力:
ping -c 3 'Enter mynet-vm-2's internal IP here'
注意:連線偵測失敗。在具備多個介面的執行個體中,每個介面都會取得所在子網路的路徑。另外,執行個體也會取得一個與主要介面 eth0 相關聯的預設路徑。除非您手動設定,否則流量從執行個體傳送至直接連線的子網路以外的任何目的地時,都會透過 eth0 的預設路徑傳出執行個體。
- 如要列出 vm-appliance 執行個體的路徑,請執行下列指令:
ip route
輸出內容應如下所示:
default via 172.16.0.1 dev eth0
10.128.0.0/20 via 10.128.0.1 dev eth2
10.128.0.1 dev eth2 scope link
10.130.0.0/20 via 10.130.0.1 dev eth1
10.130.0.1 dev eth1 scope link
172.16.0.0/24 via 172.16.0.1 dev eth0
172.16.0.1 dev eth0 scope link
注意:主要介面 eth0 會取得預設路徑 (default via 172.16.0.1 dev eth0),eth0、eth1 和 eth2 這三個介面也都會取得個別子網路的路徑。mynet-vm-2 的子網路 (10.132.0.0/20) 並未列入這個轉送表格,因此對這個執行個體進行的連線偵測 (ping) 會在 eth0 (位於其他虛擬私有雲網路) 從 vm-appliance 傳出。如要變更這項行為,您可以設定政策轉送機制,詳情請參閱 Google Cloud 指南中的「設定政策轉送」一節。
恭喜!
在這個研究室中,您建立了具備三個網路介面的 VM 執行個體,並驗證了子網路 (連結至具備多個介面的 VM) 中 VM 執行個體的內部連線能力。
另外,您也瞭解了預設網路,以及預設網路的子網路、路徑和防火牆規則,還為新的自動模式虛擬私有雲網路建立了經過測試的連線。
後續步驟/瞭解詳情
如要進一步瞭解虛擬私有雲網路,請參閱使用虛擬私有雲網路相關說明。
Google Cloud 教育訓練與認證
協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。
使用手冊上次更新日期:2024 年 10 月 11 日
實驗室上次更新日期:2024 年 10 月 11 日
Copyright 2025 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。