练习 - 通过在 Azure 虚拟机之间使用 SSH 验证虚拟网络对等互连

已完成

在上一个单元中,已在虚拟网络之间配置了对等互连连接,以使资源能够相互通信。 配置使用的是中心辐射型拓扑。 MarketingVNet 是中心,SalesVNet 和 ResearchVNet 是分支。

Diagram of a hub and spoke topology for virtual networks.

请记住,对等互连连接是不可传递的。 中间虚拟网络不允许连接流经它们并到达已连接的虚拟网络。 “SalesVNet”可与“MarketingVNet”通信。 “ResearchVNet”可与“MarketingVNet”通信。 “MarketingVNet”可与“SalesVNet”和“ResearchVNet”通信。 唯一不允许的通信是在“SalesVNet”与“ResearchVNet”之间。 尽管“SalesVNet”和“ResearchVNet”都连接到“MarketingVNet”,但它们无法互相通信,因为它们之间不存在直接的对等互连连接。

我们来跨对等互连确认此连接。 为此,需要先创建从 Azure Cloud Shell 到目标 VM 的公共 IP 地址的连接。 然后,通过使用目的地 VM 的专用 IP 地址从目标 VM 连接到目的地 VM。

重要

要测试虚拟网络对等互连连接,请连接到分配给每个 VM 的专用 IP 地址。

  1. 要连接到 VM,可直接在 Cloud Shell 中使用 SSH(安全外壳)。 使用 SSH 时,首先要查找已分配给测试 VM 的公共 IP 地址。

  2. 在 Cloud Shell 中运行以下命令,列出用于连接 VM 的 IP 地址:

    az vm list \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --query "[*].{Name:name, PrivateIP:privateIps, PublicIP:publicIps}" \
        --show-details \
        --output table
    
  3. 记录输出。 本单元中的练习需要使用这些 IP 地址。

在开始测试之前,请想一想在此模块中学习的内容。 预期的结果是什么? 哪些 VM 能够彼此通信,而哪些不能?

测试 SalesVM 的连接

在第一个测试中,将在 Cloud Shell 中使用 SSH 连接到“SalesVM”的公共 IP 地址。 然后,尝试从“SalesVM”连接到“MarketingVM”和“ResearchVM”。

  1. 在 Cloud Shell 中运行以下命令,使用 SSH 连接到“SalesVM”的公共 IP 地址。 在此命令中,将 <SalesVM public IP> 替换为 VM 的公共 IP 地址。

    ssh -o StrictHostKeyChecking=no azureuser@<SalesVM public IP>
    

    A diagram showing connection to the public IP address of SalesVM.

  2. 使用创建 VM 时所用的密码登录。 提示现在将显示已登录至 SalesVM。

  3. 在 Cloud Shell 中运行以下命令,使用 SSH 连接到“MarketingVM”的专用 IP 地址。 在此命令中,将 <MarketingVM private IP> 替换为此 VM 的专用 IP 地址。

    ssh -o StrictHostKeyChecking=no azureuser@<MarketingVM private IP>
    

    Diagram showing connection from SalesVM to the private IP address of MarketingVM.

    由于“SalesVNet”和“MarketingVNet”虚拟网络之间存在对等互连连接,因此该连接尝试应成功。

  4. 使用创建 VM 时所用的密码登录。

  5. 输入 exit 以关闭该 SSH 会话,并返回到“SalesVM”提示。

  6. 在 Cloud Shell 中运行以下命令,使用 SSH 连接到“ResearchVM”的专用 IP 地址。 在此命令中,将 <ResearchVM private IP> 替换为此 VM 的专用 IP 地址。

    ssh -o StrictHostKeyChecking=no azureuser@<ResearchVM private IP>
    
  7. 由于“SalesVNet”和“ResearchVNet”虚拟网络之间不存在对等互连连接,因此该连接尝试应失败。 连接尝试最多可能在 60 秒后超时。若要强制停止尝试,请使用 Ctrl+C。

    Diagram showing the attempt failing to connect from SalesVM to the private IP address of ResearchVM.

  8. 输入 exit 以关闭 SSH 会话并返回 Cloud Shell。

测试 ResearchVM 的连接

