0


开源的远程桌面软件RustDesk

在这里插入图片描述

本文是应网友

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/


本文转载自: https://blog.csdn.net/wbsu2004/article/details/125885654
版权归原作者 杨浦老苏 所有, 如有侵权,请联系我们删除。

“开源的远程桌面软件RustDesk”的评论:

还没有评论