5 分钟,使用内网穿透快速实现远程桌面

以下文章来源于AirPython ,作者星安果
1. 前言 今天给大家分享如何使用Frp实现内网穿透,控制电脑。
一提到远程桌面,可能大家都会想到 TeamViewer、向日葵等第三方软件
但是,它们大多是商业化软件,价格昂贵;即使有提供免费版本,也是各种限制,稳定性和安全性也没法得到保证
本篇文章将介绍如何使用「 内网穿透 」实现远程桌面管理
2. 内网穿透 Frp 常见实现内网穿透的方案有:Frp、Ngrok、natapp
其中,Frp 是一款开源的、简洁易用、高性能的反向代理软件
它支持 TCP、UDP、HTTP、HTTPS 等协议类型
官方地址:https://github.com/fatedier/frp
3. 操作步骤 下面以 Frp 内网穿透为例,实现远程桌面访问
3-1 部署 Frp 服务端到云服务器
根据系统平台,从下面链接下载 Frp 源码上传到云服务器
https://github.com/fatedier/f...
当然,也可以通过 wget 命令直接下载
# 使用wget命令下载0.37.1版本 wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz

接着,解压文件压缩包
# 解压文件 tar -zxvf frp_0.37.1_linux_amd64.tar.gz

【5 分钟,使用内网穿透快速实现远程桌面】然后,使用 vi/vim 编辑 Frp 服务端配置文件「 frps.ini 」
其中
  • bind_port 用于指定 Frp 服务端的端口号
  • dashboard_user、dashboard_pwd、dashboard_port 分别用于配置 Frp 后台管理的账号信息及访问端口号
# frps.ini[common] bind_addr = 0.0.0.0 bind_port = 7777 token = 12345678# 授权码# 配置frp后台管理账号 dashboard_user = admin dashboard_pwd = admin dashboard_port = 8888 enable_prometheus = true# 配置日志配置文件夹 log_file = /var/log/frps.log log_level = info log_max_days = 3

最后,开放云服务器防火墙端口、配置安全组规则,运行 Frp 服务
# 开放防火墙端口号、配置安全组规则 # 这里配置7777、8888端口号# 配置服务 mkdir -p /etc/frp cp frps.ini /etc/frp cp frps /usr/bin cp systemd/frps.service /usr/lib/a# 启动frps服务 systemctl enable frps systemctl start frps

3-2 访问 Frp 后台管理
打开浏览器,访问云服务器的 ip 地址 + 上面指定的端口号「 8888 」,输入上面的用户名和密码,即可以进入到 Frp 后台管理界面
5 分钟,使用内网穿透快速实现远程桌面
文章图片

管理界面实时查看 Frp 的运行状态及代理统计信息展示
3-3 部署 Frp 客户端到目标计算机
PS:由于目标计算机是 Windows,所有需要先下载 Windows 版本的 Frp 源码
首先,修改客户端配置文件「 frpc.ini 」
# 配置Frp客户端信息 # frpc.ini[common] server_addr = frp公网ip地址#frp服务公网ip地址 server_port = 7777# frps.ini中指定的端口号 token = 12345678# 和frps.ini中的token保持一致[ssh] type = tcp# 通信方式 local_ip = 127.0.0.1 local_port = 3389# 远程访问服务默认端口是3389 remote_port = 6000# 定义远程端口通过6000指向本地3389端口

然后,使用 CMD 中使用下面命令运行 Frp 客户端
# 运行frp客户端 frpc -c frpc.ini

最后,刷新 Frp Dashboard 管理页面,可以观察到 Frp 客户端的连接信息
5 分钟,使用内网穿透快速实现远程桌面
文章图片

3-4 目标计算机开机自启 - winsw
为了保证目标计算机永久在线,可以利用「 winsw 」将客户端连接配置做成一个服务,并配置为开机自启
项目下载地址:https://github.com/winsw/wins...
配置步骤如下:
  • 根据系统版本下载对应源码,解压后放置到 Frp 同一级目录下
  • 修改可执行文件名称为 winsw.exe
  • 新建一个配置文件 winsw.xml,添加运行 Frp 客户端的命令
配置信息如下:
# winsw.xml frp frp frp远程控制客户端服务 frpc -c frpc.ini reset

最后,使用管理员身份打开 CMD 终端,运行下面命令,使得 Frp 客户端能变成系统服务在后台运行了
# 管理员身份运行 winsw install winsw start

3-5 远程桌面访问
通过云服务器 ip + 客户端指定的远程访问端口号,就可以对目标计算机进行远程桌面控制了
假设云服务器 ip 为「 ... 」,Frp 客户端配置文件中指定的远程端口号为 6000
只需要使用命令「 mstsc 」进入到远程桌面窗口,计算机输入「 ...:6000 」,输入目标计算机的用户名、密码即可以远程控制目标计算机了
当然,也可以通过手机 App,比如「 RD Client 」来控制远程桌面
4. 最后 上面通过 Frp 内网穿透实现了远程桌面控制,实际使用下来体验真的不要太好
事实上内网穿透的用途远不止此,大家可以查阅资料去自行扩展
开源前哨 日常分享热门、有趣和实用的开源项目。参与维护 10万+ Star 的开源技术资源库,包括:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。

    推荐阅读