nps

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

  • 几乎支持所有协议
  • 支持内网http代理、内网socks5代理、p2p等
  • 简洁但功能强大的WEB管理界面
  • 支持服务端、客户端同时控制
  • 扩展功能强大
  • 全平台兼容,一键注册为服务
    也就是说,我们可以使用nps映射本地的网站服务,也可以映射3389端口作为远程桌面使用
    NPS

内网穿透

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

准备

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

NPS安装与远程桌面配置

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

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

服务器端安装与配置

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

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

在终端输入命令 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

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

然后使用wget命令下载

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

下载完成之后,解压

tar zxvf linux_amd64_server.tar.gz

目录结构如下:

首先安装nps

sudo ./nps install

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

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

nps

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

# nps 
2021/01/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
2021/01/16 17:33:40.076 [I] [connection.go:36]  server start, the bridge type is tcp, the bridge port is 8024
2021/01/16 17:33:40.084 [I] [server.go:200]  tunnel task  start mode:httpHostServer port 0
2021/01/16 17:33:40.084 [I] [connection.go:71]  web management start, access port is 8080
2021/01/16 17:33:40.090 [I] [connection.go:62]  start https listener, port is 443
2021/01/16 17:33:40.090 [E] [http.go:82]  listen tcp 0.0.0.0:443: bind: address already in use

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

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

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

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

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

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

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

远程桌面及客户端配置

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

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

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

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

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

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

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

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

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

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

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

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

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

转自:https://blog.kaygb.com/728.html

最后修改:2022 年 01 月 07 日
如果觉得我的文章对你有用,请随意赞赏