arrow_back

多个 VPC 网络

加入 登录
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

多个 VPC 网络

Lab 1 小时 10 分钟 universal_currency_alt 5 个积分 show_chart 中级
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP211

Google Cloud 自定进度实验

概览

在本实验中,您将创建多个 VPC 网络和虚拟机实例,并测试网络间的连接情况。具体来说,您将创建两个具有防火墙规则和虚拟机实例的自定义模式网络(managementnetprivatenet),如下面的网络图所示:

网络图

在本实验中,我们已经为您创建了 mynetwork 网络及其防火墙规则和两个虚拟机实例(mynet--vmmynet--vm)。

目标

在本实验中,您将学习如何执行以下任务:

  • 创建具有防火墙规则的自定义模式 VPC 网络
  • 使用 Compute Engine 创建虚拟机实例
  • 探索各 VPC 网络中虚拟机实例的连接情况
  • 创建具有多个网络接口的虚拟机实例

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。我们会为您提供新的临时凭据,让您可以在实验规定的时间内用来登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:如果您已有自己的个人 Google Cloud 账号或项目,请不要在此实验中使用,以避免您的账号产生额外的费用。

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。左侧是实验详细信息面板,其中包含以下各项:

    • 打开 Google 控制台按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google 控制台。 该实验会启动资源并打开另一个标签页,显示登录页面。

    提示:请将这些标签页安排在不同的窗口中,并将它们并排显示。

    注意:如果您看见选择帐号对话框,请点击使用其他帐号
  3. 如有必要,请从实验详细信息面板复制用户名,然后将其粘贴到登录对话框中。点击下一步

  4. 请从实验详细信息面板复制密码,然后将其粘贴到欢迎对话框中。点击下一步

    重要提示:您必须使用左侧面板中的凭据。请勿使用您的 Google Cloud Skills Boost 凭据。 注意:在本次实验中使用您自己的 Google Cloud 帐号可能会产生额外费用。
  5. 继续在后续页面中点击以完成相应操作:

    • 接受条款及条件。
    • 由于该帐号为临时帐号,请勿添加帐号恢复选项或双重验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Cloud 控制台。

注意:您可以点击左上角的导航菜单来查看列有 Google Cloud 产品和服务的菜单。 “导航菜单”图标

激活 Cloud Shell

Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。Cloud Shell 提供可用于访问您的 Google Cloud 资源的命令行工具。

  1. 点击 Google Cloud 控制台顶部的激活 Cloud Shell “激活 Cloud Shell”图标

如果您连接成功,即表示您已通过身份验证,且当前项目会被设为您的 PROJECT_ID 环境变量所指的项目。输出内容中有一行说明了此会话的 PROJECT_ID

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud 是 Google Cloud 的命令行工具。它已预先安装在 Cloud Shell 上,且支持 Tab 自动补全功能。

  1. (可选)您可以通过此命令列出活跃账号名称:
gcloud auth list
  1. 点击授权

  2. 现在,输出的内容应如下所示:

输出:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (可选)您可以通过此命令列出项目 ID:
gcloud config list project

输出

[core] project = <project_ID>

输出示例

[core] project = qwiklabs-gcp-44776a13dea667a6 Note: For full documentation of gcloud, in Google Cloud, refer to the gcloud CLI overview guide.

任务 1. 创建具有防火墙规则的自定义模式 VPC 网络

创建两个自定义网络:managementnetprivatenet,以及允许 SSHICMPRDP 入站流量的防火墙规则。

创建 managementnet 网络

使用 Cloud 控制台创建 managementnet 网络。

  1. 在 Cloud 控制台中,前往导航菜单 (“导航菜单”图标) > VPC 网络 > VPC 网络

导航菜单

  1. 此时会看到 defaultmynetwork 网络及其子网。

    每个 Google Cloud 项目都从 default 网络开始。此外,mynetwork 网络已预先纳入您的网络图。

  2. 点击创建 VPC 网络

  3. 名称设置为 managementnet

  4. 对于子网创建模式,点击自定义

  5. 设置以下值,将所有其他值保留为默认值:

    属性 值(按照说明输入值或选择选项)
    名称 managementsubnet-
    区域
    IPv4 范围 10.130.0.0/20
  6. 点击完成

  7. 点击等效命令行

    这些命令说明可以使用 Cloud Shell 命令行创建网络和子网。您将使用这些带有类似参数的命令创建 privatenet 网络。

  8. 点击关闭

  9. 点击创建

