NPS内网穿透
背景
现在我需要搭建一个自己的文件存储网站或者是博客,但是我没钱,买不起大容量的服务器,所以我需要在本地服务器上把服务搭建出来,然后在穿透出去,从而
实现我在外网访问自己的服务器。
需要设备
本地服务器一台
带公网IP的服务器一台
第一步:安装NPS服务端
NPS是一个开源的穿透服务,和FRP一样,都是免费的,但是我这里使用NPS是因为NPS对小白比较友好,客户端只要连接上服务端就可以,剩下的配置直接在可
视化界面上配置了,不需要像FRP一样每台客户端都需要手动去配置穿透服务器。
首先使用SSH工具连接到有公网IP的服务器,我这里使用的是FinalShell这个工具。
然后到Githun上找到对应自己服务器的服务端,NPS项目在Githun上的地址:https://github.com/ehang-io/nps
我这里使用的是linux_amd64_servicer.tar.gz这个,找到了之后右键,复制连接地址
然后回到服务器上输入wget 粘贴刚刚复制的连接
进行下载
下载完成后文件是在公网服务器上的ROOT目录下的,输入tar -zxvf 文件名
进行解压
解压完成后,我们可以看到root目录下面多出了三个文件,分别是conf、nps、web,这三个文件都是NPS的文件
输入下面命令进行安装
1 |
|
安装完成后输入下面命令服务端的启动
1 |
|
启动好了之后我们就可以在浏览器输入服务器地址加8080端口进行访问管理了
登录、配置服务
默认的登录名为admin
,默认的密码为123
,登录进去之后就可以看到NPS的管理界面了
首先我们先新增一个客户端,点击【客户端】,然后点击【新增】
【备注】随便填写,【允许客户端通过配置文件连接】我们可以选择【否】,这样可以方便管理,
还有效避免了端口冲突,【唯一验证密钥】我们可以手动填写,
也可以留空,留空则自动生成,填写完成后点击【新增】按钮
添加成功后我们就可以在【客户端】里面看到了,但是现在是离线状态,还没有连接
现在我需要添加一条TCP隧道,用于远程SSH连接我的内网服务器,首先点击【TCP隧道】,然后点击【新增】
【客户端ID】这个需要和【客户端】里面的对应上,【备注】可以随便填,【服务端端口】需要填的是穿透出来后我们是通过那个端口访问,我这里填的是23端
口,意思就是我待会需要用SSH连接我内网服务器的时候我是通过公网服务器的23端口转过去的,目标IP可以直接填127.0.0.1:22,SSH默认的端口是22端口,本
机地址用127.0.0.1代替,填写完成后点击【新增】完成。
新增完成后就可以在TCP隧道里面看到刚刚新增的记录了
连接服务
服务器那边配置好之后就可以到客户端这边连接了
首先先到Github上下载对应自己电脑的客户端,我这里下载的是windows_amd64_claent.atr.gz这个
下载完成后解压。
进入解压出来的文件夹,继续解压,继续进入解压出来的文件夹,里面有一个conf文件夹和一个npc程序
我们进入conf文件夹,里面有两个conf文件,我们需要改的是npc.conf这个文件
用记事本打开文件,然后删除[health_check_test1]
以下的配置
然后修改地址和连接密钥,然后保存
然后双击刚刚看到的NPC程序运行
这时候我们就可以在管理面板里面看到客户端是在线的了
刚刚我们穿透的是SSH服务,服务端端口填的是23,那么现在我就可以用公网IP加23端口访问我内网服务器的SSH了,但是因为我这里客户端是WINDOWS系统,
没有SSH服务,所以就不演示了,linux的客户端使用方法和这个是一样的,只是在配置文件配置好了之后使用./npc
来启动客户端
结尾彩蛋
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!