雨云搭建 RustDesk 自建中继远程桌面

用雨云 KVM 云服务器 Docker 自建 RustDesk 中继,异地远程桌面更稳更私密
发布于 更新于
8

远程控制家里的电脑帮父母修个软件、在外临时调一下公司工位上的程序、或者平板连上宿舍那台台式机跑点东西——这些场景你八成都遇到过。TeamViewer 越来越爱弹“商业用途”警告,向日葵免费版高峰期卡成幻灯片。RustDesk 是开源免费的远程桌面工具,最关键的是它支持自建中继服务器(hbbs/hbbr):把中转节点放在自己的云服务器上,速度不依赖官方公共服务器,连接数据也只经过你自己的机器,隐私更放心。本文用一台雨云 KVM 云服务器,Docker 一把梭把中继搭起来,每一步命令都能直接抄。

一、先准备一台雨云 KVM 云服务器

自建中继对配置要求不高,1 核 1G 都能跑,但中继要长期在线、带宽决定连接流畅度,所以挑一台网络稳、线路近的机器更省心。想低成本试水可以看一类国产高性价比云服务器,比如雨云:它家是 KVM 虚拟化的云服务器,Debian、Ubuntu 镜像任选,新用户用优惠码 admin01 享五折,入门版折后约 9 元/月,还支持 7 天无理由退款,拿来做中继试错成本很低。如果你还在挑机器,可以先看这篇 VPS 怎么选不踩坑 把参数搞明白,再看 新手买 VPS 先看这几个配置参数 决定配置。

我一般选 Debian 12 最小化镜像,干净、源全。系统装好后先按 VPS 到手第一件事做什么 做基础安全(建普通用户、改 SSH 端口、开 ufw),本文默认你已经搞定。中继要开放的端口在第二步列清楚。

二、RustDesk 中继用到哪些端口

RustDesk 的中继由两部分组成:hbbs(ID/注册服务器,负责设备握手与分配)和 hbbr(中继服务器,负责实际转发画面和键鼠数据)。它们需要以下端口:

协议 端口 用途
TCP 21115 hbbs 供 NAT 类型测试
TCP 21116 hbbs 主要 TCP 端口
UDP 21116 hbbs 主要 UDP 端口(打洞用)
TCP 21117 hbbr 中继端口
TCP 21118 网页客户端(Web Client)
TCP 21119 网页客户端(Web Client)

放行命令(ufw 已启用的情况下):

ufw allow 21115:21119/tcp
ufw allow 21116/udp
ufw reload

如果你的云厂商还有“安全组”,记得在控制台同样放行这一批端口,否则外面连不进来。

三、用 Docker 一键拉起 hbbs + hbbr

先装 Docker(Debian 12 推荐用官方脚本,避免源里版本旧):

curl -fsSL https://get.docker.com | sh
systemctl enable --now docker

建一个工作目录,把数据持久化到 volume,否则容器重建后设备 ID 和密钥就丢了:

mkdir -p /opt/rustdesk && cd /opt/rustdesk

写一份 docker-compose.yml

version: "3"
services:
  hbbs:
    image: rustdesk/rustdesk-server:latest
    container_name: hbbs
    command: hbbs
    ports:
      - "21115:21115"
      - "21116:21116"
      - "21116:21116/udp"
      - "21118:21118"
      - "21119:21119"
    volumes:
      - ./data:/root
    restart: unless-stopped
  hbbr:
    image: rustdesk/rustdesk-server:latest
    container_name: hbbr
    command: hbbr
    ports:
      - "21117:21117"
    volumes:
      - ./data:/root
    restart: unless-stopped

启动:

docker compose up -d

docker logs hbbs 第一次启动会打印一对密钥(类似 Key: xxxxxxxx),把这个 Key 抄下来,客户端连中继时要填。它存在 ./data 里,容器重建也不丢,但第一次就记好最省事。

四、客户端填中继地址

在被控端和主控端的 RustDesk 里,点右上角“菜单 → 网络 ID/中继服务器”,填入:

  • ID 服务器你的服务器IP(或域名):21116
  • 中继服务器你的服务器IP/域名:21117
  • Key:刚才抄下的那串

填好后两台设备都显示“就绪”,互相用设备 ID 就能连了。手机端在设置里同样位置填,逻辑一模一样。

