排查出站连接

本文介绍如何使用 Azure 网络观察程序的排查连接问题功能来诊断和排查连接问题。 有关连接故障排除的详细信息,请参阅连接故障排除概述

先决条件

  • 拥有有效订阅的 Azure 帐户。 免费创建帐户

  • 在您要排除故障的虚拟机 (VM) 所在区域中启用网络监视器。 默认情况下,在区域中创建虚拟网络时,Azure 会在该区域中启用网络观察程序。 有关详细信息,请参阅启用或禁用 Azure 网络观察程序

  • 安装了网络观察程序代理 VM 扩展的虚拟机,并具有以下出站 TCP 连接:

    • 到 169.254.169.254(通过端口 80)
    • 到 168.63.129.16(通过端口 8037)
  • 第二台虚拟机,具备从 168.63.129.16 通过正在测试的端口的入站 TCP 连接(用于端口扫描程序诊断测试)。

注释

源虚拟机上需要网络观察程序代理 VM 扩展才能运行连接故障排除 连接测试。 使用 Azure 门户时,该扩展会自动安装在虚拟机上。 如果您尚未安装该扩展,您可以手动安装它:

测试与虚拟机的连接

在本部分中,将测试从一台虚拟机到同一虚拟网络中的另一台虚拟机的远程桌面端口 (RDP) 连接。

  1. 登录到 Azure 门户

  2. 在门户顶部的搜索框中,输入“网络观察程序”。 在搜索结果中,选择“网络监视器”。

    在 Azure 门户中搜索网络观察程序的屏幕截图。显示在 Azure 门户中如何搜索 “网络观察程序” 的屏幕截图。

  3. 在“网络诊断工具”下,选择“连接故障排除”。 输入或选择下列值:

    设置 价值
    来源
    源类型 选择“虚拟机”。
    虚拟机 选择要进行连接故障排查的虚拟机。
    目的地
    目标类型 选择选择虚拟机
    虚拟机 选择目标虚拟机。
    探测设置
    首选 IP 版本 选择“IPv4”。 其他可用选项包括:“两者”和“IPv6”。
    协议 选择TCP。 其他可用选项包括:ICMP
    目标端口 输入“3389”。 端口 3389 是 RDP 的默认端口。
    源端口 留空或输入要测试的源端口号。
    连接诊断
    诊断测试 选择“连接性”、“NSG 诊断”、“下一跳”和“端口扫描器”

    显示 Azure 门户中网络监视程序用于排查两台虚拟机间连接问题的屏幕截图。

  4. 选择“运行诊断测试”。

    • 如果这两台虚拟机正在通信,没有问题,则会看到以下结果:

      屏幕截图显示了在测试两个正在通信且没有问题的虚拟机之间的连接后的连接故障排除结果。

      • 已成功将 66 个探测发送到目标虚拟机。 选择“查看详细信息”以查看下一个跳转点的详细信息。
      • 允许来自源虚拟机的出站连接。 选择查看详细信息来查看允许源虚拟机进行出站通信的安全规则。
      • 允许与目标虚拟机的入站连接。 选择查看详细信息以查看允许入站通信到目标虚拟机的安全规则。
      • Azure 默认系统路由用于在这两台虚拟机之间路由流量(路由表 ID:系统路由)。
      • 在目标虚拟机上可以访问端口 3389。
    • 如果目标虚拟机具有拒绝传入 RDP 连接的网络安全组,则会看到以下结果:

      屏幕截图,显示了在测试与具有拒绝入站安全规则的虚拟机的连接后的连接故障排除结果。

      • 已发送 30 个探测,未能到达目标虚拟机。 选择“查看详细信息”以查看下一个跳转点的详细信息。
      • 允许来自源虚拟机的出站连接。 选择查看详细信息来查看允许源虚拟机进行出站通信的安全规则。
      • 拒绝与目标虚拟机的入站连接。 选择查看详细信息,以查看拒绝入站通信到目标虚拟机的安全规则。
      • Azure 默认系统路由用于在这两台虚拟机之间路由流量(路由表 ID:系统路由)。
      • 由于安全规则拒绝到目标端口的入站通信,无法在目标虚拟机上访问端口 3389。

      解决方案:将目标虚拟机上的网络安全组更新为允许入站 RDP 流量。

    • 如果源虚拟机的网络安全组拒绝到目标的 RDP 连接,那么您会看到以下结果:

      屏幕截图,显示了在测试来自具有拒绝出站安全规则的虚拟机的连接后的连接故障排除结果。

      • 已发送 30 个探测,未能到达目标虚拟机。 选择“查看详细信息”以查看下一个跳转点的详细信息。
      • 拒绝来自源虚拟机的出站连接。 选择“查看详细信息”以查看拒绝源虚拟机出站通信的安全规则。
      • 允许与目标虚拟机的入站连接。 选择查看详细信息以查看允许入站通信到目标虚拟机的安全规则。
      • Azure 默认系统路由用于在这两台虚拟机之间路由流量(路由表 ID:系统路由)。
      • 在目标虚拟机上可以访问端口 3389。

      解决方案:更新源虚拟机上的网络安全组以允许出站 RDP 流量。

    • 如果目标虚拟机上的操作系统不接受端口 3389 上的传入连接,则会看到以下结果:

      屏幕截图显示了在测试与未侦听测试端口的虚拟机的连接后的连接故障排除结果。

      • 已发送 30 个探测,未能到达目标虚拟机。 选择“查看详细信息”以查看下一个跳转点的详细信息。
      • 允许来自源虚拟机的出站连接。 选择查看详细信息来查看允许源虚拟机进行出站通信的安全规则。
      • 允许与目标虚拟机的入站连接。 选择查看详细信息以查看允许入站通信到目标虚拟机的安全规则。
      • Azure 默认系统路由用于在这两台虚拟机之间路由流量(路由表 ID:系统路由)。
      • 无法在目标虚拟机上访问端口 3389(操作系统上的端口 3389 不接受传入 RDP 连接)。

      解决方案:将目标虚拟机上的操作系统配置为接受入站 RDP 流量

  5. 选择“导出到 CSV”以 CSV 格式下载测试结果。

