# 批量映射 TCP 或 UDP 端口

> 使用 NPC 配置文件把多组服务端端口批量映射到对应目标端口

---

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

---

NPC 配置文件可用一段配置批量创建多个 TCP 或 UDP 隧道，适合映射连续服务端口。Web 管理不接受端口范围，需要逐条创建。

## 配置示例

```ini
[tcp]
mode=tcp
server_port=9001-9009,10001,11000-12000
target_port=8001-8009,10002,13000-14000
```

展开后的端口按位置一一对应：`9001 -> 8001`、`9002 -> 8002`，依此类推。UDP 只需将 `mode` 改为 `udp`。

## 配置规则

- 使用英文逗号分隔单个端口或闭区间，不要加入空格。
- `server_port` 与 `target_port` 展开后的数量必须完全相同，否则整组创建失败。
- 端口必须在 `1-65535` 内，范围起点不能大于终点。
- 此写法只支持 `tcp` 和 `udp`。
- 目标未指定主机时使用 NPC 本机 `127.0.0.1`；映射其他内网主机见[跨机器端口范围映射](/extend/feature/remote-port-range.html)。

服务端必须允许该客户端“通过配置文件连接”，并且每个服务端端口都要满足[端口白名单](/extend/feature/port-allowlist.html)、未被占用且已在防火墙放通。

## 上线与验证

使用配置启动 NPC，日志中每个展开隧道的备注会附加服务端端口。任选首、中、末三个端口从外网验证，不要只测试第一个：

```shell
nc -vz nps.example.com 9001
nc -vz nps.example.com 9005
nc -vz nps.example.com 12000
```

这些隧道由 NPC 配置维护，断开时会从服务端移除。修改范围后应重连 NPC，并检查旧端口是否已停止监听。

---

反链：

- [批量映射到其他主机](/extend/feature/remote-port-range.html)
