关键要点
- VPN 协议: 推荐 WireGuard(快速、现代)。OpenVPN(较慢、兼容性更广)作为备选。
- 设置: VPN 服务器与 LLM 服务器在同一网络上。远程用户通过 WireGuard 隧道进入。
- 延迟: 每次连接增加 5-10 毫秒(通常不明显)。吞吐量 = 受互联网带宽限制。
- 设置时间: 30 分钟(WireGuard)至 2 小时(OpenVPN + 身份验证集成)。
- 成本: 免费(开源)或 $50-200/年(托管 VPN 服务,如果不想自托管)。
- 安全: WireGuard 有 4,000 行代码(攻击面小)。OpenVPN 是 400K+ 行代码(复杂)。
- 加密: 两者都支持 AES-256。端到端安全(远程用户 → VPN → LLM 服务器)。
- 无分割隧道 = 公司控制所有互联网流量。分割隧道 = 用户将非 LLM 流量路由到 VPN 外。
VPN 协议:WireGuard 与 OpenVPN
| 特性 | WireGuard | OpenVPN |
|---|---|---|
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | — |
设置:LLM 网络上的 VPN 服务器
- 1安装 WireGuard:在 VPN 服务器上(与 LLM 服务器在同一 LAN 的 Linux VM)。
- 2生成密钥:私钥(服务器端密钥)、公钥(分发给客户端)。
- 3防火墙规则:允许来自互联网的 UDP 51820(WireGuard 默认端口)入站。
- 4客户端配置:每个用户获得一个 .conf 文件,包含私钥、服务器端点、允许的 IP。
- 5客户端软件:WireGuard 桌面应用(Mac、Windows、Linux)或移动版(iOS、Android)。
- 6测试:用户连接 VPN,ping LLM 服务器(应该响应),通过 API 运行推理。
性能影响
延迟: WireGuard 增加 5-10 毫秒。LLM 推理已经需要 10-100 毫秒/token,所以影响 <5%。
吞吐量: 受互联网连接限制(例如,100Mbps 家庭互联网 = 12 MB/秒 = 适合 LLM)。
示例: 发送 10KB 提示 + 接收 5KB 响应 = 15KB 总计。在 100Mbps = 约 1 毫秒网络延迟(可忽略)。
加密开销: 现代 CPU 具有 AES-NI 指令。加密/解密速度可达每核 500Mbps+。
分割隧道(仅访问 LLM,不访问互联网)
默认情况下,VPN 路由所有流量(互联网 + LLM)通过企业隧道。
如果用户想在使用 LLM 时浏览互联网,这可能会很慢。
分割隧道 = 仅 LLM 流量通过 VPN,互联网流量直接通过。
WireGuard 分割隧道示例:`AllowedIPs = 10.0.0.0/24`(仅 LLM 网络)。
权衡: 更快的互联网,但安全监督较少(用户可在 VPN 外泄露数据)。
推荐: 为用户启用分割隧道(更好的用户体验)。使用端点检测(CrowdStrike、Sentinel One)进行监控。
安全加固
- 防火墙: 仅 VPN 服务器可与 LLM 服务器通信。丢弃所有其他流量。
- 密钥轮换: 每 6 个月重新生成客户端密钥。用户离职:立即撤销密钥。
- 日志: 记录 VPN 连接(谁、何时、多久)。每季度审计。
- 密码: VPN 服务器仅使用 SSH 密钥(无密码身份验证)。通过密钥对实现无密码 SSH。
- 故障关闭: VPN 断开连接时,客户端无法访问互联网(除非启用分割隧道)。
远程访问故障排除
无法连接: 检查路由器防火墙规则(UDP 51820 是否打开?)。检查 WireGuard 服务是否运行(`wg show`)。
推理缓慢: 检查延迟(VPN 内运行 `ping 10.0.0.1`,应该 <20ms)。检查互联网带宽(`iperf3`)。
API 超时: VPN 连接断开。检查日志(`journalctl -u wg-quick@wg0`)。重启 WireGuard。
一个用户无法访问,其他用户可以: 检查服务器配置中该用户的公钥。重新生成密钥对。
常见问题
应该使用 VPN 还是将 LLM API 公开到互联网?
始终使用 VPN。切勿直接向互联网公开 LLM(DDoS、未授权访问)。VPN + 防火墙更安全。
在没有 VPN 的情况下是否可以访问 LLM API?
仅从 LAN(同一网络)。远程用户必须使用 VPN。或者使用反向 SSH 隧道(安全性较低)。
VPN 加密会减慢推理速度吗?
可忽略不计(<5% 影响)。现代 CPU 可在 Gbps 速度下进行加密/解密。
应该使用分割隧道吗?
是的,用户体验更好。使用端点检测(EDR)监控数据泄露。
如果 VPN 密钥泄露会怎样?
立即重新生成该用户的密钥。旧密钥无效。无追溯性访问。
是否可以使用企业 VPN(Okta、Azure)?
可以,对大型团队更好。但需要集成(RADIUS、SAML)。WireGuard 对 <20 用户的团队更简单。
来源
- WireGuard 官方文档和快速入门指南
- OpenVPN 社区文档和 OpenVPN Access Server
- NIST 网络安全框架:VPN 最佳实践