致优领域出售之后,服务器就闲置了下来,于是我把博客更换到了这台拥有5m带宽的轻量应用服务器上了,速度快了许多。本着物尽其用的原则,正好也想好好利用一下这5M的高速带宽,于是萌生了做内网穿透服务器的角色,映射一下windows的3389端口用来做远程桌面。

nps

首先介绍一下nps,nps是一款轻量级、高性能、功能强大的内网穿透代理服务器,有以下的特点:

  • 几乎支持所有协议
  • 支持内网http代理、内网socks5代理、p2p等
  • 简洁但功能强大的WEB管理界面
  • 支持服务端、客户端同时控制
  • 扩展功能强大
  • 全平台兼容,一键注册为服务

也就是说,我们可以使用nps映射本地的网站服务,也可以映射3389端口作为远程桌面使用。

image-20201216220513453

内网穿透

这个词大家可以搜索一下,有很多很多的解释,如果我们想把本地的服务映射到公网让别人可以访问,如果我们没有公网IP,那么就只能使用内网穿透的方式来映射,当然,速度取决于公网服务器的带宽。

准备

  • nps安装包
  • 一台公网服务器(带宽越大越好)
  • 本地电脑
  • 善于思考的大脑

NPS安装与远程桌面配置

这里是官方文档:https://ehang-io.github.io/nps/#/

nps官方提供了三种方式安装,安装包安装,编译安装已经docker安装,这里我们选择安装包安装。

服务器端安装与配置

打开release页面,我们发现这里有好多好多的安装包,那么我们选择哪个下载呢?

image-20201216211138513

这就需要查看一下我们服务器的架构了,根据架构来选择需要下载的安装包

在终端输入命令uname -a

[root@xxx nps]# uname -a
# Linux xxx 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

image-20201216211329787

显示x86_64意思就是这是64位的架构,我们选择amd_64_server,复制下载链接。image-20201216211558625

然后使用wget命令下载

wget https://github.com/ehang-io/nps/releases/download/v0.26.9/linux_amd64_server.tar.gz

image-20201216211753593

下载完成之后,解压

tar zxvf linux_amd64_server.tar.gz

目录结构如下

image-20201216211923631

首先安装nps

sudo ./nps install

打开conf目录,编辑nps.conf,host填写服务器IP,password自己设置管理员密码

image-20201216212305030

这时,我们启动nps,这里直接使用nps命令启动,我们可以看到所有的日志信息。

nps

由于我开启了nginx服务,占用了443端口,所以启动失败如下:

# nps 
2020/12/16 17:33:39.678 [I] [nps.go:202]  the version of server is 0.26.9 ,allow client core version to be 0.26.0
2020/12/16 17:33:40.076 [I] [connection.go:36]  server start, the bridge type is tcp, the bridge port is 8024
2020/12/16 17:33:40.084 [I] [server.go:200]  tunnel task  start mode:httpHostServer port 0
2020/12/16 17:33:40.084 [I] [connection.go:71]  web management start, access port is 8080
2020/12/16 17:33:40.090 [I] [connection.go:62]  start https listener, port is 443
2020/12/16 17:33:40.090 [E] [http.go:82]  listen tcp 0.0.0.0:443: bind: address already in use

于是,我在配置文件注释了http代理,结果依旧启动失败,显示端口占用。

image-20201216212436834

在我不懈的努力寻找下,我发现修改这里没有用,要修改/etc/nps/conf/nps.conf这个配置文件才行。

image-20201216212652937

注释掉那个几行的http代理,然后修改下方web面板的用户名,ip以及密码

image-20201216212749752

然后启动,居然没有错误,显示这些东西

image-20201216212833657

然后我访问ip:8080,成功进入web页面

image-20201216212919064

登录之后,欣喜若狂有木有。

image-20201216212951833

这时可以使用nps stop退出nps,然后再使用nps start命令重新启动,就可以后台运行了,更多的配置内容请参考官方文档。

远程桌面及客户端配置

点击客户端,然后点击新增客户端

image-20201216213208913

允许客户端通过配置文件连接设置为否

image-20201216213234803

点击下方保存按钮。然后记住这个id

接下来配置TCP隧道,点击左侧TCP隧道,选择新增

image-20201216213343585

客户端ID要填写正确,就是我们刚刚配置的ID,服务端端口也就是链接远程服务时ip:10002端口。目标就是本地需要映射的端口,3389是远程桌面端口。

image-20201216213456424

这里配置好之后,我们回到客户端页面,点击加号会下手下面的详细信息,我们复制一下客户端命令

./npc -server=ip:8024 -vkey=key -type=tcp

image-20201216213733566

接下来需要前往release页面下载windows客户端,根据自己电脑的位数来选择,这里我选择windows_amd64_client.tar.gz

image-20201216214011249

下载完成之后解压到d盘nps目录下

使用CMD或者其他命令行工具运行即可,这里注意一点,我们上方复制的客户端命令,在windows下CMD是不需要前面的./,就像下面这样:

npc -server=ip:8024 -vkey=key -type=tcp

如果是使用git bash命令行工具,那么则需要添加./

image-20201216214540346

这样就启动成功了,刷新一下web页面,显示在线就OK了

image-20201216214613836

打开远程桌面

以win10为例,在设置里启用远程桌面

image-20201216214701619

image-20201216214726764

然后手机端使用RD Client(微软官方远程桌面app),右上角新建远程桌面,PCname 填写映射的服务器ip+端口,账号添加你需要远程控制的电脑用户

image-20201216215418541

然后保存,链接体验吧!

版权声明
本文作者珂泽
文章来源风也雨忆笙
原文链接
转载说明非特殊说明文章均为原创,页脚已标识是否允许转载,转载请注明出处!感谢您的支持!
微信公众号
最后修改:2020 年 12 月 16 日 10 : 10 PM
如果您觉得我的文章有帮助,请随意赞赏!