使用 Azure 门户排查出站连接问题

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

先决条件

  • 具有活动订阅的 Azure 帐户。 创建试用版订阅

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

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

    • 到 169.254.169.254(通过端口 80)
    • 到 168.63.129.16(通过端口 8037)
  • 通过所测试端口从 168.63.129.16 进行入站 TCP 连接的第二台虚拟机(针对端口扫描程序诊断测试)。

注意

使用排查连接问题功能时,Azure 门户会在源虚拟机上自动安装网络观察程序代理 VM 扩展(如果尚未安装)。

测试与虚拟机的连接

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

  1. 登录 Azure 门户

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

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

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

    设置
    Source
    源类型 选择“虚拟机”。
    虚拟机 选择要排查其连接问题的虚拟机。
    目标
    目标类型 选择“选择虚拟机”。
    虚拟机 选择目标虚拟机。
    探测设置
    首选 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. 在“排查连接问题”页上。 输入或选择以下信息:

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

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

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

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

      显示测试与 Microsoft 必应网站的连接后的排查连接问题结果的屏幕截图。

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

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

      显示测试与 Microsoft 必应网站的连接失败后的排查连接问题结果的屏幕截图。

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

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

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

测试与 IP 地址的连接

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

  1. 在“排查连接问题”页上。 输入或选择以下信息:

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

    显示 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 格式下载测试结果

下一步