在第二个测试中,将在 Cloud Shell 中使用 SSH 连接到“ResearchVM”的公共 IP 地址。 然后,尝试从“ResearchVM”连接到“MarketingVM”和“SalesVM”。

  1. 在 Cloud Shell 中运行以下命令,使用 SSH 连接到“ResearchVM”的公共 IP 地址。 在此命令中,将 <ResearchVM public IP> 替换为此 VM 的公共 IP 地址。

    ssh -o StrictHostKeyChecking=no azureuser@<ResearchVM public IP>
    

    Diagram showing connection to the public IP address of ResearchVM.

  2. 使用创建 VM 时所用的密码登录。 提示现在将显示已登录至 ResearchVM。

  3. 在 Cloud Shell 中运行以下命令,使用 SSH 连接到“MarketingVM”的专用 IP 地址。 在此命令中,将 <MarketingVM private IP> 替换为此 VM 的专用 IP 地址。

    ssh -o StrictHostKeyChecking=no azureuser@<MarketingVM private IP>
    

    Diagram showing connection to the private IP address of MarketingVM.

    由于“ResearchVNet”和“MarketingVNet”虚拟网络之间存在对等互连连接,因此该连接尝试应成功。

  4. 使用创建 VM 时所用的密码登录。

  5. 输入 exit 以关闭该 SSH 会话,并返回到“ResearchVM”提示。

  6. 在 Cloud Shell 中运行以下命令,使用 SSH 连接到“SalesVM”的专用 IP 地址。 在此命令中,将 <SalesVM private IP> 替换为此 VM 的专用 IP 地址。

    ssh -o StrictHostKeyChecking=no azureuser@<SalesVM private IP>
    
  7. 由于“ResearchVNet”和“SalesVNet”虚拟网络之间不存在对等互连连接,因此该连接尝试应失败。 连接尝试最多可能在 60 秒后超时。若要强制停止尝试,请使用 Ctrl+C。

    Diagram showing the attempt failing to connect ResearchVM to the private IP address of SalesVM.

  8. 输入 exit 以关闭 SSH 会话并返回 Cloud Shell。

测试 Marketing VM 的连接

在最后一个测试中,将在 Cloud Shell 中使用 SSH 连接到“MarketingVM”的公共 IP 地址。 然后,尝试从“MarketingVM”连接到“ResearchVM”和“SalesVM”。

  1. 在 Cloud Shell 中运行以下命令,使用 SSH 连接到“MarketingVM”的公共 IP 地址。 在此命令中,将 <MarketingVM public IP> 替换为此 VM 的公共 IP 地址。

    ssh -o StrictHostKeyChecking=no azureuser@<MarketingVM public IP>
    

    Diagram that shows connection to the public IP address of MarketingVM.

  2. 使用创建 VM 时所用的密码登录。 提示现在将显示已登录至 MarketingVM。

  3. 在 Cloud Shell 中运行以下命令,使用 SSH 连接到“ResearchVM”的专用 IP 地址。 在此命令中,将 <ResearchVM private IP> 替换为此 VM 的专用 IP 地址。

    ssh -o StrictHostKeyChecking=no azureuser@<ResearchVM private IP>
    

    Diagram that shows Azure Cloud Shell connecting to the Marketing V Net and the Research V Net virtual networks, using a peering connection.

    由于“MarketingVNet”和“ResearchVNet”虚拟网络之间存在对等互连连接,因此该连接尝试应成功。

  4. 使用创建 VM 时所用的密码登录。

  5. 输入 exit 以关闭该 SSH 会话,并返回到“MarketingVM”提示。

  6. 在 Cloud Shell 中运行以下命令,使用 SSH 连接到“SalesVM”的专用 IP 地址。 在此命令中,将 <SalesVM private IP> 替换为此 VM 的专用 IP 地址。

    ssh -o StrictHostKeyChecking=no azureuser@<SalesVM private IP>
    

    由于“MarketingVNet”和“SalesVNet”虚拟网络之间存在对等互连连接,因此该连接尝试也应成功。

    Diagram that shows Azure Cloud Shell connecting to the Marketing V Net and the Sales V Net virtual machines, using a peering connection.

  7. 使用创建 VM 时所用的密码登录。

  8. 输入 exit 以关闭该 SSH 会话,并返回到“MarketingVM”提示。

  9. 输入 exit 以关闭 SSH 会话并返回 Cloud Shell。

这是一个使用 SSH 的简单测试。 该测试演示对等互连的虚拟网络之间的网络连接。 还演示这种网络连接缺少的可传递连接。

如果这些服务器运行了应用程序服务,则服务器连接会允许在 VM 上运行的服务之间进行通信。 通过这种连接,企业可以根据需要在部门之间共享数据。