代替向日葵的开源远程桌面软件RustDesk使用及自建中继服务器过程及踩坑

1.官网的使用教程还是比较详细的,推荐按照此教程使用,链接如下:

使用手册 :: RustDesk文档

2.碰到的问题

先看官网对于端口和服务功能的描述:

默认情况下,hbbs 监听21115(tcp), 21116(tcp/udp), 21118(tcp),hbbr 监听21117(tcp), 21119(tcp)。务必在防火墙开启这几个端口, 请注意21116同时要开启TCP和UDP。其中21115是hbbs用作NAT类型测试,21116/UDP是hbbs用作ID注册与心跳服务,21116/TCP是hbbs用作TCP打洞与连接服务,21117是hbbr用作中继服务, 21118和21119是为了支持网页客户端。如果您不需要网页客户端(21118,21119)支持,对应端口可以不开。

由于官方客户端对于 中继服务器状态 的提示比较单一,windows端只有一个"就绪",就是只显示 hbbs 的状态,而安卓端更是没有状态显示,导致遇到不少坑,基本是hbbr不通导致,具体见下文:

1.我的系统是OpenEuler的基础安装系统, Linux 客户端安装时有一些依赖和环境缺失,需要根据错误提示进行下载安装,主要有

  1.libxdo-3.20150503.1-10.el8.x86_64.rpm

    这个因为国内网络问题下载超时,需要自行搜索从第三方网站下载安装

  2.python3 ,提示Python.h:No such file or directory

    安装方法:首先用yum搜索仓库的包

    yum search python |grep devel

    然后找到适合自己系统的安装

    yum install python3-devel.x86_64

2.当在中继服务器上安装 客户端时,会有端口冲突,所以行不通

3.在与中继服务器 同一内网网段的 电脑上安装客户端,内网电脑可以连接,外网则连不上这台内网电脑,以下文章有解决方案,暂时没有实验

远程控制软件 rustdesk 及自建服务器 - 简书 (jianshu.com)

---------------------------2023-08-02更新---踩坑---

4.docker部署中继服务器时,hbbs和hbbr的root目录映射到物理机的目录一定要相同,因为要读取密钥,同样我们映射出来也是方便查看公钥,因为客户端key一项要填写公钥用来加密

5.hbbs -r <your_domain>:<hbbr_port> # 填入个人域名或 IP + hbbr 暴露端口,这里如果是外网使用 则要填写 公网ip或域名,开始填写了内网ip,结果外网使用怎么也不通

参考文章:

本地docker部署rustdesk踩坑记录 - 哔哩哔哩

 

其他参考文章:

docker网络模式及WARNING: Published ports are discarded when using host network mode-04007技术笔记

docker run -it 和 docker exec -it_叁_的博客-CSDN博客

docker run -d 和docker run -it 的区别_RedCong的博客-CSDN博客

docker run的--rm选项详解_docker run -it --rm_易生一世的博客-CSDN博客

 

posted @ 2023-03-02 10:34  dirgo  阅读(1915)  评论(0编辑  收藏  举报