docker搭建rustdesk id中继服务器
开始搭建
创建一下安装的目录:
1 | mkdir -p /root/data/docker_data/rustdesk |
docker-compose.yml
填入以下内容:
1 | version: '3' |
没问题的话,ctrl+x
退出,按y
保存,enter
确认。
打开防火墙的端口21115
、21116
、21117
、21118
、21119
默认情况下,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)
支持,对应端口可以不开。
- TCP(21115, 21116, 21117, 21118, 21119)
- UDP(21116)
查看端口是否被占用(以21115
为例),输入:
1 | lsof -i:21115 #查看21115端口是否被占用,如果被占用,重新自定义一个端口 |
如果出现:
1 | -bash: lsof: command not found |
运行:
1 | apt install lsof #安装lsof |
如果端口没有被占用,我们接着可以运行:
1 | cd /root/data/docker_data/rustdesk |
注意:
1、不知道服务器IP,可以直接在命令行输入:
curl ip.sb
,会显示当前服务器的IP。2、遇到访问不了的情况,请在宝塔面板的防火墙和服务商的后台防火墙里打开对应端口。
更新
1 | cp -r /root/data/docker_data/rustdesk /root/data/docker_data/rustdesk.archive # 万事先备份,以防万一 |
利用Docker-compose搭建的应用,更新非常容易~
卸载
1 | cd /root/data/docker_data/rustdesk # 进入docker-compose所在的文件夹 |
使用教程
安装和配置
见咕咕鸽的视频
点击 ID 右侧的菜单按钮如下,选择“ ID/中继服务器”。
在 ID 服务器输入框中(被控端+主控端)输入 hbbs 主机或 ip 地址,另外两个地址可以不填,RustDesk会自动推导(如果没有特别设定),中继服务器指的是hbbr(21116)端口。
例如:
1 | hbbs.example.com |
或者
1 | hbbs.example.com:21116 |
功能展示
传输文件
几个小问题
加密通话
最新版必须过设置Key,来加密通话。
以下来自官方文档:
hbbs在第一次运行时,会自动产生一对加密私钥和公钥(分别位于运行目录下的id_ed25519
和id_ed25519.pub
文件中),其主要用途是为了通讯加密。
如果您在上一步骤中没有填写Key:
(公钥文件id_ed25519.pub
中的内容),会影响连接,且无法加密。
1 | cat /root/data/docker_data/rustdesk/hbbs/id_ed25519.pub |
如果您禁止没有key的用户建立非加密连接,请在运行hbbs和hbbr的时候添加-k _
参数,例如:
1 | version: '3' |
实测加上
-k _
参数后,会导致无法连接,不确定是不是BUG,有解决的小伙伴欢迎在评论区留言交流!
如果要更改key,请删除 id_ed25519
和 id_ed25519.pub
文件并重新启动 hbbs/hbbr,hbbs将会产生新的密钥对。
把配置放在可执行文件名里 (Windows only)
把rustdesk.exe
修改为 rustdesk-host=<host-ip-or-name>,key=<public-key-string>
.exe, 例如: rustdesk-host=192.168.1.137,key=xfdsfsd32=32
.exe,你可以在About窗口看到配置结果,如下图所示。
host
和 key
都需要添加,缺少一个就不好使。
如果密钥中有无效字符而不能用于文件名,请删除
id_ed25519
文件并重新启动hbbs/hbbr,id_ed25519.pub
文件将被重新生成,请重复操作直到获得有效字符。
Menu | About Page |
---|---|
结尾
祝大家用得开心,有问题可以去GitHub提Issues,也可以在评论区互相交流探讨。
同时,有能力给项目做贡献的同学,也欢迎积极加入到项目中来,贡献自己的一份力量!