使用 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 扩展(如果尚未安装)。
- 要在 Windows 虚拟机上安装扩展,请参阅适用于 Windows 的网络观察程序代理 VM 扩展。
- 要在 Linux 虚拟机上安装扩展,请参阅适用于 Linux 的网络观察程序代理 VM 扩展。
- 要更新已安装的扩展,请参阅将网络观察程序扩展更新到最新版本。
测试与虚拟机的连接
在本部分中,将测试从一台虚拟机到同一虚拟网络中的另一台虚拟机的远程桌面端口 (RDP) 连接。
登录 Azure 门户。
在门户顶部的搜索框中,输入“网络观察程序”。 在搜索结果中,选择“网络观察程序”。
在“网络诊断工具”下,选择“连接故障排除”。 输入或选择下列值:
设置 值 Source 源类型 选择“虚拟机”。 虚拟机 选择要排查其连接问题的虚拟机。 目标 目标类型 选择“选择虚拟机”。 虚拟机 选择目标虚拟机。 探测设置 首选 IP 版本 选择“IPv4”。 其他可用选项包括:“全部”和“IPv6”。 协议 选择TCP。 其他可用选项包括:“ICMP”。 目标端口 输入“3389”。 端口 3389 是 RDP 的默认端口。 源端口 留空或输入要测试的源端口号。 连接诊断 诊断测试 选择“连接”、“NSG 诊断”、“下一个跃点”和“端口扫描程序”。 选择“运行诊断测试”。
如果这两台虚拟机正在通信,没有问题,则会看到以下结果:
- 已成功将 66 个探测发送到目标虚拟机。 选择“查看详细信息”以查看下一个跃点的详细信息。
- 允许来自源虚拟机的出站连接。 选择“查看详细信息”以查看允许从源虚拟机进行出站通信的安全规则。
- 允许与目标虚拟机的入站连接。 选择“查看详细信息”以查看允许到目标虚拟机的入站通信的安全规则。
- Azure 默认系统路由用于在这两台虚拟机之间路由流量(路由表 ID:系统路由)。
- 在目标虚拟机上可以访问端口 3389。
如果目标虚拟机具有拒绝传入 RDP 连接的网络安全组,则会看到以下结果:
- 已发送 30 个探测,未能到达目标虚拟机。 选择“查看详细信息”以查看下一个跃点的详细信息。
- 允许来自源虚拟机的出站连接。 选择“查看详细信息”以查看允许从源虚拟机进行出站通信的安全规则。
- 拒绝与目标虚拟机的入站连接。 选择“查看详细信息”以查看拒绝到目标虚拟机的入站通信的安全规则。
- Azure 默认系统路由用于在这两台虚拟机之间路由流量(路由表 ID:系统路由)。
- 由于安全规则拒绝到目标端口的入站通信,无法在目标虚拟机上访问端口 3389。
解决方案:更新目标虚拟机上的网络安全组以允许入站 RDP 流量。
如果源虚拟机具有拒绝到目标的 RDP 连接的网络安全组,则会看到以下结果:
- 已发送 30 个探测,未能到达目标虚拟机。 选择“查看详细信息”以查看下一个跃点的详细信息。
- 拒绝来自源虚拟机的出站连接。 选择“查看详细信息”以查看拒绝来自源虚拟机的出站通信的安全规则。
- 允许与目标虚拟机的入站连接。 选择“查看详细信息”以查看允许到目标虚拟机的入站通信的安全规则。
- Azure 默认系统路由用于在这两台虚拟机之间路由流量(路由表 ID:系统路由)。
- 在目标虚拟机上可以访问端口 3389。
解决方案:更新源虚拟机上的网络安全组以允许出站 RDP 流量。
如果目标虚拟机上的操作系统不接受端口 3389 上的传入连接,则会看到以下结果:
- 已发送 30 个探测,未能到达目标虚拟机。 选择“查看详细信息”以查看下一个跃点的详细信息。
- 允许来自源虚拟机的出站连接。 选择“查看详细信息”以查看允许从源虚拟机进行出站通信的安全规则。
- 允许与目标虚拟机的入站连接。 选择“查看详细信息”以查看允许到目标虚拟机的入站通信的安全规则。
- Azure 默认系统路由用于在这两台虚拟机之间路由流量(路由表 ID:系统路由)。
- 无法在目标虚拟机上访问端口 3389(操作系统上的端口 3389 不接受传入 RDP 连接)。
解决方案:将目标虚拟机上的操作系统配置为接受入站 RDP 流量。
选择“导出到 CSV”以 csv 格式下载测试结果。
测试与 Web 地址的连接
本部分将测试虚拟机与 web 地址之间的连接。
在“排查连接问题”页上。 输入或选择以下信息:
设置 值 Source 源类型 选择“虚拟机”。 虚拟机 选择要排查其连接问题的虚拟机。 目标 目标类型 选择“手动指定”。 URI、FQDN 或 IP 地址 输入要测试其连接的 Web 地址。 在此示例中,使用 www.bing.com
。探测设置 首选 IP 版本 选择“两者”。 其他可用选项包括:“IPv4”和“IPv6”。 协议 选择TCP。 其他可用选项包括:“ICMP”。 目标端口 输入 443。 对于 HTTPS,使用端口 443。 源端口 留空或输入要测试的源端口号。 连接诊断 诊断测试 选择“连接”。 选择“运行诊断测试”。
如果可从源虚拟机访问
www.bing.com
,则会看到以下结果:已成功将 66 个探测发送到
www.bing.com
。 选择“查看详细信息”以查看下一个跃点的详细信息。如果由于安全规则而无法从源虚拟机访问
www.bing.com
,则会看到以下结果:已发送 30 个探测,未能到达
www.bing.com
。 选择“查看详细信息”以查看下一个跃点的详细信息和错误原因。解决方案:更新源虚拟机上的网络安全组以允许到
www.bing.com
的出站流量。
选择“导出到 CSV”以 csv 格式下载测试结果。
测试与 IP 地址的连接
本部分将测试虚拟机与另一台虚拟机的 IP 地址之间的连接。
在“排查连接问题”页上。 输入或选择以下信息:
设置 值 Source 源类型 选择“虚拟机”。 虚拟机 选择要排查其连接问题的虚拟机。 目标 目标类型 选择“手动指定”。 URI、FQDN 或 IP 地址 输入要测试其连接的 IP 地址。 在此示例中,使用 10.10.10.10
。探测设置 首选 IP 版本 选择“IPv4”。 其他可用选项包括:“全部”和“IPv6”。 协议 选择TCP。 其他可用选项包括:“ICMP”。 目标端口 输入“3389”。 源端口 留空或输入要测试的源端口号。 连接诊断 诊断测试 选择“连接”、“NSG 诊断”和“下一个跃点”。 选择“运行诊断测试”。
如果 IP 地址可访问,则会看到以下结果:
- 已成功发送 66 个探测,平均延迟为 4 毫秒。 选择“查看详细信息”以查看下一个跃点的详细信息。
- 允许来自源虚拟机的出站连接。 选择“查看详细信息”以查看允许从源虚拟机进行出站通信的安全规则。
- Azure 默认系统路由用于将流量路由到同一虚拟网络或对等互连虚拟网络中的 IP 地址。 (路由表 ID:系统路由和下一个跃点类型:虚拟网络)。
如果 IP 地址由于目标虚拟机未运行而无法访问,则会看到以下结果:
- 已发送 30 个探测,未能到达目标虚拟机。 选择“查看详细信息”以查看下一个跃点的详细信息。
- 允许来自源虚拟机的出站连接。 选择“查看详细信息”以查看允许从源虚拟机进行出站通信的安全规则。
- Azure 默认系统路由用于将流量路由到同一虚拟网络或对等互连虚拟网络中的 IP 地址。 (路由表 ID:系统路由和下一个跃点类型:虚拟网络)。
解决方案:启动目标虚拟机。
如果源虚拟机的路由表中没有 IP 地址的路由(例如,IP 地址不在 VM 虚拟网络或其对等互连虚拟网络的地址空间中),则会看到以下结果:
- 已发送 30 个探测,未能到达目标虚拟机。 选择“查看详细信息”以查看下一个跃点的详细信息。
- 拒绝来自源虚拟机的出站连接。 选择“查看详细信息”以查看拒绝来自源虚拟机的出站通信的安全规则。
- 下一跃点类型为“无”,因为没有到 IP 地址的路由。
解决方案:将路由表与源虚拟机子网的正确路由相关联。
选择“导出到 CSV”以 csv 格式下载测试结果。