type
status
date
slug
summary
tags
category
icon
password
1、介绍
RustDesk 是一款远程桌面开源软件,可以将服务端部署到自己的服务器上进行使用。
博主先前帮海外的朋友处理问题时,无论是使用 Todesk 、向日葵抑或是 TeamViewer,速度和稳定性都比较差,比如说 Todesk 检测到你连接的是海外 IP 时会要求你进行付费,不然连接速度要么很慢要么每隔几分钟就会主动断开你的连接。
RustDesk 对硬件(CPU 内存)和带宽的要求很低,即使是最低配置的云服务器都可以使用。
关于网络传输,如果 TCP 打洞直连失败就会使用中继服务器的流量进行传输,一个中继连接的流量在 30K-3M 每秒之间(1920x1080 分辨率),具体取决于清晰度设置和画面变化,如果只是办公需求则带宽只需 100K/s 左右,非常低。
即使没有云服务器,也可以将 RustDesk 部署到 Unraid 上提供远程桌面的中转服务,本文将介绍在Unraid 和云服务器部署的流程。
经博主测试,将 RustDesk 服务端部署到云服务器后,在内地通过客户端可以流畅的操作在香港的 PC ,无论是图像画质还是速度都十分优秀,可以完美平替市场上常见的远程工具。
RustDesk 服务端由两部分组成:
- hbbs - RustDesk ID 注册服务器(RustDesk ID/Rendezvous server)
- hbbr - RustDesk 中继服务器(RustDesk Relay server)
手机端(Android)效果
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F262f2897-c457-479d-a52e-56a8e1dfdfad%2FUntitled.png?table=block&id=2fcdac2b-f02b-4607-a706-1bf54ab54bb7)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Ff75b6409-d2f4-4bfc-8e63-b70dab649426%2FUntitled.png?table=block&id=f2a3b191-9696-43a8-bd23-fe8489cb7d81)
PC(Win)端效果.
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fbaa425ec-2dfa-4b99-ba45-4de4e52ea6e0%2F1.png?table=block&id=293d2ed9-3d57-4bca-904a-934ea4b5cece)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fa3841acf-d50b-425b-89cf-67ede0957766%2F3.png?table=block&id=c51d7c4a-0bf5-4956-83ae-84bdad47eb2f)
其他效果
![远端系统操作](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Ff038726a-d2f4-4376-8517-acd4d27e76dc%2Ftool_-_1.png?table=block&id=a5cf5987-c36f-4ec6-8d07-dd19159be27c)
![显示相关](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F25b0e004-cf76-4fe5-9549-e44fe0a5eb72%2Ftool_-_2.png?table=block&id=254bbe14-327f-4180-bc69-084c4896010b)
![键盘操作](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F3186d664-39f1-4737-924a-36154f30a44f%2Ftool_-_3.png?table=block&id=b2ef23e9-4e00-4feb-bfcd-fb4ebb8da27d)
![文字和语音](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F037b30aa-bad6-4811-a6fd-c688dcec4a8b%2Ftool_-_4.png?table=block&id=d6b98dcc-9662-47d6-9c47-49096a619e58)
![视频录制](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F57eb495e-9d30-4d10-b579-71f2c78acf47%2FUntitled.png?table=block&id=54688ab8-1b10-449b-bf09-30fd9bbe895f)
![录制的视频](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F53a3a68a-4fb9-4a91-90e5-fc71eeaed839%2Ftool_-_6.png?table=block&id=0ff7e017-520b-426d-af02-d08ed059d8ac)
![文件传输](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fa6709aa7-8973-44a4-9d1f-5ff84a47ceda%2FUntitled.png?table=block&id=d3bc55ef-f960-4cc5-8ca6-08d2662ce6d9)
2、在 Unraid 上部署 RustDesk
Unraid 上的部署十分简单,在 CA 应用市场搜索
rustdeskserver-aio
:![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F356dcb8b-df16-41e7-b4ce-03757e9547cd%2FUntitled.png?table=block&id=88f17fb6-7a47-4f23-9351-2f46997ffb5a)
由于此 CA 模板没有中文注释,可能有些朋友不清楚相关设置的内容,因此博主对此 CA 模板进行修改并添加了中文注释,你可以通过以下命令获取到博主的 CA 模板:
博主已经在模板中设置好相应的默认参数,一般来说大家直接使用即可不用修改,对于高级用户请根据需要进行调整:
![点击“应用”之后即可进行部署](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Ffb825b40-73f0-4823-bd85-e5a3fd94d3de%2FUntitled.png?table=block&id=98c126f2-729f-4fd1-9485-135d28b7d228)
关于 -k
参数:禁止服务器被匿名使用
-k
参数的作用是禁止没有使用服务端公钥 Key 的用户建立非加密连接,防止他人匿名使用部署的 RustDesk 服务器。![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fc84981d8-52af-4037-9ea0-8194478ffb02%2FUntitled.png?table=block&id=62cb43cc-852a-4d35-8a46-ee8b5968c7e4)
Key 是 RustDesk 服务器的公钥文件,第一次运行之后会自动生成,保存在配置文件夹
/mnt/user/appdata/rustdeskserver-aio
下,可以通过容器日志获取到 Key 的值:![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F610ce120-ea91-4e5a-9954-cb75b4aca7ba%2FUntitled.png?table=block&id=5e450a50-3045-4e18-89f9-e934c081f883)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fabb6fb31-8e9f-42df-9a70-f424b821b218%2FUntitled.png?table=block&id=abfdfeea-2276-45fd-b7ee-356eb9974930)
关于端口的说明
默认情况下: hbbs(ID 注册服务器)监听21115(tcp)
,21116(tcp/udp)
,21118(tcp)
端口。 hbbr(中继服务器)监听21117(tcp)
,21119(tcp)
端口。
网页端需要使用专业版(需授权,收费),如果不需要网页客户端(21118,21119)支持,对应端口可以不开。
服务端 | 端口 | TCP / UDP | 用途 |
HBBS | 21115 | TCP | NAT类型测试 |
HBBS | 21116 | TCP + UDP | TCP 打洞与连接服务/UDP ID注册与心跳服务 |
HBBR | 21117 | TCP | 中继服务 |
HBBS | 21118 | TCP | WebSocket 服务(为了支持网页客户端) |
HBBR | 21119 | TCP | WebSocket 转发(为了支持网页客户端) |
外网访问
如果你需要外网访问,需要在路由器/防火墙端做好端口转发或者放行,例如 iKuai 暴露 RustDesk 所需要的端口:
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F252b0e0f-9bcb-4455-afe5-e77f9f10ac97%2FUntitled.png?table=block&id=3b7aaca2-8477-4ede-9c53-45dfe1d6ed11)
3、使用方法
RustDesk 部署完之后,到官方 Github 中下载客户端:
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fdcbb4667-2b66-4ccf-8f2b-4b25773b58bd%2FUntitled.png?table=block&id=2ec4de96-936d-4c7b-9975-ad74767a2531)
如果你连接不上 Github,也可以到作者的软件库中下载:
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F95d870b3-dc6c-42e0-aa1a-cb7e0d00c144%2FUntitled.png?table=block&id=b83ad342-fdcc-4f6e-a6e9-3051ded18075)
安装好后打开客户端设置服务器地址和公钥 Key :
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F4d5cd14e-2592-4255-9f9a-4f9eb067cddc%2FUntitled.png?table=block&id=a86b9c98-298f-46c4-b3ed-cc307edf2106)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Ff39cb54d-153f-4d74-adf3-997e6ffb1a0d%2FUntitled.png?table=block&id=30ec5a4f-feb7-47e4-aefa-a60f1fce5f4f)
- ID 服务器(RustDesk ID/Rendezvous server):输入域名或者IP地址,并加上端口号 21116,例如
rustdesk.hello.com:21116
。
- 中继服务器(RustDesk Relay server):输入域名或者IP地址,并加上端口号 21117,例如
rustdesk.hello.com:21117
。
- Key:公钥文件可以通过容器的日志获取。
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fabb6fb31-8e9f-42df-9a70-f424b821b218%2FUntitled.png?table=block&id=abfdfeea-2276-45fd-b7ee-356eb9974930)
设置完成后即可进行远程连接。
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fe801daef-b0f8-4877-9755-0726abb3cbf5%2FUntitled.png?table=block&id=9f674d63-fffa-4d7f-ad0a-d74f4e2934b7)
4、云服务器部署方法
云服务器依然使用的 Docker 部署,如果你的云服务器还没安装 Docker,可以使用以下命令安装:
在云服务器上依然可以部署与 Unraid 一样的 Docker,但本章节我们依照官方提供的资料来进行部署,按照官方提供的标准方式进行操作,这样大家排查问题或者找资料也方便一点。
在云服务器上,需要部署两个 Docker 容器(ID 注册服务器 + 中继服务器),方法如下:
- 拉取镜像:
- 创建文件夹存储配置文件:
- 创建 hbbs 和 hbbs 容器:
请将下面的www.hello.com:21116
替换成你的域名或者 IP ,并加上端口号。
创建 hbbs(ID 注册服务器容器):
创建 hbbr(中继服务器容器):
- 获取公钥文件内容:
如果需要修改 Key 的值,只需要直接删除RustDesk
文件夹下的id_xxxx.pub
文件,然后重启 Docker 容器即可。
- 放行端口:请在你的云服务器后台或者防火墙中放行所用到的端口号,否则外部可能无法访问。
经过上述步骤即可完成部署。
5、其他
常用 Docker 命令:
查看容器日志
停止容器
重启容器
删除容器
需要先停止容器之后才能删除。
查看镜像
删除镜像
删除镜像之前需要先停止、删除 Docker 容器。
- 作者:JackieWu
- 链接:https://www.jackiewu.top/article/RustDesk
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。