SIFT / KNOWLEDGE BASE

知识 Wiki 总览 / VPN

VPN故障排查

更新于 2026-11-07条目链接

VPN 客户端显示“已连接”只说明连接状态达到某一阶段。内网服务仍可能因 DNS、目标路由、回程路径、访问控制或 MTU 问题不可用。排查应沿连接链逐层定位,并保留时间、错误代码、目标地址和脱敏日志。

分层顺序

  1. 确认客户端配置、系统时间和凭据有效。
  2. 确认 VPN 服务端名称能够解析,外层网络允许所需协议和端口。
  3. 检查握手日志与服务端身份验证结果。
  4. 确认虚拟接口地址、目标路由和 DNS 设置已安装。
  5. 测试目标 IP 与具体 TCP/UDP 服务,再检查网关转发、回程路由和目标防火墙。
  6. 若小请求成功而大数据停滞,检查路径 MTU、MSS 及必要的 ICMP/ICMPv6。

Windows

Get-VpnConnection
Get-NetRoute -AddressFamily IPv4
Resolve-DnsName intranet.example.org
Test-NetConnection 10.20.0.10 -Port 443

macOS

scutil --nc list
scutil --dns
route -n get 10.20.0.10
nc -vz 10.20.0.10 443

Linux

sudo wg show
ip route get 10.20.0.10
resolvectl query intranet.example.org
nc -vz 10.20.0.10 443

将示例内网地址、域名和端口替换为管理员提供的目标。WireGuard 状态命令适用于 WireGuard;其他 VPN 协议应查看对应客户端日志和系统服务状态。TCP 端口测试不能验证 UDP 服务。

按症状定位

  • 服务器名称无法解析:检查本地 DNS、缓存、记录和外层服务端名称解析路径。
  • 认证失败:检查凭据有效期、证书信任链、Remote ID、系统时间和服务器日志。
  • 内网 IP 不通:检查目标前缀是否经过隧道、网关转发与回程路由是否存在。
  • 域名不通但 IP 可达:检查 VPN DNS、搜索域、分流解析器和浏览器 DoH。
  • 小包通、大文件停滞:检查 MTU、MSS 和 ICMP Packet Too Big 处理。
  • 连接切换后流量中断:检查断线保护、客户端重连和路由恢复。

日志与隐私

分享诊断材料前删除用户名、服务器地址、内部域名、证书身份、访问令牌、私钥和内部 IP 等敏感字段。VPN 配置文件可能包含能够直接建立连接的凭据。

参考资料

Microsoft Learn:DNS 客户端解析排查;OpenVPN 2.6 官方手册;strongSwan:swanctl 命令;Linux ip-route 手册。