本文是应网友
figo
的要求写的
什么是 RustDesk ?
RustDesk
是一款开源的远程桌面软件,开箱即用,无需任何配置。您完全掌控数据,不用担心安全问题。可以使用官方的注册/中继服务器, 或者自己架设。
今天我们要做的就是通过自建服务器,然后从远程访问家里的电脑,之所以要自建,是因为
RustDesk
提供的免费公共服务器比较少
安装
在群晖上以 Docker 方式安装。
在注册表中搜索
rustdesk
,选择第一个
rustdesk/rustdesk-server
,双击直接下载。
本文起草于
2021
年
11
月,当时只有一个版本,所以不需要选择。现在已经支持
x86
和
arm64v8
平台,
x86
选
latest
即可。
【注意】:后面无论是
hbbs
还是
hbbr
都是基于这个镜像安装
安装 hbbs
hbbs
指的是
RustDesk ID/Rendezvous server
,也就是
RustDesk
注册服务器。
默认情况下,
hbbs
监听
21115(tcp)
,
21116(tcp/udp)
,
21118(tcp)
。其中:
21115
是hbbs
用作NAT
类型测试;21116/UDP
是hbbs
用作ID
注册与心跳服务;21116/TCP
是hbbs
用作TCP
打洞与连接服务;21118
是为了支持网页客户端,注意是WebSocket
协议,不是http
协议;
因为没找到网页客户端,不知道怎么用
21118
端口,所以后面的端口映射没打开该端口,需要的话可以添加在
tcp
协议中;
容器名称
默认为
rustdesk-rustdesk-server1
,为了方便区分,重命名为
rd-hbbs
,这不是必须的操作
卷
在
docker
文件夹中,创建一个新文件夹,并将其命名为
rustdesk
,然后在其中建两个子文件夹,分别是
hbbs
和
hbbr
文件夹装载路径说明
docker/rustdesk/hbbs
/root
存放文件,包括
key
文件
网络
勾选
使用与 Docker Host 相同的网络
环境
命令中输入
hbbs -r <relay-server-ip[:port]>
其中:
relay-server-ip
为群晖主机IP
;port
默认为21117
, 没改的话可以不填;
所以我们只要在
命令
中输入
hbbs -r 192.168.0.197
即可
安装 hbbr
hbbr
指的是
RustDesk relay server
,也就是
RustDesk
中继服务器。
默认情况下,
hbbr
监听
21117(tcp)
,
21119(tcp)
。其中:
21117
是hbbr
用作中继服务;21119
是为了支持网页客户端,注意是WebSocket
协议,不是http
协议;
因为不知道怎么用
21119
端口,所以后面的端口映射没打开该端口,需要的话可以添加在
tcp
协议中;
容器名称
默认为
rustdesk-rustdesk-server1
,为了方便区分,重命名为
rd-hbbr
,这不是必须的操作
卷
前面已经建好了文件夹,这里直接使用 就行
文件夹装载路径说明
docker/rustdesk/hbbr
/root
存放文件
网络
勾选
使用与 Docker Host 相同的网络
环境
命令
行中输入
hbbr
即可
命令行安装
如果你熟悉命令行,可能用
docker cli
更快捷
# 新建文件夹 restdesk 和 子目录mkdir -p /volume2/docker/rustdesk/{hbbs,hbbr}# 进入 restdesk 目录cd /volume2/docker/rustdesk
# 运行容器 hbbsdocker run -d \
--name rd-hbbs \
--restart unless-stopped \
--net=host \
-v $(pwd)/hbbs:/root \
rustdesk/rustdesk-server \
hbbs -r <relay-server-ip[:port]># hbbs 示例## relay-server-ip :为群晖主机 IP## port 默认为 21117 , 没改的话可以不填docker run -d \
--name rd-hbbs \
--restart unless-stopped \
--net=host \
-v $(pwd)/hbbs:/root \
rustdesk/rustdesk-server \
hbbs -r 192.168.0.197
# hbbr 示例docker run -d \
--name rd-hbbr \
--restart unless-stopped \
--net=host \
-v $(pwd)/hbbr:/root \
rustdesk/rustdesk-server \
hbbr
也可以用
docker-compose
安装,将下面的内容保存为
docker-compose.yml
文件
version:'3'services:hbbs:image: rustdesk/rustdesk-server
container_name: rd-hbbs
restart: always
network_mode:"host"depends_on:- hbbr
volumes:- ./hbbs:/root
command: hbbs -r 192.168.0.197
hbbr:image: rustdesk/rustdesk-server
container_name: rd-hbbr
restart: always
network_mode:"host"volumes:- ./hbbr:/root
command: hbbr
然后执行下面的命令
# 新建文件夹 restdesk 和 子目录mkdir -p /volume2/docker/rustdesk/{hbbs,hbbr}# 进入 rustdesk 目录cd /volume2/docker/rustdesk
# 将 docker-compose.yml 放入当前目录# 一键启动docker-compose up -d
不出意外的话,两个容器应该都正常启动了
运行
在运行客户端之前,还有少许网络上的设置,不管你是用
frp
还是
ddns
,要做的就是将相应的端口打开
frp 设置
老苏用的是
frp
,需要在
frpc.ini
中增加下面👇这段:
[range:rd_tcp]
# 2022.07.13新增,for RustDesk 测试
type = tcp
local_ip = 192.168.0.197
local_port = 21115-21117
remote_port = 21115-21117
custom_domains = id.laosu.ml
[rd_udp]
# 2022.07.13新增,for RustDesk 测试
type = udp
local_ip = 192.168.0.197
local_port = 21116
remote_port = 21116
custom_domains = id.laosu.ml
保存之后,重启
frpc
容器。
ddns 设置
老苏没有公网
IP
,所以没机会使用过
ddns
,但从原理上看,跟局域网使用的原理一致,只是不过是将局域网
IP
换成了域名,需要在路由器放行下面👇的端口:
21115-21117
,协议tcp
21116
,协议udp
客户端填写
ID 服务器
时,同样也是
域名:21116
客户端
在 https://rustdesk.com/zh/ 可以下载对应平台的客户端
找到
ID/中级服务器
填入前面
frpc
中的设置
另外两个地址可以不填,
RustDesk
会自动推导(如果没有特别设定的话)
在
File Station
中找到
/docker/restdesk/hbbs
目录,其中
id_ed25519.pub
就是我们需要的
key
可以下载之后用文本编辑器打开,也可以直接用命令行打开
# 打开公钥文件cat ./hbbs/id_ed25519.pub
将
key
复制到客户端中
确认之后,网络会重新连接
如果设置没问题,很快就
就绪
了
测试
老苏又装了一台
android
客户端,用来做控制端,设置和
PC
端是一样的,只要输入
ID 服务器
和
Key
即可
输入要控制的
PC
端的
ID
连上之后需要输入密码,密码可以在
PC
端
ID
的下方获取到
连接成功后,
PC
端的右上角有提示
速度还可以,感觉比向日葵快
各平台的详细使用手册,可以去官网看中文的使用手册:https://rustdesk.com/docs/zh-cn/manual/
老苏觉得
RustDesk
作为一款远程桌面控制软件,完全可以取代
TeamViewer
和
向日葵
。
参考文档
GitHub - rustdesk/rustdesk: The best open source remote desktop software
地址:https://github.com/rustdesk/rustdesk
rustdesk/rustdesk-server: RustDesk Server Program
地址:https://github.com/rustdesk/rustdesk-server
RustDesk | 最好的开源远程桌面软件
地址:https://rustdesk.com/zh/
群晖 :: RustDesk文档
地址:https://rustdesk.com/docs/zh-cn/self-host/synogy/
版权归原作者 杨浦老苏 所有, 如有侵权,请联系我们删除。