因为自己算是一个纯小白,刚接触云服务器的时候看了很多教程,在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里面实现开机启动。