测试已完成的任务

点击检查我的进度可验证您已完成的任务。如果您已成功创建 managementnet 网络,则会看到一个评分。

创建 managementnet 网络

创建 privatenet 网络

使用 Cloud Shell 命令行创建 privatenet 网络。

  1. 运行以下命令以创建 privatenet 网络:
gcloud compute networks create privatenet --subnet-mode=custom
  1. 运行以下命令以创建 privatesubnet- 子网:
gcloud compute networks subnets create privatesubnet-{{{project_0.startup_script.gcp_region | Region}}} --network=privatenet --region={{{project_0.startup_script.gcp_region | Region}}} --range=172.16.0.0/24
  1. 运行以下命令以创建 privatesubnet- 子网:
gcloud compute networks subnets create privatesubnet-{{{project_0.startup_script.secondary_region | Region}}} --network=privatenet --region={{{project_0.startup_script.secondary_region | Region}}} --range=172.20.0.0/20

测试已完成的任务

点击检查我的进度可验证您已完成的任务。如果您已成功创建 privatenet 网络,则会看到一个评分。

创建 privatenet 网络
  1. 运行以下命令列出可用的 VPC 网络:
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: ... 注意defaultmynetwork 网络均为自动模式网络,而 managementnetprivatenet 网络则为自定义模式网络。自动模式网络会自动在每个区域中创建子网,而自定义模式网络最初没有子网,由您全权掌控其子网的创建
  1. 运行以下命令列出可用的 VPC 子网(结果按 VPC 网络排序):
gcloud compute networks subnets list --sort-by=NETWORK

输出应如下所示:

NAME: default REGION: {{{project_0.startup_script.gcp_region | Region}}} NETWORK: default RANGE: 10.128.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: ... 注意:与预期相同,defaultmynetwork 网络在各区域(区域/可用区可能会根据实验要求而变化)中均有子网,因为它们是自动模式网络。managementnetprivatenet 网络只包含您创建的子网,因为它们是自定义模式网络。
  1. 在 Cloud 控制台中,前往导航菜单 > VPC 网络 > VPC 网络
  2. 您会看到 Cloud 控制台中列出了同样的网络和子网。

为 managementnet 创建防火墙规则

创建防火墙规则,以允许 SSHICMPRDP 入站流量传入到 managementnet 网络的虚拟机实例。

  1. 在 Cloud 控制台中,前往导航菜单 (“导航菜单”图标) > VPC 网络 > 防火墙

  2. 点击 + 创建防火墙规则

  3. 设置以下值,将所有其他值保留为默认值:

    属性 值(按照说明输入值或选择选项)
    名称 managementnet-allow-icmp-ssh-rdp
    网络 managementnet
    目标 网络中的所有实例
    来源过滤条件 IPv4 范围
    来源 IPv4 范围 0.0.0.0/0
    协议和端口 指定的协议和端口;然后选中“tcp”,并输入“22, 3389”;再选中“其他协议“,并输入“icmp”。
注意:确保在来源 IPv4 范围中包含 /0,以指定所有网络。
  1. 点击等效命令行

    这些命令说明也可以使用 Cloud Shell 命令行创建防火墙规则。您将使用这些带有类似参数的命令创建 privatenet 的防火墙规则。

  2. 点击关闭

  3. 点击创建

测试已完成的任务

点击检查我的进度可验证您已完成的任务。如果您成功为 managementnet 网络创建了防火墙规则,则会看到一个评分。

为 managementnet 创建防火墙规则

为 privatenet 创建防火墙规则

使用 Cloud Shell 命令行为 privatenet 网络创建防火墙规则。

  1. 在 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

测试已完成的任务

点击检查我的进度可验证您已完成的任务。如果您成功为 privatenet 网络创建了防火墙规则,则会看到一个评分。

