前言
远程操控类软件很多,包括 TeamViewer、ToDesk、向日葵、微软远程桌面、AnyDesk、Chrome远程桌面 、QQ远程协助等。
这些常用远程控制软件存在诸多问题,例如:
QQ远程协助:非常卡, 延迟高,跨平台支持较差
TeamViewer:体验最好,但官方对商业用途限制较多
向日葵:强制登陆、免费用户限速、限画质、有后门嫌疑
Todesk:强制登陆加各种限制
微软远程桌面:对需要内网穿透的情况,配置较为麻烦
RustDesk 是一款开源且完全免费的远程桌面控制软件,可以作为TeamViewer之类的开源替代。旨在提供安全便捷的自建方案。
RustDesk 的一些功能特征
- 开源免费!个人、公司均可用于商业用途
- 支持多平台: Windows、macOS、Linux、iOS、Android 客户端 APP 齐全
- 支持 Android 安卓受控
- 提供网页版,可以在浏览器上进行远程控制
- 轻量小巧,Windows 上甚至是“绿色”软件,不必安装就能运行
- 界面清爽简洁,上手简单,无需学习成本
- 低带宽占用:仅需 2-3M 即可流畅 1080P,支持 TCP 打洞端对端 P2P 连接
- 支持自行搭建中继服务器,保证网络速度稳定性和安全性
- 支持远程文件传输 (互传)、剪贴板互通等功能
- 可调整画面质量,可以设置 IP 白名单,支持代理连接等
- 支持端到端加密,以及基于角色的访问权限控制,数据传输足够安全
- 不区分控制端和受控端,可以控制别人,也能允许被控。
虽然RustDesk官方提供了免费的服务器供我们使用,但是由于服务器大多数在国外,导致我们使用的体验不是很好,毕竟是用别人的服务器,数据传输也不安全,官方也提供了自建服务的功能。
我们今天就来讲讲如何用Docker搭建一个属于自己的RuskDesk私有服务器。
针对Linux版本做使用说明:
- hbbs – RustDesk ID注册服务器
- hbbr – RustDesk 中继服务器
服务器要求
硬件要求很低,最低配置的云服务器就可以了,CPU和内存要求都是最小的。关于网络大小,如果TCP打洞直连失败,就要耗费中继流量,一个中继连接的流量在30k-3M每秒之间(1920×1080屏幕),取决于清晰度设置和画面变化。如果只是办公需求,平均在100K/s。
服务端配置
创建rustdesk工作文件夹
在docker目录下创建rustdesk文件夹
cd /etc/docker
mkdir -p rustdesk && cd rustdesk
创建 docker-compose.yml 配置文件
vim docker-compose.yml
i
version: '3'
networks:
rustdesk-net:
external: false
services:
hbbs:
container_name: hbbs
ports:
- 21115:21115 # 是hbbs用作NAT类型测试,默认21115
- 21116:21116 # 自定义 hbbs 映射端口(:左侧改为自己想设置的端口),默认21116
- 21116:21116/udp # 自定义 hbbs 端口:是hbbs用作ID注册与心跳服务的端口(:左侧改为自己想设置的端口),默认21116
- 21118:21118 # 为了支持网页客户端,默认21118
image: rustdesk/rustdesk-server #官方提供的镜像地址
#image: thtom/rustdesk-server #官方用不了请使用这个
command: hbbs -r <your_domain>:<hbbr_port> -k _ # <your_domain>填入个人域名或公网IP,<hbbr_port>hbbr 暴露端口(默认21117),"k _"后面参数为开启KEY验证
volumes:
- ./date:/root # 自定义挂载目录,用于查看密钥
networks:
- rustdesk-net
depends_on:
- hbbr
restart: unless-stopped
deploy:
resources:
limits:
memory: 64M
hbbr:
container_name: hbbr
ports:
- 21117:21117 # 自定义 hbbr 映射端口,默认21119
- 21119:21119 # 为了支持网页客户端,默认21119
image: rustdesk/rustdesk-server
#image: thtom/rustdesk-server #官方用不了请使用这个
command: hbbr -k _
volumes:
- ./data:/root # 自定义挂载目录
networks:
- rustdesk-net
restart: unless-stopped
deploy:
resources:
limits:
memory: 64M
上线服务
#上线服务
docker-compose up -d
#查看镜像服务
docker ps
开启防火墙端口
tcp:21115-21119
udp:21116
服务器提供商的防火墙也需要开启
客户端配置
官方下载安装rustdesk应用
配置自建服务器信息
如下,需要先解锁才能配置
把yml文件里改好的IP或域名,填写到使用端中【ID服务器】
Key值在服务器配置的docker服务rustdesk文件夹下data文件夹里面,密码文件:id_ed25519.pub
cd /etc/docker/rustdesk/data
ls
cat id_ed25519.pub
看到以上信息就说明配置成功了,就可以使用了。
修改Key
删除服务器目录下id_ed25519和id_ed25519.pub两个文件,重新上线docker服务,密钥会重新生成
docker-compose up -d