# 自动分配服务端监听端口

> 新增隧道时从允许范围内自动选择未占用的服务端监听端口

---

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

---

在 Web 管理中新增需要监听端口的隧道时，“服务端监听端口（留空自动分配）”可以不填。NPS 会选择当时可绑定的端口，并在保存成功后显示实际端口。

## 分配规则

- 配置了 `allow_ports` 时，只在允许列表中随机选择并逐个检查。
- 未配置 `allow_ports` 时，最多尝试 1000 次随机端口，自动范围从 `1024` 开始。
- TCP、HTTP 正向代理和 SOCKS5 等模式检查 TCP 端口；UDP 隧道检查 UDP 端口。
- 私密代理和 P2P 不依赖独立公网监听端口，不需要用此功能规划端口。

如果找不到可用端口，新增会失败并提示端口可能已占用或不在允许范围。端口检测与真正启动监听之间存在很短的竞争窗口，极端并发创建时仍可能启动失败。

## 使用建议

自动分配不会修改云安全组或主机防火墙。保存后复制实际端口，按协议放通入站规则，再从外部网络验证：

```shell
# TCP 示例
nc -vz nps.example.com 实际端口

# 查看 NPS 是否监听
ss -lntup | grep ':实际端口'
```

生产环境需要稳定访问地址时，应记录分配结果，或使用[端口白名单](/extend/feature/port-allowlist.html)限定专用范围，避免重建隧道后端口变化。

---

反链：

- [限制可用监听端口](/extend/feature/port-allowlist.html)
- [复制普通隧道](/extend/feature/tunnel-copy.html)
