我想故障排除 AWS Client VPN 连接的数据包丢失、延迟或间歇性连接问题。
简述
要诊断 Client VPN 连接中的数据包丢失、延迟或间歇性连接问题,请先测试网络以隔离问题的根源:
- 此问题是影响所有用户,还是仅影响特定互联网服务提供商(ISP)或特定远程位置的用户?
- 受影响的用户是如何连接到您的 Client VPN 的? 例如,它们是通过固定互联网连接、本地 Wi-Fi 热点还是移动网络进行连接?
- 用户使用什么设备进行连接?
- 与 Client VPN 端点相关的受影响用户位于何处?
- 当用户遇到数据包丢失、延迟或间歇性连接问题时,他们正在访问哪些资源?
- 如果用户未连接到 Client VPN,在访问外部资源时,是否仍会遇到数据包丢失、延迟或间歇性连接问题?
解决方案
查看用户是如何连接到 Client VPN 端点的
使用移动网络或 Wi-Fi 热点的用户
用户的网络连接可能不稳定,信号较差。如果用户是连接到某个共享的热点,则该用户可能会遇到带宽限制。
要故障排除此问题,请让您的用户使用性能工具(例如 Speedtest 网站)测试连接速度。最佳实践是在与 Client VPN 端点相同的 AWS 区域进行测试。或者,在基于 Windows、macOS 或 Linux 的系统上,使用 ICMP 测试到默认网关的连接。
检查 Wi-Fi 热点连接的稳定性:
Ping <Default Gateway IP>
**注意:**将 Default Gateway IP 替换为默认网关的 IP 地址。
如果连接不佳或带宽受限,则最佳实践是使用更快或更稳定的连接进行连接。
不同地理位置的用户
查看用户相对于您的 Client VPN 端点的位置。地理位置分散的用户访问虚拟私有云(VPC)中的资源或互联网时,可能会遇到延迟、数据包丢失或间歇性连接的问题。
如果您不需要通过 VPC 转发互联网流量,请在 Client VPN 端点上激活分割隧道。
Windows 的高级故障排除
如果上述方法无法解决问题,请让您的用户完成以下故障排除步骤。这些方法可帮助远程用户解决其本地设备与 Client VPN 端点之间的网络连接问题。
查找 Client VPN 端点节点 IP 地址
- 打开命令提示符(cmd)。
- 针对您的端点 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
- 从 SourceForge 网站下载并安装 WinMTR。
- 在主机中,输入目标 IP 地址,然后选择启动。
- 运行测试大约 1 分钟,然后选择停止。
- 选择将文本复制到剪贴板,然后将输出粘贴到一个文本文件中。
- 在这个文本文件中搜索,查看 % 列,检查传播到目的地的包是否存在丢失情况。
- 查看 MTR 报告中的跃点。从报告的底部开始查看。例如,检查最后一个跃点或目的地是否有包丢失,然后检查前面的跃点。
注意:
- Client VPN 不响应 ICMP。但是,您仍然可以使用 MTR 来确认中间 ISP 链路上没有丢包。
- 忽略任何带有No response from host消息的跃点。此消息表示这些跃点没有响应 ICMP 探测器。
使用 tracert
要执行进一步的测试,请使用 tracert 命令实用工具。针对目的地 URL 或 IP 地址运行 tracert。然后,寻找任何显示往返时间(RTT)突然激增的跃点。RTT 的突然激增可能表明有一个节点的负载很高。负载较高的节点会导致您的流量出现延迟或丢包。
使用 tracert 进行测试的示例:
tracert test.cvpn-endpoint-0102bc4c2eEXAMPLE.clientvpn.us-west-2.amazonaws.com
适用于 macOS 和 Linux 的高级故障排除技术
查找您的 Client VPN 端点节点 IP 地址
-
打开终端。
-
针对您的端点 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
-
安装 MTR。
要在基于 Red Hat 的 Linux 发行版上安装 MTR,请运行以下命令:
sudo yum install mtr
要在基于 Debian 的 Linux 发行版上安装 MTR,请运行以下命令:
sudo apt-get mtr
要在 macOS 上安装 MTR,请在 Homebrew 网站上查看 macOS with Homebrew。安装 Homebrew,然后运行以下命令:
brew install mtr
2.运行基于 TCP 的 MTR:
mtr -n -T -P 443 -c 200 <Client VPN endpoint IP> --reportmtr -n -T -P 1194 -c 200 <Client VPN endpoint IP> --report
-或-
运行基于 UDP 的 MTR:
mtr -n -u -P 443 -c 200 <Client VPN endpoint IP> --reportmtr -n -u -P 1194 -c 200 <Client VPN endpoint IP> --report
**注意:**根据 Client VPN 端点上配置的端口运行测试。如果您发现网络中存在数据包丢失,请参阅供应商文档,了解有关如何检查网络设备以进行分析的说明。或者,联系您的 ISP。