如何排查我的 Client VPN 连接的数据包丢失、延迟或间歇性连接问题?

上次更新时间:2021 年 1 月 22 日

如何排查 AWS Client VPN 连接的数据包丢失、延迟或间歇性连接问题?

简短描述

要诊断 Client VPN 连接中的数据包丢失、延迟或间歇性连接等网络问题,应先测试网络,找出问题的根源。寻找问题的根源时,请考虑以下事项:

  • 此问题是影响所有用户,还是仅影响特定互联网服务提供商 (ISP) 或特定远程位置的用户?
  • 受影响的用户使用哪种连接媒介连接到 Client VPN? 例如,可能是固定的互联网连接、本地 WiFi 热点或移动网络。
  • 受影响的用户从什么设备连接? 例如,可能是 Windows 计算机或移动设备。
  • 受影响的用户与 Client VPN 终端节点相关的位置在哪里?
  • 当用户遇到数据包丢失、延迟或间歇性连接问题时,他们正在访问什么内容?
  • 未连接到 Client VPN 时,客户端在与外部资源连接时是否仍会遇到数据包丢失、延迟或间歇性连接问题?
  • 终端节点上是否启用了拆分隧道?

解决方法

查看用户如何连接到 Client VPN 终端节点

对 Client VPN 连接的性能和连接性问题进行排查时需要考虑多个因素。在应用网络管理员用来测试连接的较复杂的问题排查方法之前,请阅读以下注意事项。

对于移动网络或 WiFi 热点的用户

用户可能因信号弱或连接问题而导致连接不畅。特别是在共享位置访问的热点,可能会有带宽限制。对于这些类型的连接:

使用性能测试工具(如 Speedtest 网站)测试连接速度。最佳做法是在与 Client VPN 终端节点相同的区域进行测试。

-或者-

在基于 Windows、macOS 或 Linux 的系统上,使用 ICMP 测试与默认网关的连接性。检查 WiFi 热点连接的稳定性:

Ping <Default Gateway IP>

注意:请务必将“默认网关 IP”替换为默认网关的 IP 地址。

如果存在连接不良或带宽限制,最佳做法是使用更快或更稳定的连接,然后考察是否有性能改进。

对于位于不同地理位置的用户

查看用户与 Client VPN 终端节点相关的位置。

例如,假设未启用拆分隧道并且所有用户流量都强制通过 Client VPN 隧道,在地理位置上与终端节点分离的用户在连接到 VPC 中或互联网上的资源时,可能会遇到延迟、数据包丢失或间歇性连接问题。在这种情况下,如果中间 ISP 有问题,您可以通过将 VPC 配置为允许此流量来解决问题。

如果不要求通过 VPC 转发来自互联网资源的流量,那么最佳做法是启用拆分隧道。当在 Client VPN 终端节点上启用拆分隧道时,终端节点路由表中的路由将推送到连接到 Client VPN 的设备上。然后,只有当目的地网络与终端节点路由表中的路由匹配时,流量才会通过 Client VPN 隧道进行路由。

如有必要,请使用问题排查技术

如果上述方法未解决您的问题,请使用以下高级技术。这些方法可以帮助远程用户排查本地设备与 Client VPN 终端节点之间的网络连接问题。

对于 Windows 用户

查找 Client VPN 终端节点 IP 地址:

1.    打开命令提示符 (cmd)

2.    对终端节点 DNS URL 执行 nslookup

nslookup cvpn-endpoint-0102bc4c2eEXAMPLE.clientvpn.us-west-2.amazonaws.com

如果在解析上一个命令时遇到问题,请附加一个子域:

nslookup test.cvpn-endpoint-0102bc4c2eEXAMPLE.clientvpn.us-west-2.amazonaws.com

使用 MTR 方法:

1.    从 SourceForge 网站下载并安装 WinMTR

2.    对于 Host(主机),输入目标 IP 地址,然后选择 Start(开始)

3.    运行测试大约一分钟,然后选择 Stop(停止)

4.    选择 Copy text to clipboard(复制到剪贴板),然后将输出粘贴到文本文件。

5.    搜索文本文件中的输出,查看传播到目的地的 % 列是否有损失。

6.    使用自下而上的方法通过 MTR 报告检查跃点。例如,检查最后一个跃点或目标上是否发生丢包,然后检查前面的跃点。

注意:

  • Client VPN 不响应 ICMP。但是,要确认中间 ISP 链路上没有数据包丢失,MTR 仍然是一项有用的测试。
  • 请忽略所有消息为“主机无应答”的跃点。此消息说明这些特定的跃点未响应 ICMP 探测。

使用 tracert 方法:

如果您不想安装 MTR,或者需要执行进一步的测试,则可以使用 tracert 命令实用工具。对目标 URL 或 IP 地址执行 tracert。随后,查找往返时间 (RTT) 突然增高的任何跃点。RTT 中突增可能表明有节点处于高负载状态。节点高负载会导致数据传输有延迟或数据包丢失。

对于 macOS 和 Amazon Linux 用户

查找 Client VPN 终端节点 IP 地址:

1.    打开 Terminal(终端)

2.    对终端节点 DNS URL 执行 dig:

dig cvpn-endpoint-0102bc4c2eEXAMPLE.clientvpn.us-west-2.amazonaws.com

如果在解析上一个命令时遇到问题,请附加一个子域:

dig test.cvpn-endpoint-0102bc4c2eEXAMPLE.clientvpn.us-west-2.amazonaws.com

使用 MTR 方法:

1.    安装 MTR。    
在 macOS 上,将 macOS 与 Homebrew 结合使用。
在 Amazon Linux 上,use“sudo yum install mtr”。
在 Ubuntu Linux 上,使用“sudo apt-get mtr”。

2.    运行基于 TCP 的 MTR:

mtr -n -T -P 443 -c 200 <Client VPN endpoint IP> --report
mtr -n -T -P 1194 -c 200 <Client VPN endpoint IP> --report

-或者-

运行基于 UDP 的 MTR:

mtr -n -u -P 443 -c 200 <Client VPN endpoint IP> --report
mtr -n -u -P 1194 -c 200 <Client VPN endpoint IP> --report

注意:请务必以 Client VPN 终端节点上配置的端口为基础进行测试。如果您在网络中发现数据包丢失,请参阅供应商文档,以获取有关如何检查网络设备以进行分析和问题排查的说明。或者联系您的互联网服务提供商。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?