放弃todesk,服务器自建rustdesk服务
安装 Docker
不再赘述,可参考其他教程。
值得注意的是,也许你挂了decker的镜像站,但似乎这个加速只是pull的速度,并没有加速search。
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) |
如果你遇到这个错误,几乎只能挂网络代理才能解决了。
创建 Docker Compose 文件
创建一个目录来存放 RustDesk 服务器的配置,并进入该目录:
mkdir rustdesk-server |
创建一个名为 docker-compose.yml
的文件,并粘贴以下内容:
services: |
注:
- 将
<服务器公网IP或域名>
替换为你的实际地址 network_mode
: host 这种模式让容器直接使用宿主机的网络栈,简化了端口映射- 开放端口:
- 21115 (TCP): 用于 ID 注册
- 21116 (TCP/UDP): 用于打洞 (hole punching)
- 21117 (TCP/UDP): 用于中继服务
- 21118 (TCP): 用于网页客户端 (可选)
- 21119 (TCP): 用于网页客户端 (可选)
sudo ufw allow 21115/tcp |
启动 RustDesk 服务器
在 rustdesk-server
目录下运行:
docker compose up -d |
这将会在后台启动 hbbs (ID 服务器) 和 hbbr (中继服务器) 容器
检查容器状态:
docker compose ps |

查看日志:
docker compose logs hbbs |
hbbs 是 RustDesk 的 Rendezvous Server(会合服务器),主要负责:
- 管理客户端 ID 和公钥: 当 RustDesk 客户端启动时,它会向 hbbs 注册其 ID 和公钥。
- 协助建立连接: 当两个客户端尝试连接时,hbbs 会帮助它们发现彼此,并尝试建立直接连接。
- 转发中继服务器信息: 如果直接连接失败,hbbs 会告诉客户端可用的 hbbr(中继服务器)地址,以便通过中继进行连接。
hbbr 是 RustDesk 的 Relay Server(中继服务器),主要负责是:
- 转发数据: 当两个客户端无法建立P2P直连时,hbbr 会作为中间人,接收一个客户端的数据并转发给另一个客户端,从而实现远程控制。
- 管理带宽: hbbr 可以配置带宽限制,以避免单个连接或总连接占用过多服务器资源。
查看密钥:
docker compose logs hbbs | grep "Key:" |
配置 Rustdesk 客户端
下载客户端 https://github.com/rustdesk/rustdesk/releases/latest
打开客户端:

- ID服务器:你的ip
- 中继服务器:你的ip:21117
- API服务器:(不用管,除非你购买了官方的付费服务)
- Key:上文获得的密钥
然后就可以在主页下方看到 就绪
了,如果是 未就绪,请检查网络连接
可以看看是不是服务器的网络代理没关
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Diraw的世界!
评论