NPS内网穿透

背景

现在我需要搭建一个自己的文件存储网站或者是博客,但是我没钱,买不起大容量的服务器,所以我需要在本地服务器上把服务搭建出来,然后在穿透出去,从而

实现我在外网访问自己的服务器。

需要设备

本地服务器一台

带公网IP的服务器一台

第一步:安装NPS服务端

NPS是一个开源的穿透服务,和FRP一样,都是免费的,但是我这里使用NPS是因为NPS对小白比较友好,客户端只要连接上服务端就可以,剩下的配置直接在可

视化界面上配置了,不需要像FRP一样每台客户端都需要手动去配置穿透服务器。

首先使用SSH工具连接到有公网IP的服务器,我这里使用的是FinalShell这个工具。

1-1

然后到Githun上找到对应自己服务器的服务端,NPS项目在Githun上的地址:https://github.com/ehang-io/nps

1-2

我这里使用的是linux_amd64_servicer.tar.gz这个,找到了之后右键,复制连接地址

1-3

然后回到服务器上输入wget 粘贴刚刚复制的连接进行下载

1-4

下载完成后文件是在公网服务器上的ROOT目录下的,输入tar -zxvf 文件名进行解压

1-5

解压完成后,我们可以看到root目录下面多出了三个文件,分别是conf、nps、web,这三个文件都是NPS的文件

1-6

输入下面命令进行安装

1
./nps install

1-7

安装完成后输入下面命令服务端的启动

1
nps start

1-8

启动好了之后我们就可以在浏览器输入服务器地址加8080端口进行访问管理了

1-9

登录、配置服务

默认的登录名为admin,默认的密码为123,登录进去之后就可以看到NPS的管理界面了

2-1

首先我们先新增一个客户端,点击【客户端】,然后点击【新增】

2-2

【备注】随便填写,【允许客户端通过配置文件连接】我们可以选择【否】,这样可以方便管理,

还有效避免了端口冲突,【唯一验证密钥】我们可以手动填写,

也可以留空,留空则自动生成,填写完成后点击【新增】按钮

2-3

添加成功后我们就可以在【客户端】里面看到了,但是现在是离线状态,还没有连接

2-4

现在我需要添加一条TCP隧道,用于远程SSH连接我的内网服务器,首先点击【TCP隧道】,然后点击【新增】

2-5

【客户端ID】这个需要和【客户端】里面的对应上,【备注】可以随便填,【服务端端口】需要填的是穿透出来后我们是通过那个端口访问,我这里填的是23端

口,意思就是我待会需要用SSH连接我内网服务器的时候我是通过公网服务器的23端口转过去的,目标IP可以直接填127.0.0.1:22,SSH默认的端口是22端口,本

机地址用127.0.0.1代替,填写完成后点击【新增】完成。

2-6

新增完成后就可以在TCP隧道里面看到刚刚新增的记录了

2-7

连接服务

服务器那边配置好之后就可以到客户端这边连接了

首先先到Github上下载对应自己电脑的客户端,我这里下载的是windows_amd64_claent.atr.gz这个

3-1

下载完成后解压。

3-2

进入解压出来的文件夹,继续解压,继续进入解压出来的文件夹,里面有一个conf文件夹和一个npc程序

3-3

我们进入conf文件夹,里面有两个conf文件,我们需要改的是npc.conf这个文件

3-4

用记事本打开文件,然后删除[health_check_test1]以下的配置

3-5

然后修改地址和连接密钥,然后保存

3-6

然后双击刚刚看到的NPC程序运行

3-7

这时候我们就可以在管理面板里面看到客户端是在线的了

3-8

刚刚我们穿透的是SSH服务,服务端端口填的是23,那么现在我就可以用公网IP加23端口访问我内网服务器的SSH了,但是因为我这里客户端是WINDOWS系统,

没有SSH服务,所以就不演示了,linux的客户端使用方法和这个是一样的,只是在配置文件配置好了之后使用./npc来启动客户端

结尾彩蛋


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!