为 privatenet 创建防火墙规则
  1. 运行以下命令列出所有防火墙规则(结果按 VPC 网络排序):
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 网络的防火墙规则。您可以在一条防火墙规则中定义多个协议和端口(privatenetmanagementnet),也可以在多条规则中指定这些协议和端口(defaultmynetwork)。

  1. 在 Cloud 控制台中,前往导航菜单 > VPC 网络 > 防火墙
  2. 您会看到 Cloud 控制台中列出了同样的防火墙规则。

任务 2. 创建虚拟机实例

创建两个虚拟机实例:

  • managementsubnet- 中创建 managementsubnet--vm
  • privatesubnet- 中创建 privatesubnet--vm

创建 managementnet--vm 实例

使用 Cloud 控制台创建 managementnet--vm 实例。

  1. 在 Cloud 控制台中,前往导航菜单 > Compute Engine > 虚拟机实例

    我们已为您创建了网络图中所包含的 mynet--vmmynet--vm

  2. 点击创建实例

  3. 设置以下值,将所有其他值保留为默认值:

    属性 值(按照说明输入值或选择选项)
    名称 managementnet--vm
    区域
    可用区
    系列 E2
    机器类型 e2-micro
  4. 高级选项中,点击网络、磁盘、安全、管理、单租户下拉菜单。

  5. 点击网络

  6. 对于网络接口,请点击下拉菜单进行修改。

  7. 设置以下值,将所有其他值保留为默认值:

    属性 值(按照说明输入值或选择选项)
    网络 managementnet
    子网 managementsubnet-
  8. 点击完成

  9. 点击等效代码

    这说明也可以使用 Cloud Shell 命令行创建虚拟机实例。您将使用这些带有类似参数的命令创建 privatenet--vm 实例。

  10. 点击创建

测试已完成的任务

点击检查我的进度可验证您已完成的任务。如果您在 managementnet 网络中成功创建了虚拟机实例,则会看到一个评分。

创建 managementnet--vm 实例

创建 privatenet--vm 实例

使用 Cloud Shell 命令行创建 privatenet--vm 实例。

  1. 在 Cloud Shell 中,运行以下命令以创建 privatenet--vm 实例:
gcloud compute instances create privatenet-{{{project_0.startup_script.gcp_region | Region}}}-vm --zone={{{project_0.startup_script.primary_zone}}} --machine-type=e2-micro --subnet=privatesubnet-{{{project_0.startup_script.gcp_region | Region}}}

输出应如下所示:

Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-04-972c7275ce91/zones/"{{{project_0.startup_script.primary_zone}}}"/instances/privatenet-{{{project_0.startup_script.gcp_region | Region}}}-vm]. NAME: privatenet-{{{project_0.startup_script.gcp_region | Region}}}-vm ZONE: {{{project_0.startup_script.primary_zone}}} MACHINE_TYPE: e2-micro PREEMPTIBLE: INTERNAL_IP: 172.16.0.2 EXTERNAL_IP: 34.135.195.199 STATUS: RUNNING

测试已完成的任务

点击检查我的进度可验证您已完成的任务。如果您在 privatenet 网络中成功创建了虚拟机实例,则会看到一个评分。

创建 privatenet--vm 实例
  1. 运行以下命令以列出所有虚拟机实例(结果按可用区排序):
gcloud compute instances list --sort-by=ZONE

输出应如下所示:

NAME: mynet-{{{project_0.startup_script.secondary_region}}}-vm ZONE: {{{project_0.startup_script.secondary_zone}}} MACHINE_TYPE: e2-micro PREEMPTIBLE: INTERNAL_IP: 10.164.0.2 EXTERNAL_IP: 34.147.23.235 STATUS: RUNNING NAME: mynet-{{{project_0.startup_script.gcp_region}}}-vm ZONE: {{{project_0.startup_script.primary_zone}}} MACHINE_TYPE: e2-micro PREEMPTIBLE: INTERNAL_IP: 10.128.0.2 EXTERNAL_IP: 35.232.221.58 STATUS: RUNNING ...
  1. 在 Cloud 控制台中,前往导航菜单 (“导航菜单”图标) > Compute Engine > 虚拟机实例

  2. 您会看到虚拟机实例列在 Cloud 控制台中。

  3. 点击列显示选项,然后选择网络。点击确定

    中有三个实例, 中有一个实例。不过,这些实例分布在三个 VPC 网络(managementnetmynetworkprivatenet)中,而且所在的可用区和网络均不同。在下一部分中,您将探索这样的配置对内部连接有何影响。

