🎭RustDesk 开源远程桌面服务部署
00 分钟
2023-8-12
2024-8-17
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
notion image
PC(Win)端效果.
notion image
notion image
其他效果
远端系统操作
远端系统操作
显示相关
显示相关
键盘操作
键盘操作
文字和语音
文字和语音
视频录制
视频录制
录制的视频
录制的视频
文件传输
文件传输

2、在 Unraid 上部署 RustDesk

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

3、使用方法

RustDesk 部署完之后,到官方 Github 中下载客户端
notion image
如果你连接不上 Github,也可以到作者的软件库中下载:
notion image
安装好后打开客户端设置服务器地址和公钥 Key
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:公钥文件可以通过容器的日志获取。
    1. notion image
设置完成后即可进行远程连接。
notion image

4、云服务器部署方法

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

      5、其他

      常用 Docker 命令:
      查看容器日志
      停止容器
      重启容器
      删除容器
      需要先停止容器之后才能删除。
      查看镜像
      删除镜像
      删除镜像之前需要先停止、删除 Docker 容器。
       

      评论