nps
首先介绍一下nps,nps是一款轻量级、高性能、功能强大的内网穿透代理服务器,有以下的特点:
- 几乎支持所有协议
- 支持内网http代理、内网socks5代理、p2p等
- 简洁但功能强大的WEB管理界面
- 支持服务端、客户端同时控制
- 扩展功能强大
- 全平台兼容,一键注册为服务
也就是说,我们可以使用nps映射本地的网站服务,也可以映射3389端口作为远程桌面使用
内网穿透
这个词大家可以搜索一下,有很多很多的解释,如果我们想把本地的服务映射到公网让别人可以访问,如果我们没有公网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了