任务 3. 探索虚拟机实例之间的连接情况

探索虚拟机实例之间的连接情况。具体来说,对比虚拟机实例位于同一可用区与位于同一 VPC 网络中的效果。

Ping 外部 IP 地址

Ping 这些虚拟机实例的外部 IP 地址,以确定是否可以从公共互联网访问这些实例。

  1. 在 Cloud 控制台中,前往导航菜单 > Compute Engine > 虚拟机实例

  2. 记下 mynet--vmmanagementnet--vmprivatenet--vm 的外部 IP 地址。

  3. 对于 mynet--vm,点击 SSH 以启动一个终端并进行连接。

  4. 如需测试能否连接到 mynet--vm 的外部 IP,请运行以下命令(使用 mynet--vm 的外部 IP):

ping -c 3 在此处输入 mynet-{{{project_0.startup_script.secondary_region | Region}}}-vm 的外部 IP

应该能够 ping 通。

  1. 如需测试能否连接到 managementnet--vm 的外部 IP,请运行以下命令(使用 managementnet--vm 的外部 IP):
ping -c 3 在此处输入 managementnet-{{{project_0.startup_script.gcp_region | Region}}}-vm 的外部 IP

应该能够 ping 通。

  1. 如需测试能否连接到 privatenet--vm 的外部 IP,请运行以下命令(使用 privatenet--vm 的外部 IP):
ping -c 3 在此处输入 privatenet-{{{project_0.startup_script.gcp_region | Region}}}-vm 的外部 IP

应该能够 ping 通。

注意:您可以 ping 通所有虚拟机实例的外部 IP 地址,即使它们位于其他可用区或 VPC 网络中也是如此。这就证明了对这些实例的公共访问权限仅由您先前建立的 ICMP 防火墙规则控制。

Ping 内部 IP 地址

Ping 虚拟机实例的内部 IP 地址,以确定是否可以从 VPC 网络内访问这些实例。

  1. 在 Cloud 控制台中,前往导航菜单 > Compute Engine > 虚拟机实例
  2. 记下 mynet--vmmanagementnet--vmprivatenet--vm 的内部 IP 地址。
  3. 返回 mynet--vmSSH 终端。
  4. 如需测试能否连接到 mynet--vm 的内部 IP,请运行以下命令(使用 mynet--vm 的内部 IP):
ping -c 3 在此处输入 mynet-{{{project_0.startup_script.secondary_region | Region}}}-vm 的内部 IP 注意:您可以 ping 通 mynet--vm 的内部 IP 地址,因为它与 ping 操作的来源 (mynet--vm) 位于同一个 VPC 网络中,尽管这两个虚拟机实例位于不同的可用区、区域和大洲。
  1. 如需测试能否连接到 managementnet--vm 的内部 IP,请运行以下命令(使用 managementnet--vm 的内部 IP):
ping -c 3 在此处输入 managementnet-{{{project_0.startup_script.gcp_region | Region}}}-vm 的内部 IP 注意:应该无法 ping 通,100% 的丢包率表明了这一点。
  1. 如需测试能否连接到 privatenet--vm 的内部 IP,请运行以下命令(使用 privatenet--vm 的内部 IP):
ping -c 3 在此处输入 privatenet-{{{project_0.startup_script.gcp_region | Region}}}-vm 的内部 IP 注意:应该也无法 ping 通,100% 的丢包率表明了这一点。您无法 ping 通 managementnet--vmprivatenet--vm 的内部 IP 地址,因为它们与 ping 操作的来源 (mynet--vm) 位于不同的 VPC 网络中,尽管它们全部位于同一区域 中。

