限制客户端的并发连接数
限制单个客户端所有隧道共享的同时转发连接数量
“最大连接数”限制单个客户端同时占用的转发连接,避免一个客户端通过大量长连接耗尽 NPS 文件描述符或内存。限制对 SOCKS5、HTTP 正向代理、HTTP(S)、TCP、UDP 和私密代理生效。
开启并配置
在服务端 nps.conf 中开放 Web 配置项并重启 NPS:
然后在 Web 管理中新增或编辑客户端,填写“最大连接数”。留空或填 0 表示不限制。使用公共验证密钥、由 npc.conf 注册临时客户端时可写:
对于已经在 Web 管理中创建的客户端,以 Web 保存的最大连接数为准,npc.conf 中的值不会覆盖它。
修改客户端限制后,新连接会立即按新值判断;已有连接不会因为把上限调低而主动断开,但在当前连接数降到新上限以下之前,新的连接会被拒绝。
如何选择数值
连接数是客户端下所有相关隧道共享的,不是每条隧道各自拥有额度。建议:
- 先观察高峰期“当前连接数”,区分正常长连接与异常扫描。
- 在正常峰值上保留重连和突发余量。
- 同时检查 NPS 的文件描述符和内存容量,参见 Linux 系统限制 。
- 对公开 TCP 服务再配置单隧道的访问白名单或新连接频率限制 ;最大连接数不能防御 SYN flood。
达到上限后,NPS 接受连接后会立即拒绝转发,客户端通常看到连接重置或超时。排障时比较当前连接数与上限,并检查是否存在未释放的长连接。