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

已完成

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

虚拟网络的中心辐射型拓扑的示意图。

请记住,对等互连连接是不可传递的。 中间虚拟网络不允许连接流经它们并到达已连接的虚拟网络。 “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>
    

    该图显示与 SalesVM 的公共 IP 地址的连接。

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

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

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

    该图显示从 SalesVM 连接到 MarketingVM 的专用 IP 地址。

    由于“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。

    该图显示尝试从 SalesVM 连接到 ResearchVM 的专用 IP 地址失败。

  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>
    

    该图显示与 ResearchVM 的公共 IP 地址的连接。

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

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

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

    该图显示与 MarketingVM 的专用 IP 地址的连接。

    由于“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。

    该图显示尝试将 ResearchVM 连接到 SalesVM 的专用 IP 地址失败。

  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>
    

    该图显示与 MarketingVM 的公共 IP 地址的连接。

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

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

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

    显示使用对等互连连接将 Azure Cloud Shell 连接到营销 V Net 和研究 V Net 虚拟网络的示意图。

    由于“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”虚拟网络之间存在对等互连连接,因此该连接尝试也应成功。

    显示使用对等互连连接将 Azure Cloud Shell 连接到营销 V Net 和销售 V Net 虚拟机的示意图。

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

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

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

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

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