教程:使用 Azure 门户诊断虚拟机网络路由问题

部署虚拟机 (VM) 时,Azure 会为其创建多个默认路由。 可以创建自定义路由来覆盖 Azure 的默认路由。 有时候,自定义路由可能导致 VM 无法与其他资源通信。 本教程介绍如何执行下列操作:

  • 创建 VM
  • 使用网络观察程序的“下一跃点”功能测试到 URL 的通信
  • 测试到 IP 地址的通信
  • 诊断路由问题,并了解如何解决该问题

可以根据自己的偏好,使用 Azure CLIAzure PowerShell 诊断虚拟机网络路由问题。

如果没有 Azure 订阅,可在开始前创建一个试用帐户

登录 Azure

https://portal.azure.cn 登录 Azure 门户。

创建 VM

  1. 选择 Azure 门户左上角的“+ 创建资源”。
  2. 选择“计算”,然后选择“Windows Server 2016 Datacenter”或“Ubuntu Server 17.10 VM”。
  3. 输入或选择以下信息,保留剩下的默认设置,然后选择“确定”:

    设置
    Name myVm
    用户名 输入所选用户名。
    密码 输入所选密码。 密码必须至少 12 个字符长,且符合定义的复杂性要求
    订阅 选择订阅。
    资源组 选择“新建”,并输入 myResourceGroup
    位置 选择“中国东部”
  4. 选择 VM 的大小,然后选择“选择”。

  5. 保留“设置”下的所有默认设置,然后选择“确定”。
  6. 在“摘要”中的“创建”下,选择“创建”以启动 VM 部署。 部署 VM 需要几分钟时间。 在继续余下的步骤之前,请等待 VM 完成部署。

测试网络通信

若要通过网络观察程序测试网络通信,则必须先在至少一个 Azure 区域中启用网络观察程序,然后使用网络观察程序的“下一跃点”功能来测试通信。

启用网络观察程序

如果已至少在一个区域中启用网络观察程序,请跳到使用下一跃点

  1. 在门户中,选择“所有服务”。 在“筛选器”框中,输入“网络观察程序”。 结果中出现“网络观察程序”后,将其选中。
  2. 选择“区域”,以便将其展开,然后选择“中国东部”右侧的“...”,如下图所示:

    启用网络观察程序

  3. 选择“启用网络观察程序”。

使用下一跃点

Azure 自动创建到默认目标的路由。 可以创建自定义路由来覆盖默认路由。 有时候,自定义路由可能会导致通信故障。 请使用网络观察程序的“下一跃点”功能来确定 Azure 使用哪个路由来路由流量。

  1. 在 Azure 门户的“网络观察程序”下选择“下一跃点”。
  2. 选择订阅,输入或选择以下值,然后选择“下一跃点”,如下图所示:

    设置
    资源组 选择 myResourceGroup
    虚拟机 选择 myVm
    Linux myvm - 你的网络接口名称可能有所不同。
    源 IP 地址 10.0.0.4
    目标 IP 地址 13.107.21.200 - www.bing.com 的一个地址。

    下一跃点

    数秒钟后,结果指示下一跃点类型为“Internet”,“路由表 ID”为“系统路由”。 此结果指示存在有效的通往目标的系统路由。

  3. 将“目标 IP 地址”更改为“172.31.0.100”,然后再次选择“下一跃点”。 返回的结果指示“下一跃点类型”为“无”,“路由表 ID”仍为“系统路由”。 此结果指示,虽然存在有效的通往目标的系统路由,但是没有将流量路由到目标的下一跃点。

查看路由详细信息

  1. 若要进一步分析路由情况,请查看网络接口的有效路由。 在门户顶部的搜索框中,输入“myvm”(或勾选的网络接口的任何其他名称)。 当“myvm”出现在搜索结果中时,将其选中。
  2. 在“支持 + 故障排除”下选择“有效路由”,如下图所示:

    有效路由

    使用使用下一跃点中的 13.107.21.200 运行测试时,地址前缀为 0.0.0.0/0 的路由用于将流量路由到该地址,因为没有其他路由包含该地址。 默认情况下,未在另一路由的地址前缀中指定的所有地址都会路由到 Internet。

    但在使用 172.31.0.100 运行测试时,结果指示没有下一跃点类型。 在上图中可以看到,虽然有一个到 172.16.0.0/12 前缀的默认路由(其中包括地址 172.31.0.100),但“下一跃点类型”为“无”。 Azure 会创建到 172.16.0.0/12 的默认路由,但不会无缘无故地指定下一跃点类型。 在特定情况下,例如在已将 172.16.0.0/12 地址范围添加到虚拟网络的地址空间的情况下,Azure 会将路由的“下一跃点类型”更改为“虚拟网络”。 此时进行检查会显示“下一跃点类型”为“虚拟网络”。

清理资源

不再需要资源组时,可将资源组及其包含的所有资源一并删除:

  1. 在门户顶部的“搜索”框中输入“myResourceGroup”。 当在搜索结果中看到“myResourceGroup”时,将其选中。
  2. 选择“删除资源组”。
  3. 对于“键入资源组名称:”,输入“myResourceGroup”,然后选择“删除”。

后续步骤

本教程介绍了如何创建 VM 并根据该 VM 诊断网络路由问题, 同时还介绍了 Azure 可以创建多个默认路由,并且还测试了到两个不同目标的路由。 详细了解 Azure 中的路由以及如何创建自定义路由

对于出站 VM 连接,还可以使用网络观察程序的连接故障排除功能来确定延迟、VM 和终结点之间获得允许的和被拒绝的网络流量,以及所使用的通往某个终结点的路由。 了解如何使用网络观察程序的连接监视器功能监视 VM 和终结点(例如 IP 地址或 URL)之间在某段时间的通信情况。