NPSNPS
首页
  • 安装与部署
  • 快速开始
  • 运行命令速查
  • 隧道模式
  • 使用示例
  • 使用说明
  • 配置文件
  • 增强功能
  • Docker 部署
  • 参数与安全速查
  • 使用说明
  • 增强功能
  • 配置与启动
  • 配置文件参考
  • SDK
  • 功能概览
  • 域名代理与路由
  • 平台域名与证书诊断
  • 访问控制与配额
  • 运行说明
  • 配置示例
  • API 鉴权
  • API 清单
  • 用户体系
  • FAQ
  • 升级迁移
  • 本项目更新日志
  • 上游更新日志
GitHub
首页
  • 安装与部署
  • 快速开始
  • 运行命令速查
  • 隧道模式
  • 使用示例
  • 使用说明
  • 配置文件
  • 增强功能
  • Docker 部署
  • 参数与安全速查
  • 使用说明
  • 增强功能
  • 配置与启动
  • 配置文件参考
  • SDK
  • 功能概览
  • 域名代理与路由
  • 平台域名与证书诊断
  • 访问控制与配额
  • 运行说明
  • 配置示例
  • API 鉴权
  • API 清单
  • 用户体系
  • FAQ
  • 升级迁移
  • 本项目更新日志
  • 上游更新日志
GitHub
  • 文档首页
  • 快速上手

    • 安装与部署
    • 快速开始
    • 运行命令速查
    • 完整部署参考
    • 隧道模式
    • 使用示例
  • 服务端

    • 服务端使用
    • 配置文件参考
    • 服务端增强功能
    • 服务端介绍
    • 部署安全与参数速查
    • Docker 部署
    • 宝塔面板部署
  • 客户端

    • 客户端使用
    • 客户端增强功能
    • NPC SDK
    • 客户端配置与启动
    • 配置文件参考
    • NPC GUI 客户端
  • 扩展功能

    • 功能概览
    • 域名代理与路由
    • 平台域名与证书诊断
    • 访问控制与配额
    • 运行说明
    • Web API 鉴权
    • Web API 清单
    • 使用示例
  • 项目与社区

    • 用户体系
    • 系统架构
    • 升级迁移
    • 构建发布
    • 本项目更新日志
    • 上游更新日志
    • FAQ
    • 贡献
    • 交流
    • 捐助
    • 致谢

访问控制与配额

NPS 的访问控制分为管理面保护、客户端资源配额和代理访问策略。先限制谁能操作管理面,再限制每个客户端可以创建和消耗的资源,最后保护公开代理入口。

Web 管理面保护

生产环境不要将 Web 面板裸露在公网。推荐保持:

web_ip=127.0.0.1
web_open_ssl=false

然后使用 HTTPS 反向代理、VPN 或受控管理网段访问。确需远程直连时,绑定受控网卡并启用 web_open_ssl=true、证书和私钥路径。

首次启动会随机生成 web_password、auth_key 和 auth_crypt_key。这些值不可提交到仓库或写入公开截图。可额外开启图形验证码:

open_captcha=true

同一来源连续登录失败会被短时限制;这只是补充措施,不能替代网络隔离。

客户端和用户状态

管理员可为客户端和用户设置启用状态、到期时间、最大连接数、最大隧道数、带宽和累计流量限制。

控制项作用前提
最大连接数限制客户端名下同时转发的数据连接。allow_connection_num_limit=true
最大客户端数限制普通用户可拥有的客户端数量;管理员分配和用户自建共用。0 表示不限制。用户字段 MaxClientNum
最大隧道数限制普通隧道和 Host 域名规则的总数。allow_tunnel_num_limit=true
带宽限制限制客户端总传输速率,单位 KiB/s。allow_rate_limit=true
流量限制限制入口和出口累计流量,单位 MiB。allow_flow_limit=true
到期时间到期后暂停客户端或用户及其资源。无额外开关

普通用户的 MaxClientNum 会统计其名下所有客户端,MaxTunnelNum 会统计这些客户端下的普通隧道和 Host 规则。管理员分配客户端与普通用户自建客户端都占用同一 MaxClientNum;客户端级限制只统计该单个客户端。详细归属关系和到期边界见用户体系。

IP 白名单与黑名单

NPS 支持三层来源控制:

  1. 全局黑名单:在「全局设置」配置,命中后所有入口拒绝该来源。
  2. 客户端黑名单:只影响该客户端名下的隧道和 Host 规则。
  3. 客户端白名单:仅允许登记来源访问,可直接填写 IP,或设置授权密码让访问者通过授权页登记当前公网 IP。

严格 IP 策略依赖 NPS 实际看到的来源 IP。若 NPS 位于 CDN、反向代理或四层负载均衡之后,先确认源地址传递方式;不要把可由任意客户端伪造的 HTTP Header 当作网络访问控制依据。

代理认证

HTTP 正向代理、SOCKS5 与域名代理共享所属客户端的 Basic 认证用户名和密码。公开 SOCKS5 或 HTTP 正向代理时必须设置强密码,并同时配合防火墙和 IP 白名单,避免成为开放代理。

TCP 后端如需感知真实访问来源,可使用 PROXY Protocol;后端必须显式支持该协议。

端口与本地转发限制

使用 allow_ports 限制客户端可创建的服务端监听端口:

allow_ports=9001-9009,10001,11000-12000

使用 allow_local_proxy=false 禁止规则转发到 NPS 服务器本机。开启本地转发后,规则创建者可能访问 NPS 所在网络可达的服务,应仅向可信管理员授予该权限。域名代理的网络边界见域名代理与路由。

公共验证密钥

public_vkey 可让没有预建客户端的连接使用公共密钥。除非明确需要临时接入,建议保持为空或删除该配置;使用独立客户端 VerifyKey 才能追踪归属、配额和到期状态。

审计与故障排查

  • 配额或状态变更后,检查客户端和用户列表中的状态、到期时间、连接数和流量。
  • 访问被拒绝时,检查全局黑名单、客户端黑名单、白名单、到期和配额,不要只检查隧道端口。
  • 发生异常流量时,立即暂停受影响客户端,保留日志和 conf/ 备份,再分析来源。
  • API 自动化应使用独立、可轮换的 auth_key,并将调用端限制在管理网络。
在 GitHub 上编辑此页
最后更新: 2026/9/3 17:30
Prev
平台域名与证书诊断
Next
运行说明