# 限制隧道可使用的服务端端口

> 使用允许列表限制用户创建、复制和启动隧道时可占用的服务端端口

---

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

---

为了防止用户任意占用服务端端口，可在 `nps.conf` 中配置 `allow_ports`，把普通隧道的“服务端监听端口”限制在指定集合内：

```ini
allow_ports=9001-9009,10001,11000-12000
```

修改后重启 NPS。忽略或留空表示不限制；配置项使用英文逗号分隔单个端口或闭区间，不要加入空格。

## 影响范围

- 新增、编辑、启动和复制 TCP、UDP、SOCKS5、HTTP 正向代理等监听型隧道时会检查。
- [端口自动生成](/extend/feature/auto-port.html)只会从允许集合中挑选空闲端口。
- 已保存但不在新范围内的隧道，在 NPS 重启或再次启动时可能无法监听。
- HTTP(S) 公共入口、Web 管理端口、桥接端口以及不单独监听的私密代理/P2P 不由此项分配。

## 规划示例

可为 NPS 预留一段专用端口，并在云安全组和主机防火墙中只放通同一范围：

```ini
allow_ports=20000-20999
```

配置后先创建一条自动端口隧道，确认实际端口落在范围内，再分别验证 TCP/UDP 防火墙规则。若提示端口被占用或不再允许，检查 `ss -lntup`、允许范围和协议；同一个数字的 TCP 与 UDP 端口可以分别监听，但安全组也要分别放通。

---

反链：

- [自动分配监听端口](/extend/feature/auto-port.html)
- [Web 配置何时生效](/extend/feature/hot-reload.html)
- [批量映射端口](/extend/feature/port-range.html)
- [限制客户端隧道数](/extend/feature/tunnel-limit.html)
