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」 圖示 。
系統顯示視窗時,請按照下列步驟操作:
繼續操作 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 鍵自動完成功能。
(選用) 您可以執行下列指令來列出使用中的帳戶:
gcloud auth list
點按「授權」 。
輸出內容:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
(選用) 您可以使用下列指令來列出專案 ID:
gcloud config list project
輸出內容:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
注意: 如需 gcloud
的完整說明,請前往 Google Cloud 參閱 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 年 12 月 12 日
實驗室上次測試日期:2024 年 10 月 22 日
Copyright 2025 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。