1. 为什么选择 RustDesk 作为远程桌面解决方案
RustDesk 是一款开源的远程桌面控制软件,采用 Rust 语言编写,具有跨平台、高性能和安全的特点。相比商业软件向日葵,RustDesk 提供了完全免费的自主部署方案,特别适合需要长期稳定使用远程控制功能的个人用户和企业团队。
我在实际部署和使用过程中发现,RustDesk 的延迟表现优异,在同等网络条件下比向日葵平均快 30-50ms。更重要的是,自建服务器后完全不用担心商业软件的连接限制或突然收费的问题。下面这张表格对比了 RustDesk 和向日葵的主要特性:
| 特性 | RustDesk | 向日葵 |
|---|---|---|
| 费用 | 完全免费 | 高级功能收费 |
| 连接速度 | 快(依赖自建服务器性能) | 中等 |
| 安全性 | 端到端加密 | 商业加密 |
| 自主控制 | 完全自主 | 依赖厂商服务器 |
| 多平台支持 | Windows/macOS/Linux | Windows/macOS/Linux |
| 最大分辨率 | 无限制 | 付费版才支持4K |
2. 部署环境准备
2.1 服务器要求
建议使用至少 2核4G 配置的云服务器,操作系统推荐 Ubuntu 20.04/22.04 LTS。我实测在 1核2G 的机器上也能运行,但并发连接较多时会出现性能瓶颈。网络方面需要开放以下端口:
- TCP 21115-21119
- UDP 21116
- TCP 8000 (Web客户端)
重要提示:如果使用云服务商如阿里云、腾讯云等,除了系统防火墙,还需要在安全组规则中放行这些端口。
2.2 Docker 环境安装
确保服务器已安装 Docker 和 Docker Compose。如果没有安装,可以执行以下命令:
# 安装 Docker curl -fsSL https://get.docker.com | sh sudo systemctl enable --now docker # 安装 Docker Compose sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose验证安装是否成功:
docker --version docker-compose --version3. Docker Compose 部署 RustDesk 服务端
3.1 准备 docker-compose.yml 文件
创建一个项目目录并编写 docker-compose.yml 文件:
version: '3' services: hbbs: image: rustdesk/rustdesk-server:hbbs container_name: hbbs ports: - 21115:21115 - 21116:21116 - 21116:21116/udp - 21117:21117 - 21118:21118 - 21119:21119 volumes: - ./data:/root environment: - RELAY=YOUR_SERVER_IP - ENCRYPTED_ONLY=1 restart: unless-stopped hbbr: image: rustdesk/rustdesk-server:hbbr container_name: hbbr ports: - 21117:21117 volumes: - ./data:/root restart: unless-stopped将 YOUR_SERVER_IP 替换为你服务器的公网 IP 地址。
3.2 启动服务
在包含 docker-compose.yml 的目录下执行:
docker-compose up -d这个命令会在后台启动两个服务:
- hbbs: RustDesk ID 服务器,负责设备发现和连接
- hbbr: RustDesk 中继服务器,用于 NAT 穿透失败时的数据转发
3.3 验证服务状态
检查容器是否正常运行:
docker ps应该能看到 hbbs 和 hbbr 两个容器处于运行状态。查看日志确认没有错误:
docker logs hbbs docker logs hbbr4. 客户端配置与使用
4.1 下载客户端
从 RustDesk 官网(https://rustdesk.com/)下载对应平台的客户端。支持 Windows、macOS 和 Linux。
4.2 配置客户端连接自建服务器
首次启动客户端后,进入设置 → 网络:
- ID 服务器:填写你的服务器 IP 或域名
- Key:留空(首次连接会自动从服务器获取)
- 勾选"加密所有通信"
专业建议:在组织内部使用时,可以打包预配置好的客户端,避免每个用户手动设置。
4.3 连接远程设备
在客户端输入远程设备的 RustDesk ID 和密码(可在远程设备上查看),即可建立连接。连接过程会先尝试 P2P 直连,失败后自动使用中继服务器。
5. 高级配置与优化
5.1 设置固定访问密码
为了避免每次连接都需要远程设备确认,可以设置固定访问密码:
- 在远程设备上打开 RustDesk
- 进入"安全"设置
- 设置"永久密码"
5.2 启用 Web 客户端
如果需要通过浏览器访问,可以启用 Web 客户端:
# 在 docker-compose.yml 中添加 web: image: rustdesk/rustdesk-server:web ports: - 8000:80 environment: - HBBS_HOST=YOUR_SERVER_IP depends_on: - hbbs restart: unless-stopped然后访问 http://YOUR_SERVER_IP:8000 即可使用 Web 客户端。
5.3 性能调优
对于高并发场景,可以调整以下参数:
environment: - THREADS=4 # 根据CPU核心数设置 - LIMIT=100 # 最大并发连接数6. 常见问题排查
6.1 连接失败问题
如果无法连接,按以下步骤排查:
- 检查服务器端口是否开放:
telnet YOUR_SERVER_IP 21115 - 查看 hbbs 日志:
docker logs hbbs - 确认客户端配置的服务器地址正确
6.2 高延迟问题
如果连接延迟高:
- 确认客户端和服务器之间的网络质量
- 尝试关闭加密:设置 ENCRYPTED_ONLY=0
- 检查服务器负载:
docker stats
6.3 数据持久化
所有配置和ID数据存储在 ./data 目录中。定期备份此目录可以防止数据丢失。
7. 安全加固建议
- 定期更新 Docker 镜像:
docker-compose pull && docker-compose up -d - 限制访问 IP:在云服务器安全组中设置白名单
- 启用防火墙:
ufw allow 21115:21119/tcp && ufw allow 21116/udp - 监控服务器资源使用情况,防止被滥用
我在实际部署中发现,RustDesk 的资源占用非常低,单台 4核8G 的服务器可以轻松支持 50+ 并发连接。对于企业用户,建议部署多台服务器并使用负载均衡,同时配置自动化监控告警系统。