默认情况下,VPC 网络是隔离的专用网络网域。但是,除非您设置 VPC 对等互连或 VPN 等机制,否则无法在网络之间使用内部 IP 地址通信。

注意:对于以下任务,请考虑 region_1 = region_2 = `

任务 4:创建具有多个网络接口的虚拟机实例

VPC 网络中的每个实例都有默认网络接口。您可以创建连接到您的虚拟机的其他网络接口。通过使用多个网络接口,您可以创建将某个实例直接连接到多个 VPC 网络的配置(最多可有 8 个接口,具体取决于实例的类型)。

创建具有多个网络接口的虚拟机实例

创建在 privatesubnet-managementsubnet-mynetwork 中具有网络接口的 vm-appliance 实例。这些子网的 CIDR 范围不重叠,在创建具有多个网络接口控制器 (NIC) 的虚拟机时,必须满足此项要求。

  1. 在 Cloud 控制台中,前往导航菜单 > Compute Engine > 虚拟机实例

  2. 点击创建实例

  3. 设置以下值,将所有其他值保留为默认值:

    属性 值(按照说明输入值或选择选项)
    名称 vm-appliance
    区域
    可用区
    系列 E2
    机器类型 e2-standard-4
注意:一个实例中允许的接口数量上限取决于相应实例的机器类型和 vCPU 数量。e2-standard-4 允许的网络接口数量上限为 4。如需了解详情,请参阅相应 Google Cloud 指南中的“网络接口数上限”部分
  1. 高级选项中,点击网络、磁盘、安全、管理、单租户下拉菜单。

  2. 点击网络

  3. 对于网络接口,请点击下拉菜单进行修改。

  4. 设置以下值,将所有其他值保留为默认值:

    属性 值(按照说明输入值或选择选项)
    网络 privatenet
    子网 privatenet-
  5. 点击完成

  6. 点击添加网络接口

  7. 设置以下值,将所有其他值保留为默认值:

    属性 值(按照说明输入值或选择选项)
    网络 managementnet
    子网 managementsubnet-
  8. 点击完成

  9. 点击添加网络接口

  10. 设置以下值,将所有其他值保留为默认值:

    属性 值(按照说明输入值或选择选项)
    网络 mynetwork
    子网 mynetwork
  11. 点击完成

  12. 点击创建

测试已完成的任务

点击检查我的进度可验证您已完成的任务。如果您成功创建了具有多个网络接口的虚拟机实例,则会看到一个评分。

创建具有多个网络接口的虚拟机实例

探索网络接口详情

在 Cloud 控制台和虚拟机终端内探索 vm-appliance 的网络接口详情。

  1. 在 Cloud 控制台中,前往导航菜单 (“导航菜单”图标) > Compute Engine > 虚拟机实例
  2. vm-appliance内部 IP 地址中,点击 nic0 以打开网络接口详情页面。
  3. 确认 nic0 已连接到 privatesubnet-,已获得该子网 (172.16.0.0/24) 内的一个内部 IP 地址,并且具有适用的防火墙规则。
  4. 点击 nic0,然后选择 nic1
  5. 确认 nic1 已连接到 managementsubnet-,已获得该子网 (10.130.0.0/20) 内的一个内部 IP 地址,并且具有适用的防火墙规则。
  6. 点击 nic1,然后选择 nic2
  7. 确认 nic2 已连接到 mynetwork,已获得该子网 (10.128.0.0/20) 内的一个内部 IP 地址,并且具有适用的防火墙规则。
注意: 每个网络接口都有自己的内部 IP 地址,如此虚拟机实例便可与这些网络通信。
  1. 在 Cloud 控制台中,前往导航菜单 > Compute Engine > 虚拟机实例
  2. 对于 vm-appliance,点击 SSH 以启动一个终端并进行连接。
  3. 运行以下命令,列出该虚拟机实例内的网络接口:
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 虚拟机的网络接口及各接口的内部 IP 地址。

探索网络接口的连接情况

通过 ping 相应子网上的虚拟机实例,证明 vm-appliance 实例已连接到 privatesubnet-managementsubnet-mynetwork

  1. 在 Cloud 控制台中,前往导航菜单 > Compute Engine > 虚拟机实例
  2. 记下 privatenet--vmmanagementnet--vmmynet--vmmynet--vm 的内部 IP 地址。
  3. 返回 vm-applianceSSH 终端。
  4. 如需测试能否连接到 privatenet--vm 的内部 IP,请运行以下命令(使用 privatenet--vm 的内部 IP):
ping -c 3 在此处输入 privatenet-{{{project_0.startup_script.gcp_region | Region}}}-vm 的内部 IP

可以 ping 通!

  1. 运行以下命令,重复执行相同的测试:
ping -c 3 privatenet-{{{project_0.startup_script.gcp_region | Region}}}-vm 注意:您可以使用 privatenet--vm 的名称 ping 通此实例,因为 VPC 网络具有内部 DNS 服务,允许您按 DNS 名称(而非内部 IP 地址)对实例进行寻址。如果内部 DNS 查询由实例主机名构成,则会解析为实例的主要接口 (nic0)。因此,在本例中,这仅适用于 privatenet--vm
  1. 如需测试能否连接到 managementnet--vm 的内部 IP,请运行以下命令(使用 managementnet--vm 的内部 IP):
ping -c 3 在此处输入 managementnet-{{{project_0.startup_script.gcp_region | Region}}}-vm 的内部 IP

可以 ping 通!

  1. 如需测试能否连接到 mynet--vm 的内部 IP,请运行以下命令(使用 mynet--vm 的内部 IP):
ping -c 3 在此处输入 mynet-{{{project_0.startup_script.gcp_region | Region}}}-vm 的内部 IP

可以 ping 通!

  1. 如需测试能否连接到 mynet--vm 的内部 IP,请运行以下命令(使用 mynet--vm 的内部 IP):
ping -c 3 在此处输入 mynet-{{{project_0.startup_script.secondary_region | Region}}}-vm 的内部 IP 注意:无法 ping 通!在具有多个接口的实例中,每个接口对于其所在子网都有一个路由。此外,该实例会有一个与主要接口 eth0 相关联的默认路由。除非手动配置,否则从某个实例流向任何目的地(直接关联的子网除外)的所有流量都将通过 eth0 上的默认路由传出该实例。
  1. 如需列出 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 有一个默认路由(默认通过 172.16.0.1 dev eth0 进行路由),全部三个接口(即 eth0、eth1 和 eth2)均有对应于各自子网的路由。由于此路由表中未包含 mynet--vm (10.132.0.0/20) 的子网,对该实例的 ping 操作流量会通过 eth0(此接口位于不同的 VPC 网络上)传出 vm-appliance。您可以通过配置政策路由来更改此行为,具体方法请参见相应 Google Cloud 指南中的“配置政策路由”部分

恭喜!

在本实验中,您创建了一个具有三个网络接口的虚拟机实例,还验证了该多接口虚拟机实例与此虚拟机所连接子网中的几个虚拟机实例的内部连接情况。

此外,您探索了 default 网络及其子网、路由和防火墙规则。然后,您为新的自动模式 VPC 网络建立了经测试的连接。

完成挑战任务

本项自学实验是云工程挑战任务的组成部分。一项挑战任务就是一系列相关的实验,学习时按部就班地完成这些实验即可。完成一项挑战任务即可赢得一枚徽章,以表彰您取得的成就。您可以公开展示徽章,还可以在您的在线简历或社交媒体账号中加入指向徽章的链接。欢迎注册参加任何包含此实验的挑战任务,完成后就能立即获得相应的积分。请参阅 Google Cloud Skills Boost 目录,查看提供的所有挑战任务。

参与下一项实验

欢迎您继续参与挑战任务,下一项实验是 VPC 网络 - 控制访问,或者,您也可以查看下面这些推荐实验:

后续步骤/了解详情

如需详细了解 VPC 网络,请参阅使用 VPC 网络

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

上次更新手册的时间:2023 年 11 月 24 日

上次测试实验的时间:2023 年 11 月 24 日

版权所有 2024 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。