测试与 Web 地址的连接

本部分将测试虚拟机与 web 地址之间的连接。

  1. 在“连接故障排除”页上。 输入或选择以下信息:

    设置 价值
    来源
    源类型 选择“虚拟机”。
    虚拟机 选择要进行连接故障排查的虚拟机。
    目的地
    目标类型 选择手动指定
    URI、FQDN 或 IP 地址 输入要测试其连接的 Web 地址。 在此示例中,使用 www.bing.com
    探测设置
    首选 IP 版本 选择同时。 其他可用选项包括:IPv4和IPv6。
    协议 选择TCP。 其他可用选项包括:ICMP
    目标端口 输入 443。 对于 HTTPS,使用端口 443。
    源端口 留空或输入要测试的源端口号。
    连接诊断
    诊断测试 选择“连接”。

    显示 Azure 门户中的排查连接问题(用于测试虚拟机与 Microsoft 必应网站之间的连接)的屏幕截图。

  2. 选择“运行诊断测试”。

    • 如果www.bing.com 从源虚拟机可达,则会看到以下结果:

      显示测试与 Microsoft Bing 网站的连接后的连接故障排除结果的屏幕截图。

      已成功将 66 个探测发送到 www.bing.com。 选择“查看详细信息”以查看下一个跳转点的详细信息。

    • 如果由于安全规则而导致源虚拟机无法连接到 www.bing.com,则会看到以下结果:

      显示与 Microsoft Bing 网站的连接测试失败后的连接故障排除结果的屏幕截图。

      已发送 30 个探测,未能到达 www.bing.com。 选择“查看详细信息”以查看下一个跃点的详细信息和错误原因。

      解决方案:更新源虚拟机上的网络安全组,以允许到 www.bing.com 的出站流量。

  3. 选择“导出到 CSV”以 CSV 格式下载测试结果。

测试与 IP 地址的连接

本部分将测试虚拟机与另一台虚拟机的 IP 地址之间的连接。

  1. 在“连接故障排除”页上。 输入或选择以下信息:

    设置 价值
    来源
    源类型 选择“虚拟机”。
    虚拟机 选择要进行连接故障排查的虚拟机。
    目的地
    目标类型 选择手动指定
    URI、FQDN 或 IP 地址 输入要测试其连接的 IP 地址。 在此示例中,使用 10.10.10.10
    探测设置
    首选 IP 版本 选择“IPv4”。 其他可用选项包括:“两者”和“IPv6”。
    协议 选择TCP。 其他可用选项包括:ICMP
    目标端口 输入“3389”。
    源端口 留空或输入要测试的源端口号。
    连接诊断
    诊断测试 选择“连接”、“NSG 诊断”和“下一个跃点”

    Screenshot that shows connection troubleshoot in the Azure portal to test the connection between a virtual machine and an IP address.显示 Azure 门户中的排查连接问题(用于测试虚拟机与 IP 地址之间的连接)的屏幕截图。

  2. 选择“运行诊断测试”。

    • 如果 IP 地址可访问,则会看到以下结果:

      显示测试与可访问 IP 地址的连接后的连接故障排除结果的屏幕截图。

      • 已成功发送 66 个探测,平均延迟为 4 毫秒。 选择“查看详细信息”以查看下一个跳转点的详细信息。
      • 允许来自源虚拟机的出站连接。 选择查看详细信息来查看允许源虚拟机进行出站通信的安全规则。
      • Azure 默认系统路由用于将流量路由到同一虚拟网络或对等互连虚拟网络中的 IP 地址。 (路由表 ID:系统路由和下一个跃点类型:虚拟网络)。
    • 如果 IP 地址由于目标虚拟机未运行而无法访问,则会看到以下结果:

      显示测试与已停止虚拟机的 IP 地址的连接后的连接故障排除结果的屏幕截图。

      • 已发送 30 个探测,未能到达目标虚拟机。 选择“查看详细信息”以查看下一个跳转点的详细信息。
      • 允许来自源虚拟机的出站连接。 选择查看详细信息来查看允许源虚拟机进行出站通信的安全规则。
      • Azure 默认系统路由用于将流量路由到同一虚拟网络或对等互连虚拟网络中的 IP 地址。 (路由表 ID:系统路由和下一个跃点类型:虚拟网络)。

      解决方案:启动目标虚拟机

    • 如果源虚拟机的路由表中没有 IP 地址的路由(例如,IP 地址不在 VM 虚拟网络或其对等互连虚拟网络的地址空间中),则会看到以下结果:

      屏幕截图显示了在测试到路由表中没有路由的无法访问 IP 地址的连接后的连接故障排除结果。

      • 已发送 30 个探测,未能到达目标虚拟机。 选择“查看详细信息”以查看下一个跳转点的详细信息。
      • 拒绝来自源虚拟机的出站连接。 选择“查看详细信息”以查看拒绝源虚拟机出站通信的安全规则。
      • 下一跃点类型为“无”,因为没有到该 IP 地址的路由

      解决方案:将路由表与源虚拟机子网的正确路由相关联

  3. 选择“导出到 CSV”以 CSV 格式下载测试结果。