五、踩过的坑与经验

  • Key 不匹配连不上:客户端 Key 必须和 hbbs 启动时生成的完全一致。换过容器但 ./data 没挂载会重新生成 Key,导致旧客户端失效——所以 volume 一定要挂上。
  • 只放行部分端口会“能握手不能传画面”:21116 是握手、21117 才是真正中继。只开 21116 会显示在线却黑屏,记得把第二节那一批全开。
  • UDP 21116 别漏:打洞走 UDP,只开 TCP 在复杂网络下容易走服务器强制中转、变慢。
  • 想用域名:把域名 A 记录指向服务器 IP,客户端填域名即可,以后换机器只改 DNS,不用挨个改客户端。
  • 中继也要做基础防护:虽然 RustDesk 有 Key 鉴权,但别把 21115-21119 对全网任意 IP 长期暴露还用弱口令——配合 VPS 安全配置实战 的思路做一层限制更稳妥。

小结

自建 RustDesk 中继最大的好处就两点:连得稳(中转节点是你自己的,不挤官方公共服),数据只过自己机器(隐私可控)。配置本身不复杂,一份 docker-compose 加几个端口就完事,难点都在端口放行和 Key 对齐上。长期在线的中继推荐用雨云这种低价稳定的 KVM 机器——优惠码 admin01 五折、7 天无理由退款,跑中继这类常驻小服务很合适。

合规提醒:使用雨云及本文所述方案时,请遵守《网络安全法》《个人信息保护法》《数据安全法》等相关法律法规,仅用于合法合规的远程协助、开发调试等用途,不得用于任何违法违规活动;远程控制他人设备须获得设备所有者明确授权。

常见问题(FAQ)

自建 RustDesk 中继和直接用官方公共服务器有什么区别?
官方公共中继免费但高峰期人多会限速、延迟飘忽,且连接数据经过官方节点;自建中继跑在你自己的云服务器上,中转只过自己机器,隐私更可控,速度也取决于你服务器的带宽和位置,通常比挤公共服稳。
雨云入门版 1核1G 能跑 RustDesk 中继吗?
能。hbbs/hbbr 本身很轻,1 核 1G 甚至更低都能长期运行。真正影响体验的是带宽:同时连的设备越多、传的画面越精细,越吃上行。入门版练手足够,正式多设备用建议选稍宽带宽的套餐,优惠码 admin01 五折后价格很低。
客户端连不上中继、显示黑屏怎么办?
先核对两点:一是客户端填的 Key 必须和 hbbs 启动时生成的完全一致(容器重建要确认 ./data 已挂载,否则 Key 会变);二是端口要放全——21116 负责握手、21117 才是真正中继,漏开 21117 就会“在线却黑屏”,同时别忘了放 UDP 21116。
雨云优惠码 admin01 怎么用?
在下单页优惠码/推广码输入框填 admin01 即享五折,以结算页显示为准。建议先开最低配月付验证线路与售后,再考虑年付;雨云同时支持 7 天无理由退款,试错零压力。

本文由作者原创/授权发布于极跃圈(jiyueip.com)未经许可,禁止转载。题图来自Unsplash,基于CC0协议。

声明:极跃圈(JIYUEIP.com)内网友所发表的所有内容及言论仅代表其本人,并不反映任何极跃圈(JIYUEIP.com)之意见及观点。

0 讨论
热门最新
总结
暂无总结
0 / 600

用雨云 KVM 云服务器 Docker 部署 Code Server,浏览器里直接写代码、跑终端、调端口,环境只在服务器维护一份。含 HTTPS 反代、强密码安全与优惠码 admin01 五折。

用雨云 KVM 云服务器 Docker 自建 Beszel 轻量监控:多主机资源一屏总览,接 Gotify 告警,与 Uptime Kuma 互补,含优惠码 admin01 五折。

用雨云 KVM 云服务器 Docker 自建 Cloudreve 网盘:对象存储直传、外链分享、离线下载,轻量可替代 Nextcloud,含优惠码 admin01 五折。

用雨云 KVM 云服务器配置 rclone 云盘同步与挂载:对接对象存储 S3 后端、sync 增量同步、mount 挂载成磁盘、断点续传与定时备份,含优惠码 admin01 五折。