练习 - 通过在 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 地址。
要连接到 VM,可直接在 Cloud Shell 中使用 SSH(安全外壳)。 使用 SSH 时,首先要查找已分配给测试 VM 的公共 IP 地址。
在 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
记录输出。 本单元中的练习需要使用这些 IP 地址。
在开始测试之前,请想一想在此模块中学习的内容。 预期的结果是什么? 哪些 VM 能够彼此通信,而哪些不能?
测试 SalesVM 的连接
在第一个测试中,将在 Cloud Shell 中使用 SSH 连接到“SalesVM”的公共 IP 地址。 然后,尝试从“SalesVM”连接到“MarketingVM”和“ResearchVM”。
在 Cloud Shell 中运行以下命令,使用 SSH 连接到“SalesVM”的公共 IP 地址。 在此命令中,将
<SalesVM public IP>
替换为 VM 的公共 IP 地址。ssh -o StrictHostKeyChecking=no azureuser@<SalesVM public IP>
使用创建 VM 时所用的密码登录。 提示现在将显示已登录至 SalesVM。
在 Cloud Shell 中运行以下命令,使用 SSH 连接到“MarketingVM”的专用 IP 地址。 在此命令中,将
<MarketingVM private IP>
替换为此 VM 的专用 IP 地址。ssh -o StrictHostKeyChecking=no azureuser@<MarketingVM private IP>
由于“SalesVNet”和“MarketingVNet”虚拟网络之间存在对等互连连接,因此该连接尝试应成功。
使用创建 VM 时所用的密码登录。
输入
exit
以关闭该 SSH 会话,并返回到“SalesVM”提示。在 Cloud Shell 中运行以下命令,使用 SSH 连接到“ResearchVM”的专用 IP 地址。 在此命令中,将
<ResearchVM private IP>
替换为此 VM 的专用 IP 地址。ssh -o StrictHostKeyChecking=no azureuser@<ResearchVM private IP>
由于“SalesVNet”和“ResearchVNet”虚拟网络之间不存在对等互连连接,因此该连接尝试应失败。 连接尝试最多可能在 60 秒后超时。若要强制停止尝试,请使用 Ctrl+C。
输入
exit
以关闭 SSH 会话并返回 Cloud Shell。
测试 ResearchVM 的连接
在第二个测试中,将在 Cloud Shell 中使用 SSH 连接到“ResearchVM”的公共 IP 地址。 然后,尝试从“ResearchVM”连接到“MarketingVM”和“SalesVM”。
在 Cloud Shell 中运行以下命令,使用 SSH 连接到“ResearchVM”的公共 IP 地址。 在此命令中,将
<ResearchVM public IP>
替换为此 VM 的公共 IP 地址。ssh -o StrictHostKeyChecking=no azureuser@<ResearchVM public IP>
使用创建 VM 时所用的密码登录。 提示现在将显示已登录至 ResearchVM。
在 Cloud Shell 中运行以下命令,使用 SSH 连接到“MarketingVM”的专用 IP 地址。 在此命令中,将
<MarketingVM private IP>
替换为此 VM 的专用 IP 地址。ssh -o StrictHostKeyChecking=no azureuser@<MarketingVM private IP>
由于“ResearchVNet”和“MarketingVNet”虚拟网络之间存在对等互连连接,因此该连接尝试应成功。
使用创建 VM 时所用的密码登录。
输入
exit
以关闭该 SSH 会话,并返回到“ResearchVM”提示。在 Cloud Shell 中运行以下命令,使用 SSH 连接到“SalesVM”的专用 IP 地址。 在此命令中,将
<SalesVM private IP>
替换为此 VM 的专用 IP 地址。ssh -o StrictHostKeyChecking=no azureuser@<SalesVM private IP>
由于“ResearchVNet”和“SalesVNet”虚拟网络之间不存在对等互连连接,因此该连接尝试应失败。 连接尝试最多可能在 60 秒后超时。若要强制停止尝试,请使用 Ctrl+C。
输入
exit
以关闭 SSH 会话并返回 Cloud Shell。
测试 Marketing VM 的连接
在最后一个测试中,将在 Cloud Shell 中使用 SSH 连接到“MarketingVM”的公共 IP 地址。 然后,尝试从“MarketingVM”连接到“ResearchVM”和“SalesVM”。
在 Cloud Shell 中运行以下命令,使用 SSH 连接到“MarketingVM”的公共 IP 地址。 在此命令中,将
<MarketingVM public IP>
替换为此 VM 的公共 IP 地址。ssh -o StrictHostKeyChecking=no azureuser@<MarketingVM public IP>
使用创建 VM 时所用的密码登录。 提示现在将显示已登录至 MarketingVM。
在 Cloud Shell 中运行以下命令,使用 SSH 连接到“ResearchVM”的专用 IP 地址。 在此命令中,将
<ResearchVM private IP>
替换为此 VM 的专用 IP 地址。ssh -o StrictHostKeyChecking=no azureuser@<ResearchVM private IP>
由于“MarketingVNet”和“ResearchVNet”虚拟网络之间存在对等互连连接,因此该连接尝试应成功。
使用创建 VM 时所用的密码登录。
输入
exit
以关闭该 SSH 会话,并返回到“MarketingVM”提示。在 Cloud Shell 中运行以下命令,使用 SSH 连接到“SalesVM”的专用 IP 地址。 在此命令中,将
<SalesVM private IP>
替换为此 VM 的专用 IP 地址。ssh -o StrictHostKeyChecking=no azureuser@<SalesVM private IP>
由于“MarketingVNet”和“SalesVNet”虚拟网络之间存在对等互连连接,因此该连接尝试也应成功。
使用创建 VM 时所用的密码登录。
输入
exit
以关闭该 SSH 会话,并返回到“MarketingVM”提示。输入
exit
以关闭 SSH 会话并返回 Cloud Shell。
这是一个使用 SSH 的简单测试。 该测试演示对等互连的虚拟网络之间的网络连接。 还演示这种网络连接缺少的可传递连接。
如果这些服务器运行了应用程序服务,则服务器连接会允许在 VM 上运行的服务之间进行通信。 通过这种连接,企业可以根据需要在部门之间共享数据。