Azure 中的网络虚拟设备问题

备注

建议使用 Azure Az PowerShell 模块与 Azure 交互。 请参阅安装 Azure PowerShell 以开始使用。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az

在 Azure 中使用合作伙伴网络虚拟设备(NVA)时,可能会遇到 VM 或 VPN 连接问题和错误。 本文提供了有助于验证 NVA 配置的基本 Azure 平台要求的基本步骤。

NVA 供应商提供合作伙伴 NVA 的技术支持及其与 Azure 平台的集成。

备注

如果连接或路由问题涉及 NVA,则应直接与 NVA 的供应商联系

如果本文未解决你的 Azure 问题,请访问 Microsoft Q&A 和 Stack Overflow 上的 Azure 论坛。 可以在这些论坛上发布问题。 还可提交 Azure 支持请求。 若要提交支持请求,请在 Azure 支持页上提交。

使用 NVA 供应商进行故障排除的清单

  • NVA VM 软件的软件更新

  • 服务帐户设置和功能

  • 虚拟网络子网上的用户定义的路由(UDR),用于将流量定向到 NVA

  • 在虚拟网络子网中定向从 NVA 流量的用户定义路由 (UDR)

  • NVA 中的路由表和规则(例如,从 NIC1 路由到 NIC2)

  • 在 NVA 网络接口上跟踪以验证发送和接收的网络流量

  • 使用标准版本公共 IP。 必须创建一个 NSG 和一个显式规则,以允许将流量路由到 NVA。

基本故障排除步骤

  • 检查基本配置

  • 检查 NVA 性能

  • 高级网络故障排除

检查 Azure 上 NVA 的最低配置要求

每个 NVA 都有在 Azure 上正常运行的基本配置要求。 以下部分提供了验证这些基本配置的步骤。 有关详细信息, 请联系 NVA 的供应商

检查是否在 NVA 上启用了 IP 转发

  1. Azure 门户中找到 NVA 资源,选择“网络”,然后选择网络接口。

  2. 在网络接口页上,选择 IP 配置。

  3. 确保选中 IP 转发复选框。

请在使用标准 SKU 公共 IP 时检查 NSG

使用标准版的公共 IP。 必须创建一个 NSG 和一个显式规则,以允许流量流向 NVA。

检查流量是否可路由到 NVA

  1. Azure 门户中,打开 网络观察程序,选择 “下一跳”

  2. 指定一个将流量重定向到 NVA 的虚拟机 (VM),以及一个可用于查看下一跳的目标 IP 地址。

  3. 如果未将 NVA 列为 下一跃点,请检查并更新 Azure 路由表。

检查流量是否可到达 NVA

  1. Azure 门户中,打开 网络观察程序,然后选择 “IP 流验证”。

  2. 指定 VM 和 NVA 的 IP 地址。 检查网络安全组(NSG)是否存在流量阻塞。

  3. 如果有阻止流量的 NSG 规则,请在 有效的安全 规则中找到 NSG,然后更新它以允许流量传递。 然后再次运行 IP 流验证 ,并使用 连接故障排除 测试从 VM 到内部或外部 IP 地址的 TCP 通信。

检查 NVA 和 VM 是否正在侦听预期的流量

使用 RDP 或 SSH 连接到 NVA,然后运行以下命令:

对于 Windows:

netstat -an

对于 Linux:

netstat -an | grep -i listen

如果 NVA 软件使用的 TCP 端口未在结果中列出,请在 NVA 和 VM 上配置应用程序以侦听这些端口。 如需进一步的帮助, 请联系 NVA 供应商

检查 NVA 性能

验证 VM CPU

如果 CPU 使用率接近 100%,您可能会遇到导致网络数据包丢失的问题。 您的虚拟机在 Azure 门户中报告特定时间范围内的平均 CPU 使用情况。 在 CPU 峰值期间,调查来宾 VM 上的哪个进程导致 CPU 过高,并尽可能缓解它。 可能还必须将虚拟机的大小调整为更大的规格,或者,对于虚拟机规模集,增加实例计数或设置为根据 CPU 使用率自动调节。 对于上述任一问题, 请根据需要联系 NVA 供应商以获取帮助

验证 VM 网络统计信息

如果 VM 网络使用峰值或显示高使用率的时间段,则可能需要增加 VM 的 SKU 大小以获取更高的吞吐量功能。 还可以通过启用加速网络来重新部署 VM。 若要验证 NVA 是否支持加速网络功能, 请根据需要联系 NVA 供应商以获取帮助

高级网络管理员故障排除

捕获网络跟踪

在您运行 PsPingNmap 的同时,捕获源 VM、NVA 和目标 VM 上的网络跟踪,然后停止该跟踪。

  1. 若要捕获并发的网络跟踪,请运行以下命令:

    对于 Windows

    netsh trace start capture=yes tracefile=c:\server_IP.etl scenario=netconnection
    

    对于 Linux

    sudo tcpdump -s0 -i eth0 -X -w vmtrace.cap
    
  2. 使用从源 VM 到目标 VM 的PsPingNmap(例如:PsPing 10.0.0.4:80Nmap -p 80 10.0.0.4)。

  3. 使用 网络监视器 或 tcpdump 从目标 VM 打开网络跟踪。 为运行 PsPingNmap 的源 VM 的 IP 应用显示过滤器,例如 IPv4.address==10.0.0.4 (Windows netmon),或在 Linux 中用 tcpdump -nn -r vmtrace.cap src or dst host 10.0.0.4

分析踪迹

如果看不到传入后端 VM 跟踪的数据包,则可能是 NSG 或 UDR 干扰或 NVA 路由表不正确。

如果看到数据包传入但没有响应,则可能需要解决 VM 应用程序或防火墙问题。 对于上述任一问题, 请与 NVA 供应商联系以获取所需的帮助