Appearance
核心节点服务器
核心节点服务器就是 CoreServer。它通常部署在有公网 IP 或公网域名的 Linux 主机上,用来提供终端可以接入的 VNT 节点。
当前 CoreServer 已是 Rust 实现,并在同一进程内嵌 vendored vnts。它不再依赖外部 vnts 可执行文件。
它负责什么
- 生成本次运行的
server_id、端口、令牌和密码。 - 启动嵌入式
vnts。 - 持续向
ConfigServer上报节点配置和心跳。 - 异常退出时按配置自动重启嵌入式运行时。
- 接收
ServicePublisher的服务清单心跳,并向 Client 透传服务能力元数据。 - 为接入的客户端和服务发布器分配 PNC 虚拟 IP,并校验手动请求的固定 IP 是否在虚拟网段内且未被占用。
SERVER_NAME 是配置下发服务器识别同一逻辑节点的唯一依据。容器重启后,server_id、运行端口、令牌和密码都可能变化;只要 SERVER_NAME 不变,新实例会替换旧实例。多个核心节点同时在线时必须使用不同的 SERVER_NAME。
ServicePublisher 启用内置代理后,会在服务清单中上报 accessMode: "proxy" 和可选 proxy 元数据。CoreServer 会保持旧字段兼容,并通过 /api/services 原样返回这些元数据,供 Client 代理页面发现在线出口。
常见问题
ConfigServer 看不到节点
检查 CONFIG_SERVER_URL 是否正确,反向代理是否支持 WebSocket,CoreServer 是否能访问配置服务器。
客户端获取到节点但连不上
检查 SERVER_IP 是否是客户端真正能访问的公网地址,并确认服务器防火墙放行运行时端口。
如果问题发生在 CoreServer 容器重启后,请确认客户端和服务发布器已升级到支持按节点名称重新解析的版本,并确认同一逻辑节点的 SERVER_NAME 没有变化。
容器运行异常
确认使用 host 网络、privileged: true,并挂载日志目录便于排查。