练习 - 通过在 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. 直接在 Cloud Shell 中使用 SSH(安全外壳)连接到 VM。 使用 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 能够相互通信,哪些 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 连接到 MarketingVNet 和 ResearchVNet 虚拟网络的关系图。

    由于“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 连接到 MarketingVNet 和 SalesVNet 虚拟机的示意图。

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

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

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

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

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