【rustdesk】客户端和服务端的安装和摆设(自建服务器,docker,远程控制开 ...

打印 上一主题 下一主题

主题 1001|帖子 1001|积分 3003

【rustdesk】客户端和服务端的安装和摆设(自建服务器,docker)

一、官方摆设教程

https://rustdesk.com/docs/zh-cn/client/mac/
官方服务端下载地址

https://github.com/rustdesk/rustdesk-server/releases
我用的docker感觉非常方便,没有直接下载服务端。
官方客户端下载地址

https://github.com/rustdesk/rustdesk/releases

如果访问不了github,可以留言要下载的版本(Architecture+客户端类型),我下载后发到csdn上。
二、我的安装示例具体步骤

1、介绍

服务器做服务端,服务端主要摆设HBBS(ID/注册服务器)、HBBR(中继服务器),文章最后会介绍HBBS、HBBR都是做什么的。
mac、windows、安卓做客户端,用来远程控制大概被控制
服务端我安装的是V1.1.12版本,客户端1.3.2版本
题外废话:
我用rustdesk的目的是家里有nuc迷你主机,想要没事的时间远程控制家里的电脑玩。家里电脑可以开几个假造机,远程练习linux等大概摆设了一些todolist、看板之类的东西(比较占内存,云服务器太贵)再内网穿透。
阿里云的这个99一年3M带宽不限流量,配置一样平常但是用它的带宽感觉还是很不错的,其他用途都写在这个好玩儿分享专栏中了,别的近来国产的这个雨云也很火超自制,我的很多朋友都在用,如果不是阿里云我另有自己其他业务必要稳定运行,就会买雨云了。
2、服务端安装

(1)docker、docker-compose安装

想到小伙伴们的服务器系统大概都不同,所以花了一天的时间,用假造机分别安装了Ubuntu、CentOS、Debian等系统的docker、docker-compose。
点击这篇博客,这里就不再赘述怎么安装docker了。
(2)配置docker镜像,docker的rustdesk国内版本有点滞后了,启动会报错,所以必要配置一下

/etc/docker路径下,修改daemon.json文件(没有则新建),内容为
  1. {
  2.   "dns": ["8.8.8.8", "8.8.4.4"],
  3.   "registry-mirrors": [
  4.               "https://dockerpull.org",
  5.         "https://docker.anyhub.us.kg",
  6.         "https://dockerhub.icu"
  7.         ]
  8. }
复制代码
daemon.json文件我放到了csdn上,也可以直接点这里下载直接丢到/etc/docker目次下(做好备份)

(3)重启docker

  1. # 1. 重新加载 daemon 配置文件
  2. systemctl daemon-reload
  3. # 2. 重启 Docker 服务
  4. systemctl restart docker
  5. # 3. 检查 Docker 服务状态
  6. systemctl status docker
  7. # 4. 验证配置是否生效
  8. docker info
复制代码
(4)配置rustdesk的配置文件,docker-compose.yaml

  1. #创建文件夹的命令
  2. mkdir /data/rustdesk/compose
复制代码

docker-compose.yml文件我放到了csdn上,可以直接点这里下载直接丢到/data/rustdesk/compose目次下
#是添加的表明,可以删#后的内容无影响
  1. # 指定 docker-compose 文件的版本
  2. version: '3'
  3. # 定义服务
  4. services:
  5.   # hbbs:ID注册服务器,用于处理RustDesk的设备注册和连接请求
  6.   hbbs:
  7.     # 指定容器名称
  8.     container_name: hbbs
  9.     # 指定使用的镜像和版本
  10.     image: rustdesk/rustdesk-server:1.1.12
  11.     # 运行命令,启动 hbbs 服务
  12.     command: hbbs
  13.     # 使用主机网络模式,直接使用宿主机的网络,可以避免端口映射的问题
  14.     network_mode: "host"
  15.     # 数据卷挂载,将容器内的 /root 目录映射到主机的 /data/rustdesk/data 目录
  16.     # 用于持久化存储配置文件、密钥等数据
  17.     volumes:
  18.       - /data/rustdesk/data:/root
  19.     # 环境变量配置
  20.     #environment:
  21.       # 设置中继密钥,用于 hbbs 和 hbbr 之间的通信验证
  22.       # 是服务端 hbbs 和 hbbr 之间通信使用的密钥
  23.       # - RELAY_KEY=123456
  24.       # SSL证书配置(可选)
  25.       # - CERT_FILE=/root/cert.pub
  26.       # - KEY_FILE=/root/cert.key
  27.     # 容器重启策略:always 表示容器退出时总是重启
  28.     restart: always
  29.   # hbbr:中继服务器,用于处理远程连接的数据传输
  30.   hbbr:
  31.     container_name: hbbr
  32.     image: rustdesk/rustdesk-server:1.1.12
  33.     # 运行命令,启动 hbbr 服务
  34.     command: hbbr
  35.     network_mode: "host"
  36.     volumes:
  37.       - /data/rustdesk/data:/root
  38.     #environment:
  39.       # 中继密钥必须与 hbbs 服务配置的密钥相同
  40.       #- RELAY_KEY=123456
  41.     restart: always
  42. # 端口说明(使用 host 网络模式时自动使用以下端口):
  43. # hbbs 服务使用的端口:
  44. # - 21115: TCP,用于设备注册
  45. # - 21116: TCP,用于 NAT 类型测试
  46. # - 21118: TCP,用于 ID 注册服务器的 Web 服务
  47. #
  48. # hbbr 服务使用的端口:
  49. # - 21117: TCP,用于中继服务器
  50. # - 21119: TCP,用于中继服务器的 Web 服务
  51. # 注意事项:
  52. # 1. 确保防火墙开放上述端口
  53. # 2. RELAY_KEY 建议使用复杂的随机字符串
  54. # 3. 数据目录 /data/rustdesk/data 需要提前创建
  55. # 4. 如果需要使用 SSL,请将证书文件放在数据目录中
  56. # 5. 服务器重启时容器会自动启动
复制代码
(5)启动项目

在配置文件所在目次实行以下命令启动服务
  1. # 进入文件夹
  2. cd /data/rustdesk/compose
  3. # 创建docker数据目录
  4. mkdir -p /data/rustdesk/data
  5. # 启动服务
  6. docker-compose up -d
  7. # 有需要时可以用此命令重启服务
  8. # docker-compose restart
  9. # 查看服务状态
  10. docker-compose ps
  11. # 查看服务日志
  12. docker-compose logs -f
复制代码

(6)检查服务器端口是否开放

使用 nc(Netcat)检查或使用 telnet检查都可以
xx.xx.xx.xx是服务器ip地址,必要替换成自己的
  1. for port in 21115 21116 21117 21118 21119; do
  2.   nc -zv xx.xx.xx.xx $port
  3. done
复制代码

  1. for port in 21115 21116 21117 21118 21119; do
  2.   telnet xx.xx.xx.xx $port
  3. done
复制代码
2、客户端配置

(1)电脑客户端


(2)Android 客户端


出于移动装备安全性考虑,手机端不支持设置永世暗码功能

三、hbbs 和 hbbr 的功能:

HBBS(ID/注册服务器)


  • 主要功能

    • 处置惩罚装备注册
    • 管理装备在线状态
    • 分配和管理 RustDesk ID
    • 维护装备心跳毗连
    • 协助建立 P2P 毗连

  • 具体工作

    • 当装备启动 RustDesk 时,会毗连到 HBBS
    • 为每个装备分配唯一的 ID
    • 记录装备的在线状态和网络信息
    • 协助两个装备之间建立毗连
    • 存储装备的暂时毗连信息

HBBR(中继服务器)


  • 主要功能

    • 处置惩罚无法建立 P2P 毗连时的数据中继
    • 作为数据传输的中转站
    • 处置惩罚 NAT 穿透失败的情况

  • 具体工作

    • 当两台装备无法直接毗连时介入
    • 将控制端的指令转发给被控端
    • 将被控端的画面数据转发给控制端
    • 处置惩罚音频、文件传输等数据中继

毗连流程


  • 正常 P2P 毗连
    装备A → HBBS → 装备B(P2P直连)
  • 必要中继的毗连
    装备A → HBBS → HBBR → 装备B
为什么必要分开?


  • 职责分离

    • HBBS 专注于装备管理和毗连调和
    • HBBR 专注于数据传输和中继

  • 性能考虑

    • 可以分别扩展两个服务
    • 中继服务器可以摆设在不同地区
    • 更容易进行负载平衡

  • 灵活摆设

    • 可以根据需求摆设多个 HBBR
    • HBBS 通常只必要一个实例
    • 可以针对不同地区优化网络性能

使用建议


  • 小规模使用

    • 两个服务可以摆设在同一台服务器上
    • 使用默认配置即可

  • 大规模使用

    • HBBR 建议摆设多个实例
    • 选择网络质量好的服务器摆设 HBBR
    • HBBS 选择稳定可靠的服务器

  • 企业使用

    • 建议在不同地区摆设 HBBR
    • 配置高可用方案
    • 监控服务状态

这样的计划使得 RustDesk 可以更好地处置惩罚不同的网络情况,提供更可靠的远程毗连服务。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

络腮胡菲菲

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表