RustDesk自建服务器完整部署指南:从零开始到成功连接。成功解决rustdesk报错:未就绪,请检查网络连接
最近需要用到远程工具解决用户问题,todesk总是提示付费,干脆自己使用开源的。当然凡事都有代价。 话费了一个工作日的时间终于搞定了。
本文将详细介绍如何从零开始部署RustDesk自建服务器,实现完全自主可控的远程桌面解决方案。
踩坑
参考了https://blog.csdn.net/m0_74823611/article/details/146158064 使用二进制文件 rustdesk-server-linux-amd64.zip安装,但是没有效果。估计还是端口映射的问题。
一方面也是自己偷懒原因,不想安装docker节省服务器空间。结果最后浪费了一早上的时间。
https://blog.csdn.net/weixin_53510183/article/details/143257158 这篇文章有说明二进制安装的缺陷。
1. 准备工作
1.1 服务器要求
- 云服务器(腾讯云、阿里云等)
- CentOS 7/8 或 Ubuntu 18.04+
- 至少1GB内存,1核CPU
- 开放的公网IP
1.2 必要端口
- 21115 (hbbs - Web控制台,可选)
- 21116 (hbbs - ID注册服务)
- 21117 (hbbr - 中继服务)
- 21118 (hbbs - Web API,可选)
- 21119 (hbbr - Web API,可选)
2. Docker环境安装
2.1 CentOS Docker安装脚本
创建安装脚本文件:
nano install-docker.sh
复制以下内容:
#!/bin/bash# 更新系统
sudo yum update -y# 安装必要的工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2# 添加 Docker 仓库
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 替换镜像源到阿里云
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo# 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io# 启动 Docker
sudo systemctl start docker
sudo systemctl enable docker# 测试 Docker 是否安装成功
sudo docker run --rm hello-worldecho "Docker 已安装并启动成功!"
2.2 执行安装
chmod +x install-docker.sh
./install-docker.sh
2.3 配置Docker镜像加速(重要)
创建Docker配置文件:
sudo mkdir -p /etc/docker
sudo vim /etc/docker/daemon.json
添加以下内容:
{"registry-mirrors": ["https://dockerproxy.com","https://mirror.baidubce.com","https://ccr.ccs.tencentyun.com","https://docker.m.daocloud.io","https://docker.nju.edu.cn","https://docker.mirrors.ustc.edu.cn"]
}
重启Docker服务:
sudo systemctl restart docker
3. 防火墙配置
3.1 使用ufw(推荐)
# 安装ufw
sudo yum install -y epel-release
sudo yum install -y ufw# 启用ufw
sudo ufw enable# 开放必要端口
sudo ufw allow 21115:21119/tcp
sudo ufw allow 21116/udp
sudo ufw allow ssh# 查看状态
sudo ufw status numbered
3.2 云服务器安全组
在云服务商控制台配置安全组规则:
- 入方向:开放21115-21119端口(TCP)
- 入方向:开放21116端口(UDP)
4. 部署RustDesk服务
4.1 创建数据目录
sudo mkdir -p /opt/rustdesk
sudo chown $USER:$USER /opt/rustdesk
4.2 启动hbbs服务(ID注册服务)
最好使用下面带端口的安装方法,官方文档https://rustdesk.com/docs/zh-cn/self-host/rustdesk-server-oss/docker/里使用–net=host 似乎并没有效果。
docker run --name hbbs \-p 21115:21115 \-p 21116:21116 \-p 21116:21116/udp \-p 21118:21118 \-v /opt/rustdesk:/root \-td --restart unless-stopped \rustdesk/rustdesk-server hbbs -r 你的服务器IP:21117
4.3 启动hbbr服务(中继服务)
docker run --name hbbr \-p 21117:21117 \-p 21119:21119 \-v /opt/rustdesk:/root \-td --restart unless-stopped \rustdesk/rustdesk-server hbbr
4.4 验证服务状态
# 检查容器运行状态
docker ps# 检查端口监听
sudo ss -tuln | grep 2111# 查看服务日志
docker logs hbbs
docker logs hbbr
5. 获取密钥
5.1 获取公钥
# 查看生成的公钥
cat /opt/rustdesk/id_ed25519.pub
**重要:**这个公钥将在客户端配置时使用,请妥善保存。
6. 客户端配置
6.1 下载RustDesk客户端
- Windows: https://github.com/rustdesk/rustdesk/releases
- macOS: 同上
- Android/iOS: 应用商店搜索"RustDesk"
6.2 配置连接信息
打开RustDesk客户端,点击"设置" -> “网络” -> “ID/中继服务器”:
- ID服务器:
你的服务器IP
(⚠️ 不要加端口号) - 中继服务器:
你的服务器IP
(⚠️ 不要加端口号) - Key: 粘贴步骤5.1获取的完整公钥内容
6.3 保存并重启
- 点击"确认"保存配置
- 完全退出RustDesk客户端
- 重新启动客户端
7. 常见问题及解决方案
7.1 rustdesk客户端显示"未就绪,请检查网络连接"
原因: 端口映射或防火墙问题
解决:
# 检查Docker端口映射
docker port hbbs
docker port hbbr# 检查防火墙状态
sudo ufw status# 验证端口监听
sudo ss -tuln | grep 21116
sudo ss -tuln | grep 21117
我主要就是卡在这一步,端口没有映射成功。这里不能开魔法的Tun模式,最好关掉。这样能检测是否真正的连接成功。
7.2 Key不匹配错误(高频问题)
原因: 客户端缓存了旧的配置或使用了错误的密钥
解决:
# Windows下清除缓存(管理员CMD)
rmdir /s /q "%APPDATA%\RustDesk"
rmdir /s /q "%LOCALAPPDATA%\RustDesk"
然后重新获取正确的密钥:
# 确保获取Docker容器中的最新密钥
cat /opt/rustdesk/id_ed25519.pub
7.3 网络连通性测试
# Windows PowerShell测试
Test-NetConnection 你的服务器IP -Port 21116
Test-NetConnection 你的服务器IP -Port 21117
正常结果应显示:TcpTestSucceeded : True
7.4 代理软件干扰
如果使用了Clash、Mihomo、V2Ray等代理软件,需要添加直连规则:
# 示例配置(Clash/Mihomo)
rules:- DOMAIN,api.rustdesk.com,DIRECT- IP-CIDR,你的服务器IP/32,DIRECT
8. 总结
通过以上步骤,终于成功部署了一个完全自主可控的RustDesk服务器。相比于使用官方服务器,自建服务器具有以下优势:
- 隐私保护:所有连接数据不经过第三方服务器
- 稳定可靠:不受官方服务器状态影响
- 自主可控:可根据需要调整服务配置
- 成本可控:一次部署,长期使用
现在可以在任何安装了RustDesk客户端的设备上,通过你的自建服务器进行远程桌面连接了!
关键提醒:
- 服务器地址不要加端口号
- 一定要配置Docker镜像加速
- Key不匹配时优先清除客户端缓存
- 网络测试确认端口连通性
参考文章
https://blog.csdn.net/weixin_53510183/article/details/143257158
https://halo.blog360.sbs/archives/rustdesk-kai-yuan-yuan-cheng-zhuo-mian-ruan-jiahe-shi-yong-jiao-cheng
https://rustdesk.com/docs/zh-cn/self-host/
https://blog.csdn.net/m0_74823611/article/details/146158064