本页汇总 nsgw 仓库进行中的计划、六大能力轴现状与跨组件协调点。架构概念见 architecture.md。计划编号对应 nsgw 仓库 docs/plan/(PLAN-001 ~ PLAN-132)。
- 协议无关的中继 —— WG relay / WSS / 公网边缘各自子系统承载,共享身份与配置同步,不共享数据通路。
- 网关无状态化 —— 不维护用户业务态;水平扩展与 failover 无需会话迁移。
- 配置只来自 NSD 投影 —— 本地不维护权威配置文件;
gateway_services.toml 只是 floor。
- fail-closed 的 ACL 门 —— 所有门在有可用策略之前一律拒绝。
- 模式由 NSD 决定,网关从不自选 —— relay 路径 role-neutral,对统一节点无感。
| 计划 | 目标 | 状态 |
|---|
| PLAN-130 relay 配对表增量应用 | 为 gateway_wg_relay 增加 delta 序列,绑定签名转发 epoch 与完整快照 digest | 草案(无运行时 / wire 改动) |
| PLAN-120 Gateway Egress Both-protocol floor 兼容 | gateway_services.toml 的双协议 floor 与投影交集 | 待实施 |
| PLAN-096 NS 原生 WG terminate client leg | kernel WG + TPROXY → NsnBacked egress_for | 待实施 |
| PLAN-133 稳定 tag 自动部署到 TEST | CI 校验主线 tag、固定 ns-shared 版本,所有质量任务通过后部署到 TEST | 实施中 |
| PLAN-107 大文件模块拆分 | 测试外移、聚焦模块 | 待实施 |
| NSD PLAN-036 公网边缘 mTLS 商业化 | NSD 侧完成;NSGW 集成阻塞 | 阻塞 |
| 新架构迁移 | relay v2(NSR2、/ns/v2)、/rendezvous/v1 信箱与登记表、nsgw-relay 库、账户网关改用 relay v2 与 node6 寻址,见迁移计划;落到 nsgw 的 crate 划分、不移植的部分、对 nsplane / nsshared 的需求与控制协议的重新设计见新架构设计 | 计划,待批准 |
Quick relay(nsgw-quick-relay) | UDP / /keynet/v1 WSS 中继、/quick/v1 短码会合、relay 区域(成员网状连接、owner 与 epoch 栅栏、重载) | 已实现;公网部署、跨主机流量与 Windows / Docker 终端验收留作发布门 |
| 轴 | 主问题 | 已实现 | 进行中 / 规划 |
|---|
| ① 连接能力 | 数据如何进入 NSGW | kernel / userspace WG、WG 不解密中继(租约、DoS 边界、碰撞消歧)、WSS 不透明缝合、terminate、NSGWP2P1 反射探测(含测量探测)、Exit WSS 承载、rustls + 可选 ACME | 配对表增量;原生 WG terminate client leg |
| ② 路由与寻址 | 如何到达发布端 / 出口 | RoutingSnapshot、Envoy 动态 HTTPS / L4、多 realm 路由桶、Gateway Egress(fail-closed)、Gateway Exit(nft SNAT、原子 CIDR 集、realm 快照收敛)、上游 authority 重写 | Both-protocol floor |
| ③ 安全能力 | 如何挡住恶意流量 | 源 IP 准入(XFF 可信跳数)、jwt_authn + ext_authz(OIDC / API key / 签名 URL / mTLS / Basic)、客户端 CA + CRL、Envelope / JWT pin、请求体与并发上限、WG relay 准入 | 公网 mTLS 商业化集成;WAF / L7 challenge 未规划 |
| ④ 容灾运维 | 失败时怎么收敛 | drain(/ready 503、300 s)、Exit 投影 dirty-cutover 重试收敛、Egress 流生命周期监督、ACL 全拒上限、Alpine 最小能力镜像、slim 构建 | 跨区 failover 自动化 |
| ⑤ 观测与审计 | 现在什么在跑 | Prometheus(build_info、per-peer 可选、Egress 事件、relay pending / reap / close、反射探测 rate_limited / measurement_accepted、计量排除)、/livez / /readyz、审计环(含启动配置警告)、结构化日志、版本上报 | OTel traces、审计落盘 |
| ⑥ 资源与计费 | 带宽 / 配额 / 出账 | terminate、公网边缘、Egress、Exit 四类计量;Exit usage 行附 per-NS 主体;gateway.usage_report reporter 与修复(PLAN-098 已完成);歧义 realm 与空 realm 的计数 | WG terminate 按主体计量的决定、配额 / QoS |
| 改造 | NSGW 侧 | NSD / NS 配套 |
|---|
| relay 配对投影规模 | PLAN-130 增量应用 | NSD PLAN-125 分片 / 增量 |
| Exit 撤销收敛 | 投影变化取消受影响承载会话 | NSD TASK-252 fenced clear;NS PLAN-200 |
| pair transport 权威 | 无改动(role-neutral) | NSD 能力门控投影;NS 阶梯 |
| 公网 mTLS | Envoy 客户端 CA / CRL 已就绪 | NSD PLAN-036 集成 |
| 统一节点 | PLAN-123 已证明 relay 路径 role-neutral | NS 统一身份;NSD leg token 签发 |
| 控制信任发现 | PLAN-132 消费方 | NSD PLAN-137 发布方;NS PLAN-192 |
| 中继位置测量 | 应答 probe_set 中的纯测量反射探测;回复携带登记的机器 ID | NSD 下发 probe_roster / probe_set 并按 RTT 放置;NS 测量并在心跳中上报 gateway_rtt |
| Quick 模式 | nsgw-quick-relay:中继、短码会合、区域 | NS ns quick;不经过 NSD |
- NSGW 自选链路模式或网关 —— 决策在 NSD 投影与 NS 阶梯。
- NSGW 维护应用层会话 —— 与无状态化冲突。
- 在 relay 路径上做用户 ACL —— 发布端 NS 终决;relay 只判 pair 授权。
- NSGW 解析被中继的 IP 包、安装 LAN 前缀、做子网 SNAT —— 子网路由是发布端 NS 的职责。
- 自带管理台 —— 管理面只在 NSD。
- 重新实现自有反向代理 —— 公网边缘由 Envoy sidecar 承载。