Loading... **自带WEB管理的轻量级内网穿透工具NPS的各种搭建方式和使用教程,支持X86、ARM、MIPS平台。** 最近已经有几个省不给家庭用户公网IP了,估计会逐步扩展收回公网IP,如果我们想在外面访问家里的NAS或者其他服务那只能选择内网穿透了,自建内网穿透服务器是一个不错的选择,特别是最近各大[云服务器](https://blog.zeruns.com/archives/383.html)厂商为抢占市场不断降价促销,云服务器的性价比都不错。 **云服务器选购可以看这:[https://blog.zeruns.com/archives/383.html](https://blog.zeruns.com/archives/383.html)** 我的世界服务器搭建教程:[https://blog.zeruns.com/tag/mc/](https://blog.zeruns.com/tag/mc/) 视频教程:https://www.bilibili.com/video/BV19T4y1e7Qf/ ## NPS介绍 nps是一款轻量级、高性能、功能强大的**内网穿透**代理服务器。目前支持**TCP、UDP流量转发**,可支持任何**tcp、udp**上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析、游戏私服、[我的世界服务器](https://blog.zeruns.com/tag/mc/)等等……),此外还**支持内网http代理、内网socks5代理**、**p2p等**,同时支持snappy压缩、站点保护、加密传输、多路复用、header修改等。支持web图形化管理,集成多用户模式。 案例: 1. 做微信公众号开发、小程序开发等----> 域名代理模式 2. 想在外网通过ssh连接内网的机器,做云服务器到内网服务器端口的映射,----> tcp代理模式 3. 在非内网环境下使用内网dns,或者需要通过udp访问内网机器等----> udp代理模式 4. 在外网使用HTTP代理访问内网站点----> http代理模式 5. 搭建一个内网穿透ss,在外网如同使用内网vpn一样访问内网资源或者设备----> socks5代理模式 NPS项目Github地址:[https://url.zeruns.com/nps](https://url.zeruns.com/nps) NPS官方中文文档:[https://url.zeruns.com/NPS_WD](https://url.zeruns.com/NPS_WD) ## 准备 **首先需要一台[云服务器或VPS](https://blog.zeruns.com/archives/383.html),要有公网IP的,下面推荐一些:** - **[腾讯云](https://curl.qcloud.com/pvpzEIzN)**:[https://url.cn/0ReBKx8A](https://cloud.tencent.com/act/cps/redirect?redirect=2446&cps_key=69aab81d20a9e10e5ad56107d5303535&from=console) - **[阿里云云小站](https://www.aliyun.com/minisite/goods?taskPkg=2022cgj&pkgSid=278471&userCode=jdjc69nf)**:[https://dashi.aliyun.com/site/zeruns/yxz?userCode=jdjc69nf](https://www.aliyun.com/minisite/goods?taskPkg=2022cgj&pkgSid=278471&userCode=jdjc69nf) - **[华为云](https://activity.huaweicloud.com/1111_promotion/index.html?fromacct=da3c489a-decc-49d0-9226-f09b495965b7&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905)**:[https://url.zeruns.com/hwy2023](https://activity.huaweicloud.com/1111_promotion/index.html?fromacct=da3c489a-decc-49d0-9226-f09b495965b7&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905) - **[指点云](https://url.vpszj.cn/zhidianyun)**:[https://blog.vpszj.cn/archives/tag/指点云](https://blog.vpszj.cn/archives/tag/指点云) - **[雨云](https://url.vpszj.cn/rainyun)**:[https://blog.vpszj.cn/archives/tag/雨云](https://blog.vpszj.cn/archives/tag/雨云) - **[天翼云](https://blog.zeruns.com/archives/659.html):[https://www.ctyun.cn/agent/#/invitation/10366809](https://blog.zeruns.com/archives/659.html)** **其他性价比高的服务器推荐:[https://blog.zeruns.com/archives/383.html](https://blog.zeruns.com/archives/383.html)** **如果你是新用户有优惠,建议能买多长时间就买多长时间,因为优惠价的服务器到期后续费很贵的,而且新用户优惠只能买一次,所以尽量买长时间点划算。** **推荐买带宽大点的,因为内网穿透到你家的带宽取决于你服务器的带宽,如果你服务器只有1兆带宽,那你访问家里设备的带宽也只有1兆。** **购买服务器后选择安装Centos7系统,然后用SSH登陆服务器。SSH客户端软件推荐Putty或Mobaxterm。** 也可使用Windows系统,下载Windows版服务端,管理员身份运行cmd,进入程序目录运行 `nps.exe start` 。 win版服务端下载地址:[https://url.zeruns.com/nps_win](https://url.zeruns.com/nps_win) ## 搭建NPS服务端 下面有多种搭建方法,选其中一种就行。 搭建好后记得在控制台开放端口,面板端口是8080,与客户端通信端口是8024。 ### Docker 首先需要安装Docker。 Docker方式是支持多平台的,x86、ARM都可以。 **Docker安装脚本:** ```bash sudo curl -sSL https://get.daocloud.io/docker | sh ``` 把上面的命令复制到SSH终端运行。 Docker手动安装教程:[https://url.zeruns.com/docker](https://url.zeruns.com/docker) **安装NPS服务端:** ```bash # 创建 /opt/nps 目录存放配置文件 mkdir /opt/nps # 安装wget并且下载配置文件 yum install -y wget && wget https://img.zeruns.com/down/conf.zip # 解压配置文件到 /opt/nps 目录 unzip conf.zip -d /opt/nps # 拉取 ffdfgdfg/nps 镜像 docker pull ffdfgdfg/nps # 运行 nps 容器,配置文件夹 conf 在 /opt/nps/conf 目录下 docker run -d --name=nps --restart=always --net=host -v /opt/nps/conf:/conf ffdfgdfg/nps # 查看日志 docker logs nps ``` **安装完后在浏览器打开:[http://你服务器IP:8080](https://blog.zeruns.com/)** **使用用户名和密码登陆(默认admin/123,正式使用一定要更改,修改`/opt/nps/conf/nps.conf`配置文件中的web_password)** ![](https://tc.zeruns.com/images/2022/03/22/image.png) ![](https://tc.zeruns.com/images/2022/03/22/imagef6a0a00c91b94a60.png) ### 安装包安装 如果需要安装在ARM或MIPS架构上,到这复制对应版本的下载链接替换下面的链接:[https://url.zeruns.com/NPS_down](https://url.zeruns.com/NPS_down) ```bash # 安装wget并且下载NPS服务端并重命名为 nps.tar.gz yum install -y wget && wget --no-check-certificate -O nps.tar.gz https://img.zeruns.com/down/linux_amd64_server.tar.gz # 创建一个名为nps的目录并且解压NPS服务端文件到此目录下,并且进入到nps这个目录下 mkdir /opt/nps && tar -zxvf nps.tar.gz -C /opt/nps && cd /opt/nps # 安装NPS并启动 ./nps install && sudo nps start ``` 这样NPS服务端就算安装完成了,这时浏览器访问:[http://你服务器IP:8080](https://blog.zeruns.com/) 即可跳转到NPS的管理页面。默认WEB管理账号是amdin,密码是123。如果需要更改的话就修改conf目录下的nps.conf,这里就不再赘述了。 ### 源码编译安装 源码编译安装方式不推荐小白。 如果下面安装go的命令无效,建议百度手动安装go的方法。 ```bash # 安装 go yum install go # 下载源码并进入nps目录 git clone https://github.com/ehang-io/nps && cd nps # 编译服务端 go build cmd/nps/nps.go # 安装NPS并启动 ./nps install && sudo nps start ``` 这样NPS服务端就算安装完成了,这时浏览器访问:[http://你服务器IP:8080](https://blog.zeruns.com/) 即可跳转到NPS的管理页面。默认WEB管理账号是amdin,密码是123。如果需要更改的话就修改conf目录下的nps.conf,这里就不再赘述了。 ## 客户端安装使用 首先登陆进来NPS服务端的WEB管理页面,找到【客户端】,点击【新增】。 ![](https://tc.zeruns.com/images/2022/03/22/image6f9d2ac819f17146.png) 备注这里就根据需要写,其他的看着来就行。最后点击【新增】 ![](https://tc.zeruns.com/images/2022/03/22/image18cd86c3fc12adf4.png) 然后就能看到我们添加的客户端了,目前是处于离线状态。左边有一个小加号,点击可以展开。下面的客户端命令我们一会要用。下面是各种客户端安装方法,选一种适合的就行。 ![](https://tc.zeruns.com/images/2022/03/22/imaged6cdc4cc472154ac.png) ### Windows 首先下载Windows版的客户端:[https://url.zeruns.com/nps_win](https://url.zeruns.com/nps_win) ![](https://tc.zeruns.com/images/2022/03/22/imagea5257c475d3704a3.png) 我在需要运行NPS客户端的Windows设备的C盘根目录下建立一个名字叫【npc】的目录,将刚才下载的NPS客户端的文件解压后放到里面。这里注意,我们只要【npc.exe】文件即可。 然后以管理员身份运行命令提示符,输入 `cd /npc` 跳转到npc目录下,输入以下命令: ```bash npc.exe install 客户端命令(记得不要复制./npc 只要后边的) ``` ![](https://tc.zeruns.com/images/2022/03/22/imagebeee3292965eb824.png) 这样我们的npc就添加到系统服务里了,再找到 控制面板 - 管理工具 - 服务 里找到【nps内网穿透客户端】,找到【恢复】选项卡,按照下图中设置即可。设置完成后就可以启动服务了。 ![](https://tc.zeruns.com/images/2022/03/22/image9717228bc179cbde.png) 这样客户端就连接到了NPS的服务端了 ![](https://tc.zeruns.com/images/2022/03/22/image36628054fc13c645.png) ### Linux Docker 首先需要安装Docker。 Docker方式是支持多平台的,x86、ARM都可以,NAS用户可以通过这个方法安装客户端,一般NAS系统都支持docker。 **Docker安装脚本:** ```bash sudo curl -sSL https://get.daocloud.io/docker | sh ``` 把上面的命令复制到SSH终端运行。 Docker手动安装教程:[https://url.zeruns.com/docker](https://url.zeruns.com/docker) **安装NPS客户端NPC:** ```bash # 拉取 ffdfgdfg/nps 镜像 docker pull ffdfgdfg/npc # 运行 npc 容器,按提示改好命令,如下图所示 docker run -d --name=npc --restart=always --net=host ffdfgdfg/npc -server=<ip:port> -vkey=<web界面中显示的密钥> <以及一些其他参数> # 查看日志 docker logs npc ``` 这样NPS客户端就算安装完成了 ![](https://tc.zeruns.com/images/2022/03/22/image4fbb4fd07ef6b06a.png) ![](https://tc.zeruns.com/images/2022/03/22/imagec5fa22e59306d81e.png) ### Linux 安装包方式 如果需要安装在ARM或MIPS架构上,到这复制对应版本的下载链接替换下面的链接:[https://url.zeruns.com/NPS_down](https://url.zeruns.com/NPS_down) ```bash # 安装wget并且下载NPC服务端并重命名为 npc.tar.gz ,可根据自己系统将yum替换为apt或其他 yum install -y wget && wget --no-check-certificate -O npc.tar.gz https://img.zeruns.com/down/linux_amd64_client.tar.gz # 创建一个名为npc的目录并且解压NPC服务端文件到此目录下,并且进入到npc这个目录下 mkdir /opt/npc && tar -zxvf npc.tar.gz -C /opt/npc && cd /opt/npc # 安装NPC并启动,按提示改好命令,如下图所示 ./npc install -server=<ip:port> -vkey=<web界面中显示的密钥> <以及一些其他参数> # 启动NPC sudo npc start ``` 这样NPS客户端就算安装完成了 ![](https://tc.zeruns.com/images/2022/03/22/image4fbb4fd07ef6b06a.png) ![](https://tc.zeruns.com/images/2022/03/22/imagebbb662032acbf0c3.png) ### 建立内网穿透隧道 按照上面的方法安装好客户端后就可以新建内网穿透隧道了,我这里以Windows的远程桌面服务为例,需要将TCP 3389端口映射出去,所以新建一个TCP隧道,你们根据自己实际需要选择TCP还是UDP。 ![](https://tc.zeruns.com/images/2022/03/22/imagec052622f45c924fe.png) 客户端ID填写你上面添加的客户端的ID,服务端端口填写想映射到服务器的哪个端口,目标IP端口填写你客户端想要映射的端口,IP填127.0.0.1表示本机,也可以填局域网内的其他设备的IP,可将局域网内的其他设备端口映射出去,我这里就填了本机的3389端口,填好后点击新增就行。 ![](https://tc.zeruns.com/images/2022/03/22/image15cffad3e1131c60.png) 接着你就可以通过这个服务器的这个端口访问到你内网的机器 ![](https://tc.zeruns.com/images/2022/03/22/imagea5c8f732eb844c7b.png) 到这里就完成了,你可以自己继续研究一下更多的功能,也可以看看官方的说明文档。 ## 推荐阅读 * **高性价比和便宜的VPS/云服务器推荐:** [https://blog.zeruns.com/archives/383.html](https://blog.zeruns.com/archives/383.html) * 搭建内网穿透服务器,带Web面板:[https://blog.zeruns.com/archives/397.html](https://blog.zeruns.com/archives/397.html) * 怎样搭建个人博客:[https://blog.zeruns.com/archives/218.html](https://blog.zeruns.com/archives/218.html) * 如何搭建一个表白墙网站(LoveWall):[https://blog.zeruns.com/archives/634.html](https://blog.zeruns.com/archives/634.html) * 我的世界服务器搭建教程:[https://blog.zeruns.com/tag/mc/](https://blog.zeruns.com/tag/mc/) 最后修改:2023 年 01 月 08 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 5 如果您觉得我的文章有帮助,请随意赞赏,赞赏有助于激发博主的热情,感谢!
14 条评论
评论区显示具体的ip是怎么做到的呢(/ω\)
nps 怎么和群晖结合起来呢?是否可以实现VPS的80端口或443 端口给到群晖上的网站?
按教程搭建好NPS服务器,然后在群晖里装客户端就行,用docker也可以
目前,自己手里有一台黑群晖,家在贵阳。运营商不给公网IP,自己申请了一个10年期的域名,想建立一个自己的博客网站。不知道怎么办才好。采用的博客引擎是Halo,用docker 部署的。希望博主能帮忙提供一个好的方案。
博客建议用云服务器搭,家宽搭网站查到是要被停宽带并拉黑的
随着自己网站内容的增多,云服务的存储容量受限,而且以后迁移也麻烦,因此想用自己家里的群晖做主机通过VPS转发。
那个http支持https吗
支持
腾讯云直接发警告然后自动给删了= =
警告什么,是说你翻墙吗,用的国内还是国外服务器,内网穿透的流量确实有点像翻墙容易误判,最好用国内服务器
nps太舒服了
nps目前还有点小bug,不过用起来确实方便
有WEB面板才是方便,管理更快捷。
nps我一直再用,感觉比内网穿透要好太多。