nps内网穿透_实现Windows桌面远程访问
nps简介
nps是是一款轻量且功能强大的内网穿透工具,支持tcp、udp协议的流量转发,能够实现远程访问局域网资源、远程桌面(Windows)等功能。除此之外,nps还支持内网http代理、内网socks5代理、p2p等。支持Web图形化管理方式并集成多用户模式。点击前往nps项目网页
准备工作
1. 首先,要安装nps必须要有一台静态公网IP的服务器,这里,使用的是阿里云的轻量级应用服务器(CentOS7.3);
2. 内网设备(Windows10专业版台式机一台);
3. 下载对应操作系统最新版本(服务端、客户端)的nps,下载地址:https://github.com/cnlh/nps/releases
安装服务端
登录服务器
使用ssh工具进行登录。Windows系统中可以使用PuTTY[官网下载|百度网盘下载(yez0)]或WinScp[官网下载|百度网盘下载(nyk7)]进行ssh连接,苹果电脑可直接在终端中输入命令进行登录。这里使用的则是xshell进行命令终端工具(商业软件)[官网下载|百度网盘下载(3jk9)]
下载服务端
ssh连接成功之后,首先创建一个目录用于存放下载的服务端文件,这里在/root目录下创建一个名为nps的目录并进入此目录。
使用wget命令下载对应的服务端:
将复制的链接粘贴到wget 后面:
[root@aliyun nps]# wget https://github.com/ehang-io/nps/releases/download/v0.26.0/linux_amd64_server.tar.gz
耐心等待下载完成:
下载完成之使用ls命令进行产看:
如果下载速度太慢,可将复制的链接粘贴到迅雷中进行下载,速度会快一些,下载完成后可以用WinScp或者FileZila[官网下载|百度网盘下载(5r7w)]上传到对应目录即可。
配置安装服务端
在进行安装之前,确保防火墙配置正确,放行需要的端口(或者关闭防火墙,阿里云服务器的控制台可以设置防火墙)。检查方式如下:
如果得到的接入与图中相同,则证明端口已全部放行,可以进行安装。否则可以使用以下命令来关闭防火墙:
这里使用的是CentOS7的版本,其关闭防火墙的命令如下:
systemctl stop firewalld #停止
systemctl disable firewalld #禁用
下面则进行安装配置:
1. 解压文件并查看
[root@aliyun nps]# tar -zxvf linux_amd64_server.tar.gz
[root@aliyun nps]# ls -l
2. 进入conf目录编辑配置文件
[root@aliyun nps]# cd conf
在编辑之前先备份一下nps.conf配置文件:
[root@aliyun conf]# cp nps.conf nps.conf.backup
[root@aliyun conf]# vim nps.conf
只需要配置以下几个参数即可,其他的部分可以不用修改
#bridge
bridge_type=tcp# 底层通信协议
# 底层通信端口,默认8024,如已被占用需要更换其他端口
bridge_port=8024
bridge_ip=0.0.0.0
# 当客户端以配置文件模式启动时会用到的验证密钥,可自行设置,这里用不到
public_vkey=<通信密钥>
#web 用于远程登录web界面,进行配置管理
web_host=<服务器IP或域名>
web_username=<设置用户名>
web_password=<设置密码>
web_port = <网页面板端口>
web_ip=0.0.0.0
#loglevel=7 日志记录配置,服务器空间可贵,可以选择关闭
修改完成后保存并退出;使用cd命令切换到含有nps这个文件的目录下,这里是上一级目录中含有,所以先返回上一级目录;
3. 使用./nps 查看运行情况
运行结果如果和图中情况一样,则说明配置服务端成功。
下一步,Ctrl+C先退出,执行:
./nps stop 先停止服务
4. 使用./nps install 安装服务,注意:安装成功后nps服务的配置文件会复制到/etc/nps/目录下,后期需要修改配置的时候要在/etc/nps/目录下配置里面的文件nps.conf
./nps start 运行nps服务
5. 使用netstat -antp 查看运行状态,显示如下,说明nps服务已经成功运行
至此,服务端的安装完成!
配置nps服务
登录web端
在浏览器中输入服务器IP地址:端口号Eg:192.168.6.30:8080
登录界面如图:
如果登录界面打不开,有可能是服务器防火墙配置问题,这里使用的是阿里云的服务器,需要在控制台里防火墙添加一条规则,放行nps服务用到的端口:
输入用户名和密码登录nps服务的web管理界面:
配置客户端
1. 点击客户端,之后点击新增:
2. 客户端创建完成如下图所示:
需要注意的地方:
配置tcp隧道
这里以Windows远程桌面为例,远程登录默认使用的端口号为3389。假设局域网内有一台IP为192.168.6.99的Windows设备,如果在同一局域网下,只要访问192.168.6.99:3389就可以进行连接。但如果想要从外网连接,则必须添加一条tcp转发规则,把内网设备的3389端口,映射到服务端的某个端口,这里使用服务器的10001端口。服务器IP为,映射完成后,在外网访问*.*.*.*:10001的请求就转发到192.168.6.99:3389,也就是说,通过访问服务器的10001端口就可以连接内网的windows桌面。具体配置如下:
点击tcp隧道,新增:
填写完成之后点击新增,至此,nps服务配置完成。
内网设备-Windows10电脑的配置
下载Windows平台的nps客户端
下载速率慢可以复制链接到迅雷中下载
下载完成后,将文件解压,这里解压到C:\用户\用户名\下(也就是)。
连接服务端
Win + R 打开命令窗口,切换到npc.exe可执行文件所在的目录(cd 文件路径),这里因为文件就在cmd命令窗口打开时的路径,所以不用切换。
执行nps服务配置时,客户端下方的红色命令(./不用输)
连接成功截图如下:
这时会发现nps Web端中客户端和隧道状态处于在线状态:
隧道:
客户端:
至此,Windows客户端配置完成。
远程登录验证
为了模拟外网环境,手机开热点,笔记本电脑进行连接:
1. 联网之后,在笔记本上操作:在Windows开始菜单找到附件>远程桌面连接
2. 输入登录用户名(内网电脑当前登录用户的账户名称,联网用户需要输入联网的账户名)和计算机名(填写服务器IP地址:端口号),点击连接,输入用户密码,就能看到内网Windows电脑桌面了
小结:
到这里,nps实现内网远程桌面的访问就成功地实现了,在这里要注意:服务器的8024端口用于服务器和内网装有nps客户端的通信;8080端口用于web端的nps服务配置;10001端口是内网设备的映射服务器端口,远程连接时通过访问服务器的10001端口,访问请求将转发到内网设备(Windows10)的3389远程登录端口。
服务器端可以将服务添加进启动项,这样可以保证服务器重启时nps服务也能顺利启动,省去手动操作的麻烦。内网设备(装有客户端的电脑)也可将连接指令添加进开机启动项,保证远程链接的不间断。
来源:oschina
链接:https://my.oschina.net/u/4284321/blog/4260954