# 限制客户端的并发连接数

> 限制单个客户端所有隧道共享的同时转发连接数量

---

LLMS 索引： [llms.txt](/llms.txt)

---

“最大连接数”限制单个客户端同时占用的转发连接，避免一个客户端通过大量长连接耗尽 NPS 文件描述符或内存。限制对 SOCKS5、HTTP 正向代理、HTTP(S)、TCP、UDP 和私密代理生效。

## 开启并配置

在服务端 `nps.conf` 中开放 Web 配置项并重启 NPS：

```ini
allow_connection_num_limit=true
```

然后在 Web 管理中新增或编辑客户端，填写“最大连接数”。留空或填 `0` 表示不限制。使用公共验证密钥、由 `npc.conf` 注册临时客户端时可写：

```ini
[common]
max_conn=500
```

对于已经在 Web 管理中创建的客户端，以 Web 保存的最大连接数为准，`npc.conf` 中的值不会覆盖它。

修改客户端限制后，新连接会立即按新值判断；已有连接不会因为把上限调低而主动断开，但在当前连接数降到新上限以下之前，新的连接会被拒绝。

## 如何选择数值

连接数是客户端下所有相关隧道共享的，不是每条隧道各自拥有额度。建议：

1. 先观察高峰期“当前连接数”，区分正常长连接与异常扫描。
2. 在正常峰值上保留重连和突发余量。
3. 同时检查 NPS 的文件描述符和内存容量，参见 [Linux 系统限制](/extend/feature/linux-limits.html)。
4. 对公开 TCP 服务再配置[单隧道的访问白名单或新连接频率限制](/extend/feature/tcp-access-control.html)；最大连接数不能防御 SYN flood。

达到上限后，NPS 接受连接后会立即拒绝转发，客户端通常看到连接重置或超时。排障时比较当前连接数与上限，并检查是否存在未释放的长连接。

---

反链：

- [Linux 并发连接调优](/extend/feature/linux-limits.html)
