折腾本腾
RustDesk 开源远程桌面服务部署 | JackieWu
00 分钟
2024-1-17
2024-3-2
type
status
date
slug
summary
tags
category
icon
password
URL
notion image
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)效果PC(Win)端效果.其他效果
远端系统操作
显示相关
键盘操作
文字和语音
视频录制
录制的视频
文件传输

2、在 Unraid 上部署 RustDesk

Unraid 上的部署十分简单,在 CA 应用市场搜索 rustdeskserver-aio
notion image
notion image
由于此 CA 模板没有中文注释,可能有些朋友不清楚相关设置的内容,因此博主对此 CA 模板进行修改并添加了中文注释,你可以通过以下命令获取到博主的 CA 模板:
将此命令复制到 unRAID 命令行窗口运行即可
博主已经在模板中设置好相应的默认参数,一般来说大家直接使用即可不用修改,对于高级用户请根据需要进行调整:
notion image
点击“应用”之后即可进行部署
关于 -k 参数:禁止服务器被匿名使用
  • k 参数的作用是禁止没有使用服务端公钥 Key 的用户建立非加密连接,防止他人匿名使用部署的 RustDesk 服务器。
Key 是 RustDesk 服务器的公钥文件,第一次运行之后会自动生成,保存在配置文件夹 /mnt/user/appdata/rustdeskserver-aio 下,可以通过容器日志获取到 Key 的值:
notion image
notion image
关于端口的说明
默认情况下: hbbs(ID 注册服务器)监听
网页端需要使用专业版(需授权,收费),如果不需要网页客户端(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 所需要的端口:

3、使用方法

RustDesk 部署完之后,到官方 Github 中下载客户端
notion image
notion image
如果你连接不上 Github,也可以到作者的软件库中下载:
notion image
notion image
安装好后打开客户端设置服务器地址和公钥 Key
notion image
notion image
notion image
notion image
  1. ID 服务器(RustDesk ID/Rendezvous server):输入域名或者IP地址,并加上端口号 21116,例如 rustdesk.hello.com:21116
  1. 中继服务器(RustDesk Relay server):输入域名或者IP地址,并加上端口号 21117,例如 rustdesk.hello.com:21117
  1. Key:公钥文件可以通过容器的日志获取。
设置完成后即可进行远程连接。
notion image
notion image

4、云服务器部署方法

云服务器依然使用的 Docker 部署,如果你的云服务器还没安装 Docker,可以使用以下命令安装:
在云服务器上依然可以部署与 Unraid 一样的 Docker,但本章节我们依照官方提供的资料来进行部署,按照官方提供的标准方式进行操作,这样大家排查问题或者找资料也方便一点。
在云服务器上,需要部署两个 Docker 容器(ID 注册服务器 + 中继服务器),方法如下:
  1. 拉取镜像
    1. 创建文件夹存储配置文件
      1. 创建 hbbs 和 hbbs 容器
        1. 请将下面的
      1. 获取公钥文件内容
        1. 如果需要修改 Key 的值,只需要直接删除
      1. 放行端口:请在你的云服务器后台或者防火墙中放行所用到的端口号,否则外部可能无法访问。
      经过上述步骤即可完成部署。

      5、其他

      常用 Docker 命令:
      查看容器日志
      查看 ID 注册服务器日志
      查看中继服务器日志
      停止容器
      停止 ID 注册服务器
      停止中继服务器
      重启容器
      重启 ID 注册服务器
      重启中继服务器
      删除容器
      需要先停止容器之后才能删除。
      删除 ID 注册服务器容器
      删除中继服务器容器
      查看镜像
      删除镜像
      删除镜像之前需要先停止、删除 Docker 容器。
      删除 RustDesk 镜像
      • Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
      Relate Posts
      Comments
      昵称
      邮箱
      网址
      <div _="@=1807,dis=none"><div pseudo="-webkit-input-placeholder" id="placeholder" style="display: block !important;" _="@=1808,dis=none,[@=1809]">评论时填上邮箱可以接收博主的回复信息</div><div _="@=1810,dis=none"></div></div>0/500
      3 条评论
      hami 2023-12-26
      从外网连接unraid虚拟机的win10总是显示无法通过中转服务器建立连接,之前是在局域网连接的时候没有输key也可以连接,后来发现外网连不上,就输了key,但是现在还是连不上
      Windows 10
      Chrome 120.0.0.0
      seven 2023-12-17
      2
      我设置了服务器和KEY反而连不上了OωO
      Windows 10
      Chrome 120.0.0.0

      评论
      Loading...