首页
/ RustDesk Server常见错误修复:从社区问题汇总

RustDesk Server常见错误修复:从社区问题汇总

2026-02-04 05:19:14作者:翟江哲Frasier

前言:你是否正遭遇这些痛点?

当你部署RustDesk Server后,是否遇到过以下问题:

  • 客户端提示"无法连接到中继服务器"
  • 服务启动后日志不断报错
  • 防火墙配置后仍然无法访问
  • 数据同步时出现"数据库连接失败"

本文汇总了社区中最常见的20+错误案例,提供详细的排查流程和修复方案,帮助你快速解决RustDesk Server部署与运行中的各类问题。

一、服务启动失败类错误

1.1 "端口被占用"错误

错误特征

ERROR: Address already in use (os error 98)
Failed to bind to 0.0.0.0:21116

排查步骤

  1. 检查端口占用情况:
netstat -tulpn | grep -E "2111[4-9]"
  1. 查看RustDesk Server默认端口占用情况:
端口号 用途 可能冲突服务
21114 中继服务器(hbbr) Nginx, Apache
21115 信号服务器(hbbs) Node.js, Tomcat
21116 文件传输 FTP服务
21117 Web控制台 各类Web服务

修复方案: 修改配置文件更改端口:

# 编辑hbbs配置
nano /etc/rustdesk-server/hbbs.toml
# 修改端口配置
bind_port = 21125

1.2 "权限不足"错误

错误特征

ERROR: Permission denied (os error 13)
Failed to create log file

修复方案

  1. 检查文件权限:
ls -la /var/log/rustdesk-server/
  1. 设置正确权限:
sudo chown -R rustdesk:rustdesk /var/log/rustdesk-server/
sudo chmod -R 755 /var/log/rustdesk-server/

二、网络连接类错误

2.1 "防火墙阻止连接"错误

错误表现

  • 客户端显示"无法连接到服务器"
  • 服务器日志无任何连接记录

排查流程图

flowchart TD
    A[检查防火墙状态] -->|active| B[查看规则]
    A -->|inactive| C[检查云服务商防火墙]
    B --> D[是否有允许21114-21119端口规则]
    D -->|否| E[添加防火墙规则]
    D -->|是| F[检查网络ACL]

修复方案: 添加防火墙规则:

# UFW防火墙
sudo ufw allow 21114:21119/tcp
sudo ufw allow 21116/udp

# firewalld防火墙
sudo firewall-cmd --add-port=21114-21119/tcp --permanent
sudo firewall-cmd --add-port=21116/udp --permanent
sudo firewall-cmd --reload

2.2 "NAT配置错误"

错误特征

Failed to establish direct connection
Relay mode activated with high latency

修复方案: 配置端口转发:

内部端口 外部端口 协议
21114 21114 TCP
21115 21115 TCP
21116 21116 TCP+UDP

三、数据存储类错误

3.1 "数据库连接失败"

错误特征

ERROR: Database connection failed
Failed to connect to SQLite database: Connection refused

排查步骤

  1. 检查数据库文件权限:
ls -la /var/lib/rustdesk-server/db/
  1. 验证数据库完整性:
sqlite3 /var/lib/rustdesk-server/db/rustdesk.db "PRAGMA integrity_check;"

修复方案

  1. 修复数据库文件权限:
sudo chmod 664 /var/lib/rustdesk-server/db/rustdesk.db
sudo chown rustdesk:rustdesk /var/lib/rustdesk-server/db/rustdesk.db
  1. 重建数据库:
# 备份数据
cp /var/lib/rustdesk-server/db/rustdesk.db /var/lib/rustdesk-server/db/rustdesk.db.bak
# 重建数据库
hbbs --reinit-db

四、客户端连接错误

4.1 "密钥不匹配"错误

错误特征

ERROR: Key mismatch between client and server
Authentication failed

修复流程图

sequenceDiagram
    participant Client
    participant Server
    Client->>Server: 发送连接请求(带客户端密钥)
    Server->>Server: 验证密钥
    Server-->>Client: 返回"密钥不匹配"错误
    Note over Client,Server: 密钥验证失败流程

修复方案

  1. 检查服务器密钥:
cat /var/lib/rustdesk-server/id_ed25519.pub
  1. 在客户端正确配置服务器密钥:
    • 打开RustDesk客户端
    • 点击"设置" > "网络"
    • 输入正确的服务器地址和密钥
    • 重启客户端

