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
- 虚拟网络子网上的 UDR,用于定向来自 NVA 的流量
- NVA 内的路由表和规则(例如,从 NIC1 到 NIC2)
- 跟踪 NVA NIC 以验证接收和发送网络流量
- 使用标准 SKU 和公共 IP 时,必须创建一个 NSG,并有明确的规则允许将流量路由到 NVA。
基本故障排除步骤
- 检查基本配置
- 检查 NVA 性能
- 高级网络故障排除
检查 Azure 上 NVA 的最低配置要求
每个 NVA 都满足在 Azure 上正常运行的基本配置要求。 以下部分提供了验证这些基本配置的步骤。 有关详细信息,请联系 NVA 的供应商。
检查 NVA 是否启用了 IP 转发
使用 Azure 门户
- 在 Azure 门户中找到 NVA 资源,选择“网络”,然后选择“网络接口”。
- 在“网络接口”页上,选择“IP 配置”。
- 确保已启用 IP 转发。
使用 PowerShell
打开 PowerShell 并登录到 Azure 帐户。
运行以下命令(用你的信息替换括号中的值):
Get-AzNetworkInterface -ResourceGroupName <ResourceGroupName> -Name <NicName>
检查“EnableIPForwarding”属性 。
如果未启用 IP 转发,请运行以下命令将其启用:
$nic2 = Get-AzNetworkInterface -ResourceGroupName <ResourceGroupName> -Name <NicName> $nic2.EnableIPForwarding = 1 Set-AzNetworkInterface -NetworkInterface $nic2 Execute: $nic2 #and check for an expected output: EnableIPForwarding : True NetworkSecurityGroup : null
使用标准 SKU 公共 IP 时检查 NSG:使用标准 SKU 和公共 IP 时,必须创建一个 NSG,并有明确的规则允许将流量路由到 NVA。
检查流量是否可路由到 NVA
- 在 Azure 门户上,打开“网络观察程序”,选择“下一跃点” 。
- 指定配置为将流量重定向到 NVA 的 VM,以及用于查看下一跃点的目标 IP 地址。
- 如果 NVA 未列为“下一跃点”,请检查并更新 Azure 路由表。
检查流量是否可到达 NVA
- 在 Azure 门户中,打开“网络观察程序”,然后选择“IP 流验证” 。
- 指定 VM 和 NVA 的 IP 地址,然后检查是否有任何网络安全组 (NSG) 阻止该流量。
- 如果存在阻止流量的 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%,则可能会遇到造成网络数据包丢失的问题。 VM 报告 Azure 门户中特定时间跨度的平均 CPU。 在 CPU 峰值期间,调查来宾 VM 上的哪个进程导致高 CPU 使用率,并在可能的情况下缓解该问题。 可能还必须将 VM 大小调整为更大的 SKU 大小;或者,对于虚拟机规模集,可增加实例数或设置为自动调整 CPU 使用率。 对于上述任意问题,如有需要,请联系 NVA 供应商以获取帮助。
验证 VM 网络统计信息
如果遇到 VM 网络使用高峰或显示高使用率的时段,可能还必须增加 VM 的 SKU 大小以获得更高的吞吐量容量。 还可以通过启用加速网络来重新部署 VM。 若要验证 NVA 是否支持加速网络功能,如有需要,请联系 NVA 供应商以获取帮助。
高级网络管理员故障排除
捕获网络跟踪
运行 PsPing 或 Nmap 时,请在源 VM、NVA 和目标 VM 上捕获同步网络跟踪,并停止跟踪。
若要捕获同步网络跟踪,请运行以下命令:
对于 Windows
netsh trace start capture=yes tracefile=c:\server_IP.etl scenario=netconnection
对于 Linux
sudo tcpdump -s0 -i eth0 -X -w vmtrace.cap
使用从源 VM 到目标 VM 的 PsPing 或 Nmap(例如:
PsPing 10.0.0.4:80
或Nmap -p 80 10.0.0.4
)。使用网络监视器或 tcpdump 从目标 VM 打开网络跟踪。 为运行 PsPing 或 Nmap 的源 VM 的 IP 应用显示筛选器,例如
IPv4.address==10.0.0.4 (Windows netmon)
或tcpdump -nn -r vmtrace.cap src or dst host 10.0.0.4
(Linux)。
分析跟踪
如果无法看到数据包传入到后端 VM 跟踪,原因很可能是存在 NSG 或 UDR 干扰或是 NVA 路由表不正确。
如果看到数据包传入但没有响应,则可能需要解决 VM 应用程序或防火墙问题。 对于上述任意问题,如有需要请联系 NVA 供应商以获取帮助。