代替向日葵的开源远程桌面软件RustDesk使用及自建中继服务器过程及踩坑
1.官网的使用教程还是比较详细的,推荐按照此教程使用,链接如下:
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网络模式及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博客