五、性能优化类问题

5.1 "高CPU占用"问题

错误特征

  • hbbs/hbbr进程CPU占用率持续超过80%
  • 系统响应缓慢

优化方案

  1. 调整线程数:
# 编辑服务配置文件
nano /etc/systemd/system/rustdesk-hbbs.service
# 修改ExecStart行,添加线程参数
ExecStart=/usr/bin/hbbs --threads 4
  1. 优化数据库:
sqlite3 /var/lib/rustdesk-server/db/rustdesk.db "VACUUM;"

六、Docker部署特有问题

6.1 "容器启动后立即退出"

错误日志

docker logs rustdesk-server
ERROR: Configuration file not found

修复方案: 正确挂载配置目录:

docker run -d \
  --name rustdesk-server \
  -p 21114-21119:21114-21119 \
  -v /etc/rustdesk-server:/etc/rustdesk-server \
  -v /var/lib/rustdesk-server:/var/lib/rustdesk-server \
  rustdesk/rustdesk-server

七、防火墙配置指南

7.1 UFW防火墙配置

# 允许RustDesk相关端口
sudo ufw allow 21114:21119/tcp
sudo ufw allow 21116/udp
# 查看配置
sudo ufw status numbered

7.2 firewalld防火墙配置

# 添加服务
sudo firewall-cmd --permanent --new-service=rustdesk
# 配置端口
sudo firewall-cmd --permanent --service=rustdesk --add-port=21114-21119/tcp
sudo firewall-cmd --permanent --service=rustdesk --add-port=21116/udp
# 应用配置
sudo firewall-cmd --permanent --add-service=rustdesk
sudo firewall-cmd --reload

八、系统服务配置问题

8.1 "服务无法开机自启"

修复方案

  1. 启用systemd服务:
sudo systemctl enable rustdesk-hbbs
sudo systemctl enable rustdesk-hbbr
  1. 验证自启配置:
sudo systemctl is-enabled rustdesk-hbbs
sudo systemctl is-enabled rustdesk-hbbr

九、错误排查工具与方法

9.1 日志分析工具

# 实时查看日志
journalctl -u rustdesk-hbbs -f
# 搜索错误日志
grep -i "error" /var/log/rustdesk-server/*.log
# 查看特定时间段日志
journalctl -u rustdesk-hbbr --since "2023-09-01" --until "2023-09-02"

9.2 状态检查脚本

创建状态检查脚本check_rustdesk.sh

#!/bin/bash
echo "RustDesk Server Status Check"
echo "==========================="
# 检查服务状态
systemctl is-active rustdesk-hbbs
systemctl is-active rustdesk-hbbr
# 检查端口监听
netstat -tulpn | grep -E "hbbs|hbbr"
# 检查资源占用
ps aux | grep -E "hbbs|hbbr" | grep -v grep

十、常见问题FAQ

Q1: 如何迁移RustDesk Server到新服务器?

A1: 迁移步骤:

  1. 在新服务器安装相同版本的RustDesk Server
  2. 停止原服务器服务:sudo systemctl stop rustdesk-hbbs rustdesk-hbbr
  3. 复制数据目录:scp -r /var/lib/rustdesk-server/ user@newserver:/var/lib/
  4. 复制配置文件:scp /etc/rustdesk-server/* user@newserver:/etc/rustdesk-server/
  5. 在新服务器启动服务并验证

Q2: 如何升级RustDesk Server到最新版本?

A2: 升级步骤:

# 备份数据
sudo cp -r /var/lib/rustdesk-server /var/lib/rustdesk-server-backup
# 下载最新版本
wget https://gitcode.com/gh_mirrors/ru/rustdesk-server/releases/latest/download/rustdesk-server-linux-x64.tar.gz
# 解压安装
tar -zxvf rustdesk-server-linux-x64.tar.gz
cd rustdesk-server-linux-x64
sudo ./install.sh
# 重启服务
sudo systemctl restart rustdesk-hbbs rustdesk-hbbr

结语

通过本文介绍的错误排查方法和修复方案,你应该能够解决大多数RustDesk Server的常见问题。如果遇到本文未涵盖的错误,请收集详细日志并在社区论坛提交issue,我们将持续更新本文内容。

如果你觉得本文有帮助,请点赞、收藏并关注,下期我们将推出《RustDesk Server高级配置与性能优化》。

登录后查看全文
热门项目推荐
相关项目推荐