SIFT / KNOWLEDGE BASE

知识 Wiki 总览 / VPN

一次完整访问过程

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

以下以远程用户通过 VPN 访问组织内 HTTPS 服务为例,说明完整数据路径。示例目标为 intranet.example.org,解析地址为文档用地址 10.20.0.10;实际部署使用管理员提供的记录和地址。

访问处理顺序

  1. 浏览器请求访问域名;操作系统解析器按 VPN DNS 或分流 DNS 规则查询记录。
  2. 系统根据解析得到的目标 IP 查路由表,并将组织网段流量交给 VPN 虚拟接口。
  3. VPN 客户端按协议封装并保护内层 IP 报文,经本地默认网关送到 VPN 外层服务端。
  4. 服务端验证对端身份和隧道策略,解封装后按内层目标地址、路由和防火墙规则转发。
  5. 目标服务接收 TCP 连接并执行 TLS 握手。HTTPS 内容仍由浏览器和目标服务端到端保护。
  6. 响应按目标网络回程路由返回 VPN 网关,经隧道重新封装后送回客户端。
  7. 客户端解封装并将响应交还应用。任一步骤缺失都可能导致连接超时或访问被拒绝。

跨平台验证

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。