跳转到主要内容

加密 NPC 与 NPS 之间的连接

使用独立 TLS 桥接端口加密 NPC 与 NPS 之间的控制和隧道流量

TLS 桥接用于加密 NPC 与 NPS 之间的控制和多路复用链路,避免桥接流量以明文形式经过网络。它不等同于 HTTP(S) 隧道的站点证书配置。

服务端配置

在 nps.conf 中设置:

bridge_type=tcp
bridge_port=8024
tls_enable=true
tls_bridge_port=8025

重启 NPS,并在防火墙放通 tls_bridge_port 的 TCP 入站流量。TLS 监听与普通 bridge_port 并存;确认所有 NPC 已迁移后,如不需要明文桥接,可在防火墙关闭普通桥接端口。

TLS 桥接只用于 TCP 桥接模式。bridge_type=kcp 时不会启动独立 TLS 监听。

客户端连接

使用默认自签名证书时,先从可信的 NPS 启动日志获取 64 位公钥指纹,或直接复制 Web 管理中新生成的 TLS 连接命令。无配置文件模式:

./npc -server=nps.example.com:8025 -vkey=客户端验证密钥 \
  -tls_enable=true -tls_server_fingerprint=替换为服务端实际公钥指纹

配置文件模式:

[common]
server_addr=nps.example.com:8025
conn_type=tcp
vkey=客户端验证密钥
tls_enable=true
tls_server_fingerprint=替换为服务端实际公钥指纹

服务端和客户端必须成对使用 TLS 端口与 tls_enable=true。把 TLS 客户端连到普通桥接端口,或把明文客户端连到 TLS 端口,都会在握手阶段失败。

安全边界

NPS 默认生成并持久化自签名证书,重启复用身份。NPC 默认校验服务端证书,可选择系统 CA、指定私有 CA 或固定公钥指纹。公共 CA 证书且域名匹配时可省略指纹参数;自签名名称模式、证书文件路径、GUI 和旧版迁移详见桥接证书与身份验证 。

显式启用 tls_insecure_skip_verify=true 会恢复旧版只加密、不验证身份的行为。TLS 桥接与普通明文桥接同时监听,TLS 本身不会关闭明文入口。最低支持 TLS 1.2,双方支持时协商 TLS 1.3。

连接后可在客户端列表确认 NPC 在线,并检查 NPS 日志中的 TLS 监听端口。若连接失败,依次核对 TCP 连通性、两端 TLS 开关、端口以及 bridge_type。