NPS
NPS(Network Penetration Server)是一款轻量级、高性能的内网穿透代理服务器,提供 Web 管理界面,支持多用户管理。NetPanel 集成了 NPS 客户端和服务端支持。
技术原理
NPS 工作架构
NPS 同样采用客户端-服务端架构,与 FRP 类似,但提供了更完善的 Web 管理界面:
内网设备(运行 npc 客户端)
│
│ 1. npc 主动连接 nps(控制通道,默认 8024 端口)
▼
公网服务器(运行 nps 服务端)
├── Web 管理界面(默认 8080 端口)
│ └── 在线管理隧道、客户端、流量统计
│
│ 2. 外网用户访问公网端口
▼
外网用户
│
│ 3. nps 将流量通过控制通道转发给 npc
▼
内网服务NPS 与 FRP 对比
| 对比项 | NPS | FRP |
|---|---|---|
| Web 管理界面 | ✅ 内置完整 Web UI | ❌ 无(需命令行/API) |
| 多用户支持 | ✅ 支持多客户端独立管理 | ⚠️ 需要额外配置 |
| 隧道管理 | ✅ Web 界面在线增删改 | ❌ 需修改配置文件重启 |
| 流量统计 | ✅ 实时流量图表 | ⚠️ 基础统计 |
| 性能 | ⭐⭐⭐⭐ 较高 | ⭐⭐⭐⭐⭐ 更高 |
| 协议支持 | TCP/UDP/HTTP/HTTPS/SOCKS5 | TCP/UDP/HTTP/HTTPS/STCP/XTCP |
| 配置复杂度 | 低(可视化操作) | 中(配置文件) |
| 推荐场景 | 多用户、需要 Web 管理 | 追求性能、单用户 |
功能概述
- NPS 客户端(npc):连接到 NPS 服务端,暴露内网服务
- NPS 服务端(nps):接收客户端连接,提供穿透服务
- 支持 TCP、UDP、HTTP、HTTPS、SOCKS5 代理
- 提供 Web 管理界面,可在线管理隧道规则
- 支持流量限制和带宽控制
NPS 客户端配置
进入 NPS 客户端 页面,点击 新建 按钮:
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| 名称 | 字符串 | ✅ | — | 客户端实例名称 |
| 启用 | 布尔 | ✅ | true | 是否启用 |
| 服务端地址 | 字符串 | ✅ | — | NPS 服务端 IP 或域名 |
| 服务端端口 | 整数 | ✅ | 8024 | NPS 服务端端口 |
| 客户端 Key | 字符串 | ✅ | — | 在 NPS 服务端创建客户端时生成的 Key |
获取客户端 Key
- 登录 NPS 服务端 Web 管理界面(默认
http://服务器IP:8080) - 进入 客户端 页面,点击 新增
- 填写客户端备注,保存后系统自动生成唯一 Key
- 将该 Key 填入 NetPanel 的 NPS 客户端配置中
NPS 服务端配置
进入 NPS 服务端 页面,点击 新建 按钮:
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| 名称 | 字符串 | ✅ | — | 服务端实例名称 |
| 启用 | 布尔 | ✅ | true | 是否启用 |
| 监听端口 | 整数 | ✅ | 8024 | 客户端连接端口 |
| Web 管理端口 | 整数 | ❌ | 8080 | NPS Web 管理界面端口 |
| Web 管理密码 | 字符串 | ❌ | — | Web 管理界面密码 |
配置示例
示例:通过 NPS 穿透内网 Web 服务
步骤 1: 在 NetPanel 中启动 NPS 服务端(监听端口 8024,Web 管理端口 8080)
步骤 2: 登录 NPS Web 管理界面,创建客户端,获取 Key(如 abc123)
步骤 3: 在内网设备的 NetPanel 中配置 NPS 客户端:
| 字段 | 值 |
|---|---|
| 服务端地址 | your-server.com |
| 服务端端口 | 8024 |
| 客户端 Key | abc123 |
步骤 4: 在 NPS Web 管理界面中,为该客户端添加 TCP 隧道:
- 服务端端口:
8888 - 目标地址:
127.0.0.1:80
配置完成后,通过 your-server.com:8888 即可访问内网 Web 服务。
常见问题
Q:npc 连接失败?
排查步骤:
- 确认服务端地址和端口(8024)是否正确
- 检查服务端防火墙是否放行 8024 端口
- 确认客户端 Key 是否正确(在 NPS Web 界面查看)
- 查看 NetPanel 日志获取详细错误信息
Q:NPS Web 管理界面无法访问?
排查步骤:
- 确认 NPS 服务端已正常启动
- 检查 Web 管理端口(默认 8080)是否被防火墙放行
- 注意 8080 端口可能与 NetPanel 默认端口冲突,建议修改为其他端口(如 8090)
Q:隧道流量统计不准确?
NPS 的流量统计基于隧道级别,不包含 NPS 自身的控制通道流量。实际流量消耗略高于统计值。
官方资源
| 资源 | 链接 |
|---|---|
| 📖 GitHub 文档 | https://github.com/ehang-io/nps |
| 💾 GitHub 下载 | https://github.com/ehang-io/nps/releases |
| 🐛 问题反馈 | https://github.com/ehang-io/nps/issues |
NetPanel 内置 NPS
NetPanel 发布包中已内置对应平台的 NPS 二进制文件,无需单独下载安装。
注意事项
开发中
NPS 功能目前正在开发中,部分功能可能尚未完全实现。
与 FRP 的区别
NPS 和 FRP 功能类似,都是内网穿透工具。NPS 提供了 Web 管理界面,可以在线管理隧道规则;FRP 则更轻量,性能更好。根据实际需求选择使用。
Web 管理界面安全
NPS Web 管理界面默认密码较弱,请务必修改为强密码,并避免将管理端口暴露到公网。建议通过 NetPanel 的访问控制功能限制管理端口的访问来源。