知识 Wiki 总览 / VPN
一次完整访问过程
更新于 2026-11-07条目链接
以下以远程用户通过 VPN 访问组织内 HTTPS 服务为例,说明完整数据路径。示例目标为 intranet.example.org,解析地址为文档用地址 10.20.0.10;实际部署使用管理员提供的记录和地址。
访问处理顺序
- 浏览器请求访问域名;操作系统解析器按 VPN DNS 或分流 DNS 规则查询记录。
- 系统根据解析得到的目标 IP 查路由表,并将组织网段流量交给 VPN 虚拟接口。
- VPN 客户端按协议封装并保护内层 IP 报文,经本地默认网关送到 VPN 外层服务端。
- 服务端验证对端身份和隧道策略,解封装后按内层目标地址、路由和防火墙规则转发。
- 目标服务接收 TCP 连接并执行 TLS 握手。HTTPS 内容仍由浏览器和目标服务端到端保护。
- 响应按目标网络回程路由返回 VPN 网关,经隧道重新封装后送回客户端。
- 客户端解封装并将响应交还应用。任一步骤缺失都可能导致连接超时或访问被拒绝。
跨平台验证
Windows
Resolve-DnsName intranet.example.org
Find-NetRoute -RemoteIPAddress 10.20.0.10
Test-NetConnection 10.20.0.10 -Port 443
macOS
dscacheutil -q host -a name intranet.example.org
route -n get 10.20.0.10
nc -vz 10.20.0.10 443
Linux
resolvectl query intranet.example.org
ip route get 10.20.0.10
nc -vz 10.20.0.10 443
这些命令分别检查名称解析、目标路由和 TCP 服务端口。成功不单独证明 TLS 证书验证、应用认证或数据授权正确。隧道封装的抓包方式见隧道与封装。
公网访问与站点互联
全隧道访问公网时,VPN 网关还需配置出口转发或上游路由,返回报文才能到达客户端。站点互联时,两端网关需要匹配各自本地与远端网段,并建立双向路由。NAT、防火墙和访问控制策略可能改变上述路径。
参考资料
OpenVPN:全隧道路由与 DNS;strongSwan:远程接入和站点互联;RFC 4301:IPsec 安全架构;Microsoft Learn:Find-NetRoute。
