用户发起连接请求
- 手动触发:用户通过客户端(如OpenVPN GUI、Cisco AnyConnect等)主动点击“连接”。
- 自动触发:
- 按需连接:设备检测到特定网络条件(如访问内网IP或特定域名)时自动启动VPN。
- 开机自启:客户端配置为随系统启动自动连接(如企业VPN策略)。
客户端初始化
- 加载配置:读取配置文件(如
.ovpn文件、预共享密钥、证书等)。 - 协议选择:根据配置选择协议(如IKEv2/IPsec、WireGuard等)。
认证与密钥交换
- 身份验证:
- 用户名/密码:输入凭证或读取存储的凭据。
- 证书/密钥:使用客户端证书或预置密钥(如OpenVPN的TLS-auth、WireGuard的公私钥)。
- 密钥协商:
- IPsec:通过IKE(Internet Key Exchange)协商加密密钥(如AES、ChaCha20)。
- OpenVPN:TLS握手建立加密通道。
- WireGuard:直接使用预配置的公私钥对。
建立加密隧道
- 协议差异:
- PPTP/L2TP:建立PPP会话后封装数据(L2TP需IPsec加密)。
- IPsec:创建安全关联(SA),封装ESP/AH数据包。
- OpenVPN:通过UDP/TCP建立虚拟网卡(TUN/TAP)。
- WireGuard:基于UDP的轻量级隧道,无复杂握手。
路由重定向
- 默认网关:VPN可能将默认路由指向远程服务器(全局VPN),所有流量经隧道传输。
- 分流(Split Tunneling):仅特定目标IP(如公司内网)走VPN,其余流量直连。
连接维护
- 保活机制:定期发送心跳包(如OpenVPN的
keepalive指令)防止断开。 - 重连策略:网络中断后自动重试(如WireGuard的持久化连接)。
终止连接
- 用户操作:手动点击“断开”。
- 超时或错误:认证失败、服务器主动断开或长时间无活动。
常见触发场景
- 企业远程办公:员工通过客户端连接公司内网。
- 隐私保护:用户手动启动商业VPN(如NordVPN)加密流量。
- 自动化脚本:通过命令行工具(如
wg-quick)脚本触发WireGuard。
协议对比示例
| 步骤 | IPsec (IKEv2) | OpenVPN | WireGuard |
|---|---|---|---|
| 认证 | 证书/PSK | 证书/密码 | 静态公钥 |
| 密钥交换 | IKE阶段1/2 | TLS握手 | 无(预配置密钥) |
| 加密速度 | 较高(硬件加速) | 中等(用户空间) | 极快(内核级) |
| 典型用途 | 企业网络 | 通用跨平台 | 移动设备/低延迟 |
如果需要更具体的某类VPN协议流程(如WireGuard的UDP握手),可以进一步展开说明。


