使用NPS搭建内网穿透,让无公网IP的设备也能被外网访问 - Hello World

使用NPS搭建内网穿透,让无公网IP的设备也能被外网访问

NPS是一个内网穿透工具,有可视化控制面板,简单易懂。
原版地址:https://github.com/ehang-io/nps

由于原本目前已多年未更新 如下是一款他人继续维护更新的版本
维护版本地址:https://github.com/yisier/nps

首先分为 服务端 和 客户端

服务端就是安装到你有公网ip的设备上 把他的公网ip共享给 无公网IP的设备(客户端)

可以直接安装或者使用docker安装

这里以直接安装为例子(以原版为例)

  1. 下载对应适合自己设备的服务端

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

  2. 解压

    tar -xzvf linux_amd64_server.tar.gz

  3. 安装

    ./nps install

  4. 开启

    nps start

至此 服务端安装完成 后台地址是 IP:8080 账号 admin 密码 123 (修改版的地址是8081)

配置文件在 etc/nps/conf/nps.conf 里面可以修改 管理员等信息

切记 原版有个鉴权漏洞(修改版已经修复) 需要在NPS服务端的配置文件中 取消auth_key的注释 并且注释掉auth_crypt_key后重启服务端即可~

接下来登录后台

  1. 点击左侧的客户端-新增 只用填写备注名字 其他默认即可
  2. 看到刚才新增的客户端 右边有个隧道 点击进去 随后在点击左边的新增 根据需求选择自己的模式 默认TCP即可 需要修改的是 服务器端口 这里填你对外展示的端口,目标就填你内网设备的访问地址 要加端口 比如 192.168.1.1:80 其他的不用动 直接新建即可

QQ截图20240731173246.png

  1. 返回首页 点击左侧的客户端 在点击客户端旁边的加号 会显示 客户端命令 (这个就是一会客户端和服务端连接的命令)

随后 去下载你设备对应的客户端系统 (这里以win为例)

  1. 下载客户端

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

  1. 解压 运行 (linux系统也要解压哈 tar -xzvf linux_arm64_client.tar.gz )

解压到本地后 启用一个cmd命令 cd到此文件夹中 输入命令 进行连接服务端 连接成功后 保持运行 不能断开,否则会中断连接

需要注意的是 如果你的客户端是win系统 那么命令需要把前面的 ./npc 去掉./ 这两个字符 在运行

常用命令

(linux)
 sudo nps start 启动
 sudo nps stop 停止
 sudo nps restart 重启

(win)
nps.exe start 启动
nps.exe stop 停止
nps.exe restart 重启


部分可参考文献
https://www.youtube.com/watch?v=FivS8sN5Pok&t=201s
https://ehang.io/nps/documents