跳转至

安全服务 · 零信任 VPN 模块(vpn-Modules)

服务分类:安全服务 —— 对应 nfvpn 客户端与 console vpn 管理页

模块定位

零信任 VPN 网关:nfarmsd Gateway 模块(--module gateway)提供 WebSocket 认证骨架(2.md §4.3),按设备类型从虚拟 IP 池分配地址, 登记会话并输出审计事件;IP 双向转发为后续迭代(实际流量走 WireGuard 备用通道)。

功能

  • 认证:WS 升级后 15s 内接收 {token, device_id, device_type} → JWT 验证(共享 JWT_SECRET)→ 设备类型白名单(office/robot/sensor/gateway);
  • 虚拟 IP 池(172.19.0.0/16 规划):
  • office:172.19.19.0/24
  • robot:172.19.208.0/20
  • sensor:172.19.224.0/19
  • 会话登记:vpn_sessions(内存 + SQLite),断开自动回收 IP;
  • 审计事件:NATS audit.vpn.connected / audit.vpn.disconnected (离线降级写 vpn_audit 表);
  • 心跳:30s 定时 Ping(定时器驱动,修复心跳反馈风暴);
  • 管理面:会话/审计列表接口(console vpn 页)。

接口要点

WS   ws://{gateway}:9994/vpn/ws      认证 → {success, vpn_ip, session_id}
GET /vpn/sessions                    在线会话(admin)
GET /vpn/audit                       审计事件(admin)

状态与关联

  • 已实现:认证骨架 + IP 池 + 心跳 + 审计(nfarmsd v2.3.0);
  • 客户端:nfvpn(Windows Rust + Android 源码,nfvpn connect/status/disconnect/export-wg);
  • 关联前端:console/(vpn/ztna/ztlogs 页)。

主备通道规划(双服务器)

角色 通道 说明
主服务器 VPN 主通道 nfarmsd gateway(9991,规范端口段);办公/机器人/传感器流量默认接入
从服务器 备通道 + WireGuard VPN 可视化 同构 gateway(9991 standby);WireGuard 服务端与隧道可视化面板
  • 主通道原则:主服务器只承担 VPN 主通道;从服务器承载备通道与 WireGuard 接入/可视化;
  • 重启窗口(每日 02:00 备份→清缓存→重启,见 ../nfos/backup.md):重启前上报告警 (初始化系统告警),客户端(nfvpn 多端点配置)自动 failover 到备通道; 重启完成自检通过后发恢复完成初始化告警,主通道收回流量;
  • 告警来源:主 nfarmsd.backup.primary / 从 nfarmsd.backup.standby。