NPS内网穿透实战

一、NPS 是什么?

NPS 是一款轻量级、高性能、功能强大的内网穿透代理服务器,支持 TCP、UDP、HTTP (S)、SOCKS5 等多种协议,Web 管理界面简洁易用,非常适合个人和小型团队做内网穿透。

二、服务端部署(Linux amd64)

1. 下载服务端文件

wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz

2. 解压文件

tar -zxvf linux_amd64_server.tar.gz

3. 进入目录并安装

cd nps
./nps install

4. 修改配置文件

编辑配置文件,80/443 端口若被占用,需改为其他端口

vim /etc/nps/conf/nps.conf

5. 修改 Web 管理信息

修改 Web 访问端口(避免 8080 等默认端口)

修改web信息,管理员账号、密码

修改 公钥 / 私钥 等安全参数,安全设置必做,修改成其他值

6. 重启服务生效

nps restart

三、域名解析与防火墙

1. 域名解析

在域名控制台添加 A 记录,指向服务器公网 IP。

2. 防火墙放行端口

如果是云服务器,需要在自己云服务器防火墙放行相应的 Web 端口、以及穿透使用的端口

四、Web 后台登录

浏览器访问:http://域名:Web端口,使用设置的账号密码登录管理后台。

五、服务端的穿透配置

1. 新增客户端

在 Web 后台 → 客户端 → 新增,填写备注,保存后获取客户端连接命令。

配置完成刷新可以看见用于在客户端使用的命令

2. 内网机器部署 NPC

  1. 下载对应系统的 NPC 客户端

  2. 解压文件

  3. 执行客户端连接命令

# 前台运行(测试用)
./npc -server=公网IP:端口 -vkey=密钥 -type=tcp

# 安装为系统服务(后台自启)
./npc install -server=公网IP:端口 -vkey=密钥 -type=tcp
npc start

3. 查看在线状态

返回 Web 后台,客户端状态显示在线,说明连接成功。

五、创建 TCP 隧道实现内网穿透

  1. Web 后台 → 隧道 → 新增

  2. 代理类型选择TCP 代理

  3. 配置:

    • 服务端端口:公网访问端口

    • 目标:内网 IP + 内网服务端口

  4. 保存并启用隧道。

六、测试访问

公网IP:服务端端口域名:服务端端口访问,成功打开内网服务,穿透完成!

评论