因为自己算是一个纯小白,刚接触云服务器的时候看了很多教程,在frp和nps二者之间权衡之后选择了nps,我个人觉得nps要简单得多。作为一个资深的伸手党(其实不是),很多人仅仅是为了快速实现内网穿透的功能,并不想研究Linux各种命令行的用法和意义,所以我做了这个教程来快速实现nps的设置。


背景说明:
  我目前使用的是腾讯云CentOS7.x 版本,然后是安装的自带的宝塔面板,上传文件和编辑基本都是用 finalshell 实现,当然你也可以直接用宝塔上传或者用Xshell,Xftp。我这里是希望能通过云服务器实现Windows电脑之间的互相访问,因此服务端是Linux,客户端是Windows,后续也是下载对应的文件。


一、 下载nps以及npc文件

官方下载


官方 的Github下载页面在此,你可以根据自己的需求下载最新版本。

下载页面
看好对应的版本,下载到桌面,解压,分别命名为nps(server)以及npc(client),如下图:
在这里插入图片描述

已配置好的文件

当然我更推荐直接用我给的版本,这样也许更加方便,百度云链接如下:
链接:https://pan.baidu.com/s/1j07lMCwknEgNgG1YQ39Axw
提取码:1111


二、 修改配置文件并上传安装

修改配置文件

用记事本打开配置文件如图:
在这里插入图片描述
将此处改为自己服务器的公网IP:
在这里插入图片描述

web_host=a.o.com   # 服务器IP地址
web_username=admin  # 管理界面用户名
web_password=123 # 登录密码
web_port = 8080  # nps管理界面的端口

上传并安装

我这里使用的是finalshell上传到 /root目录,你也可以登录宝塔面板中上传文件,注意是上传nps文件。
  宝塔上传文件:
在这里插入图片描述
finalshell 拖拽上传文件:
在这里插入图片描述

如上图,可以看到 /root 目录下面已经由了 nps文件夹。

cd /root/nps # 进入文件目录
./nps install # 安装nps

在这里插入图片描述
可能遇到的错误:bash: ./nps 权限不够
解决方法:

cd /root/nps # 进入文件目录
chmod +x nps
./nps install # 安装nps

启动nps

nps start # 启动nps
nps # 查看运行情况

在这里插入图片描述
如果在这一步都没有问题,但是后面无法进入管理页面,请注意修改配置文件,将这一部分去掉,可能的原因是由于端口被其他服务占用了。
在这里插入图片描述

三、 后台设置

放行端口

到云服务器的防火墙安全组里面放行需要用到的端口,如8080(管理页面的端口),8024(tcp通道端口)。
在这里插入图片描述
同时去宝塔面板内查看是否放行端口。
在这里插入图片描述

登录后台

后台地址为 ip:8080
在这里插入图片描述
输入之前设置的用户和密码 默认为 admin 和123

添加客户端

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点击加号,记住下面的一行命令,之后需要用到。同时记住对应的ID,下面要用。

添加tcp隧道

在这里插入图片描述
在这里插入图片描述

客户端ID    # 填写上面对应的ID
服务端端口   #  随意选择一个未被占用的端口 比如 40000
目标  # 直接填写3389,表示连接到客户端的3389端口,也是Windows远程桌面的端口

放行端口

将上面的服务端端口放行,在腾讯云和宝塔面板中检查是否放行。

运行客户端

在下载解压好的npc文件中,新建一个bat文件,用记事本编辑,输入以下内容:

@echo off

if "%1"=="h" goto begin

start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit

:begin
npc -server=ip 8024 -vkey=uq8qcqmb -type=tcp  # 替换成上面出现的命令  去掉  ./

双击运行即可。

此时你会发现nps管理页面中的连接显示在线,说明成功了。
在这里插入图片描述

测试

win + r 输入mstsc
在这里插入图片描述
输入服务器ip:服务端端口 就是之前设置的服务端端口,就可以实现流量转发。
在这里插入图片描述
在这里插入图片描述
成功!
最后可以把bat文件快捷方式放到WINDOWS的startup里面实现开机启动。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