
这次我们来看一个老牌开源远程控制项目RustDesk。最近它又出现在热搜上两个方向最受关注一是“rustdesk 小米澎湃手机禁止安装”这类安卓端安装拦截问题二是“rustdesk 自建服务器”这条路到底好不好走。如果你关心远程办公、内网穿透、服务器管理或者单纯不想把数据交给第三方商业远控软件这篇文章可以直接收藏。RustDesk 不是新面孔它是一个开源远程桌面工具底层用 Rust 编写支持 Windows、macOS、Linux、Android、iOS 多个平台。最值得关注的核心能力是既能走官方公共服务器做 P2P 直连也支持自己部署 ID/中继服务器把设备列表、连接记录和流量全部放在自己手里。这个特性让它在企业内网和隐私敏感场景里非常吃香。本文会做几件事先梳理 RustDesk 的核心能力和使用边界再讲自建服务器需要什么环境、怎么部署然后是客户端怎么配置、小米澎湃手机安装限制怎么理解最后给出一套功能测试、性能观察和常见问题排查方法。读完你应该能判断 RustDesk 适不适合你的场景并且能独立搭一套自建服务器来跑通远控。1. RustDesk 核心能力速览能力项说明项目类型开源远程桌面 / 远程控制工具客户端平台Windows、macOS、Linux、Android、iOS覆盖主流桌面和移动端服务端平台Linux 优先支持 VPS / 云主机 / 内网服务器部署核心组件hbbsID/注册服务器、hbbr中继服务器、客户端主要功能远程桌面控制、文件传输、远程打印机、剪贴板共享、TCP 隧道、P2P 直连与中继切换自建服务器支持部署后客户端可完全脱离官方公共服务器网络依赖默认需要开放 TCP 21115-21119、UDP 21116 等端口具体按防火墙规则放行服务器资源占用轻量中继服务器和注册服务器内存占用远低于 Windows 远控服务端实际占用以并发数为准开源协议RustDesk 客户端使用 AGPL 等开源许可商用需确认合规边界小程序/服务端有对应开源授权规则适合场景个人跨设备远控、内网运维、企业远程办公数据不出内网、服务器带外管理从材料看RustDesk 自建服务器的最大价值不是省掉公共服务器而是把“设备发现”和“中继转发”这两个关键节点收归己有。配合 Docker 或者二进制方式部署一台低配 Linux 服务器就能承担几十到上百台客户端的中继任务具体取决于带宽和多并发场景实际压测需要按自己的客户端规模来跑。2. 适用场景与使用边界RustDesk 能解决的问题主要是以下几类第一日常远程办公。在办公室控制家里电脑或者在家控制公司电脑前提是两台设备都能访问到 ID 服务器。第二内网运维和服务器管理。Linux 服务器上装 RustDesk 服务端客户端登录后可以远程桌面调试也可以当备用运维通道。第三数据不出内网。企业不想让办公电脑的屏幕画面、文件传输经过第三方商业远控服务器中转自建 RustDesk 服务端后所有流量都走自己的服务器适合对数据合规有要求的环境。第四跨平台文件传输和设备控制。手机控制电脑、Windows 控制 Linux 桌面、macOS 控制 WindowsRustDesk 的跨平台覆盖比较实用。但 RustDesk 也有不适合的场景如果你的目标只是传文件且无人值守轻量工具链可能比完整远控更合适。如果需要多人同时远程同一台 Windows 桌面并做细粒度权限管理商业远控的“会话录制、分组权限、审计报表”会更成熟RustDesk 自建后这部分要自己补。纯内网且不允许开放任何外部端口时RustDesk 自建反而复杂这时要先评估网络策略是否允许 21115 等端口的访问。合规和授权提醒必须放在前面。远程控制天然具备“接管他人设备屏幕”的能力使用前必须获得设备所有者的明确授权。企业内部部署要注意不要在没有告知和授权规则的情况下批量静默安装到员工电脑同时要对远程会话进行审计保留操作日志。任何将 RustDesk 用于未授权访问、监控他人设备、窃取数据的行为在法律上都有风险。RustDesk 是工具工具本身中立使用边界取决于使用者和管理者。关于安卓端安装最近“小米澎湃手机禁止安装 rustdesk”的讨论比较多。从公开信息看小米澎湃 OS 的安装拦截属于系统安全策略的一部分通常会在安装非应用商店来源的 APK 时弹出风险提示或直接阻止。遇到这种情况正确的做法不是盲目关闭安全保护后强行安装而是先确认 APK 下载来源是否可信。RustDesk 官网和 GitHub Releases 的包是主要可信来源。企业若要在大量手机上统一部署优先走移动设备管理MDM或企业内部应用商店分发渠道而不是要求用户绕过系统安全警告。个人确需使用先判断安装包来源再根据系统提示逐项确认而不是一次性关闭所有安全限制。3. RustDesk 自建服务器环境准备先说结论RustDesk 自建服务器并不吃配置但端口和环境准备不能马虎。3.1 服务器要求操作系统Ubuntu 22.04/24.04、Debian 12 或 CentOS Stream 9 均可Ubuntu/Debian 对 Docker 支持更省事。CPU 和内存低负载场景下 1 核 1G 的 VPS 就能跑起来但如果同时中继高分辨率桌面画面建议 2 核 2G 起步。中继会消耗网络带宽内存不是瓶颈。磁盘20GB 以上即可RustDesk Server 本身体积不大但要给系统日志和后续更新留空间。网络需要一个公网 IP或者一个有公网转发能力的入口同时要确认云服务商的安全组出规则、实例防火墙规则都能放行对应端口。域名可选但不是必须如果有域名可以给 hbbs/hbbr 配置 TLS 证书客户端连接时更稳。纯 IP 也可以跑通。3.2 端口说明RustDesk 服务端默认涉及以下端口端口协议用途21115TCPNAT 类型探测21116TCP/UDP客户端注册与心跳21117TCP中继服务hbbr端口21118TCPWeb 客户端端口可选21119TCPWeb 中继端口可选如果不想让客户端走加密连接通常只需要开放 21115-21117。部署后务必在云服务商的安全组里放行同时在服务器本机用 ufw 或 firewalld 放行。3.3 客户端要求Windows 客户端支持 Win10/Win11Linux 端需要对应的桌面环境和依赖库Android 端要确定来源和版本兼容性。实测时优先选择官方 GitHub Releases 或官网下载的最新稳定版避免使用第三方修改包。4. RustDesk 服务端部署与启动这里以 Linux VPS Docker 方式为例。Docker 是相对省心的部署方式升级和端口映射都方便。4.1 Docker 部署 hbbs / hbbr先在服务器上安装 Docker然后执行# 创建 RustDesk 数据目录 mkdir -p /opt/rustdesk # 进入目录 cd /opt/rustdesk # 下载并启动容器注意替换服务器公网 IP # 下面的 SERVER_IP 换成你服务器的公网 IP docker run --name hbbs \ -p 21115:21115 \ -p 21116:21116 \ -p 21116:21116/udp \ -v /opt/rustdesk:/data \ rustdesk/rustdesk-server:latest \ hbbs -r SERVER_IP:21117 docker run --name hbbr \ -p 21117:21117 \ -v /opt/rustdesk:/data \ rustdesk/rustdesk-server:latest \ hbbr注意hbbs 启动时-r参数指向中继地址很多连接失败都是因为这里的 IP 写错或写成了 localhost。如果服务器有域名-r可以填domain:21117。启动后可以用docker ps查看容器是否在运行。# 查看容器运行状态 docker ps # 查看日志 docker logs hbbs docker logs hbbr4.2 二进制方式部署如果不习惯 Docker可以下载二进制包直接跑。到 RustDesk GitHub Releases 的 rustdesk-server 项目里找对应 Linux 版本然后执行# 解压后目录里通常包含 hbbs 和 hbbr 两个可执行文件 tar xzf rustdesk-server-linux-amd64.tar.gz cd rustdesk-server-linux-amd64 # 启动 hbbs ./hbbs -r SERVER_IP:21117 # 启动 hbbr ./hbbr 生产环境建议把两个进程做成 systemd 服务保证重启后自动拉起。# 示例 systemd unit路径按实际解压目录调整 sudo tee /etc/systemd/system/rustdesk-hbbs.service /dev/null EOF [Unit] DescriptionRustDesk ID Server Afternetwork.target [Service] ExecStart/opt/rustdesk/hbbs -r SERVER_IP:21117 Restartalways RestartSec5 Userroot [Install] WantedBymulti-user.target EOF同样方式处理 hbbr然后执行sudo systemctl daemon-reload sudo systemctl enable --now rustdesk-hbbs sudo systemctl enable --now rustdesk-hbbr4.3 防火墙放行Ubuntu 使用 ufw执行sudo ufw allow 21115/tcp sudo ufw allow 21116/tcp sudo ufw allow 21116/udp sudo ufw allow 21117/tcp sudo ufw reload防火墙状态确认sudo ufw status同时去云服务商的“安全组”页面确认 21115-21117 已经放行确保没有双重防火墙拦截。5. 客户端安装与自建服务器配置服务端跑起来之后客户端要填上自己的 ID 服务器和中继服务器地址才能让数据走自己的服务器。5.1 RustDesk 客户端获取Windows/Linux/macOS 客户端从 RustDesk 官网或 GitHub Releases 下载。Android 端从官方网站、GitHub Releases 或应用商店下载。5.2 Windows 客户端配置打开 RustDesk 主界面点击右上角菜单按钮三横线选择“ID/中继服务器”。在弹出的窗口中ID 服务器填写你部署 hbbs 的服务器 IP 或域名。中继服务器填写同一个服务器 IP端口可以填21117或者留空走默认。测试时先不勾选“支持通过密钥自动登录”如有密钥选项保存后等待几秒钟。主界面左下角的连接状态会变化如果 ID 服务器配置成功页面中间的“ID Server”区域不再提示连接失败。然后测试两台设备互通记录本机 RustDesk ID 和密码。在另一台设备上输入这个 ID点击连接。输入密码验证能否看到远端桌面。如果能看到桌面并且鼠标键盘操作正常自建服务器链路基本通。5.3 公钥配置与设备接入RustDesk 服务端默认会生成公私密钥。Docker 部署时密钥会生成在宿主机映射目录/opt/rustdesk下通常是id_ed25519和id_ed25519.pub。客户端如果要共享同一套“机构 ID/密钥管理模式”需要把公钥内容填入客户端的密钥设置里。这个配置在企业批量部署时有用可以让未授权设备无法接入。从材料看“key”文件是 RustDesk Server 在首次启动时自动生成的。客户端填写公钥内容后连接过程会验证服务端身份。个人使用纯 IP 不加密钥也能跑通但不建议跳过因为自建服务端的意义就是确认“我是连到自己的服务器”公钥验证能避免中间人风险。5.4 Android 客户端配置与小米澎湃手机限制Android 端配置思路一样打开 RustDesk点击左上角菜单进入设置填入 ID 服务器地址和中继服务器地址。关于小米澎湃手机上安装 RustDesk 被拦截的问题从大量反馈看主要原因是系统默认限制非应用商店 APK 安装。这不是 RustDesk 独有的问题很多侧载应用在小米澎湃 OS 上都会遇到类似提示。如果你确认 APK 来自 RustDesk 官方 GitHub Releases可以按系统提示进入“本次安装允许”的授权页面只对当前安装包放开限制。企业需要批量安装时建议走移动设备管理MDM方案由管理员统一下发和设置而不是让每个用户都去调整安全选项。如果安装成功但连接时提示网络错误先确认手机网络是否能访问你服务器的 21116/21117 端口。在服务端用 tcpdump 或 netstat 观察有没有来自客户端的连接请求可以快速定位是客户端配置问题还是服务端未启动。6. 功能测试与效果验证自建服务器的目标是让两个设备透过自己的 ID 服务器互相找到对方并直接或经由中继建立连接。下面给出一套通用验证流程。6.1 网络连通性测试先在客户端电脑上测试端口连通性。Windows PowerShell 可以执行Test-NetConnection 你的服务器IP -Port 21116 Test-NetConnection 你的服务器IP -Port 21117Linux/macOS 终端可以执行nc -vz 你的服务器IP 21116 nc -vz 你的服务器IP 21117如果 21116 显示失败多半是 UDP/TCP 端口没放行或者 hbbs 没启动。如果 21117 失败重点看 hbbr 的状态。6.2 点对点直连测试当两台设备在同一个局域网或具备公网直连条件时RustDesk 会优先尝试 P2P 打洞直连。测试方式两台设备分别配置同一个自建服务器地址。用设备 A 发起对设备 B 的远程连接。连接成功后在 RustDesk 主界面或日志中观察连接模式。如果显示 Direct Connection表示走的是 P2P 直连带宽不经过你的服务器速度最快。如果显示 Relay Connection说明打洞失败当前走的是 hbbr 中继。画面流畅度取决于服务器带宽和两地网络延迟。6.3 中继连接测试模拟 P2P 失败的最简单方法让设备 A 和设备 B 分别处于两个严格对称 NAT 的网络中。如果无法构造可以临时在服务器上看 hbbr 日志只要出现 Relay 转发记录就说明中继链路是通的。中继连接的质量判断标准画面是否能稳定传输是否存在色彩断层和马赛克。鼠标操作响应的延迟是否可接受。连接断开后是否会自动重连。如果画面卡顿优先检查服务器带宽。RustDesk 中继不会做太多压缩处理带宽占用基本等同于 1:1 的远程画面输出1080p 高帧率操作会明显吃带宽。6.4 文件传输测试连接建立后在远控工具栏里找到文件传输功能。RustDesk 支持双向文件传输可以测试从被控端拉取一个文件到本机。从本机推送一个文件到被控端。传一个 1GB 左右的大文件观察速度和是否中断。如果文件传输走中继速度会受服务器带宽影响。若出现文件传输失败重新检查 21116 和 21117 是否稳定放行。6.5 TCP 隧道测试RustDesk 自带 TCP 隧道功能可以把远端内网的某个端口映射到本地。这对调试内网服务很有用但要注意开启隧道相当于把远端端口暴露给本地需要在授权范围内使用。生产使用前请确认隧道访问的服务是否有默认口令、是否有外部可达风险、是否违反内网安全策略。7. 资源占用与性能观察先说句实话RustDesk 服务端资源占用很低但“低”不代表随便跑。需要用实际负载来观察。7.1 服务端资源观察在服务器上执行# 查看系统资源 free -h top然后看 hbbs/hbbr 两个进程的 CPU 和内存占用。空闲状态下一个几十人的小型使用场景里内存占用通常只有几百 MB 甚至更低。如果使用人数增加主要瓶颈还是中继带宽不太是 CPU。观察网络流量# 安装 nload 或 iftop 后 nload在一台中继连接进行时观察服务器网络流入流出速度。如果带宽占用持续接近节点带宽上限就要考虑升级带宽或限制并发。7.2 客户端延迟与画面质量客户端侧重点关注三个指标连接建立耗时输入密码后到看到桌面的时间。延迟波动鼠标移动时的跟手程度。码率变化复杂画面是否压缩过度。RustDesk 会自动根据网络情况调整画面质量。如果手动在客户端里调整过画质参数注意分辨率、帧率和码率之间的平衡。默认配置对大多数场景够用有问题再微调。7.3 降低负载的建议长时间无人值守时建议被控端睡眠策略设置为不睡眠或使用局域网唤醒方案否则无法远程开机。不要把高码率远控长时间跑在低带宽服务器上会让所有人共享一条拥堵链路。分区域场景可以在多地部署多套 hbbs/hbbr客户端按区域入口配置减少跨地域中继延迟。每台服务器的并发中继数量需要做压测推荐从 5-10 路低码率连接开始逐步增加。这里不给出具体数字是合理的因为实际占用完全取决于分辨率、刷新率、连接模式和服务器规格。部署后先小范围验证再推广才是稳妥做法。8. 常见问题与排查方法问题现象可能原因排查方式解决方案客户端无法连接自建 ID 服务器ID 服务器 IP 填错在客户端“ID/中继服务器”里核对地址改为正确公网 IP 或域名连接时提示“ID 服务器不匹配”客户端服务端地址或密钥对不上检查 hbbs 生成的公钥和客户端密钥配置重新填写公钥内容两台设备能注册但无法建立画面中继端口 21117 未放行用nc -vz测试 21117在防火墙和安全组放行 21117连接速度慢画面模糊走了中继且服务器带宽不足在服务器用 nload 看流量升级带宽或优化为 P2P 直连手机安装 RustDesk 时被系统拦截系统限制非商店侧载应用确认 APK 来源是否为官方 release只对官方包放开单次安装或走 MDM 分发Docker 容器重启后服务不自动启动未设置 restart 策略查看容器日志和策略启动时加--restartalways或用 systemd连接时提示密钥错误公钥配置错误或服务端密钥改动对比服务器/opt/rustdesk下的 pub 内容重新部署并同步公钥Windows 客户端更新后连不上新客户端默认访问官方服务器检查版本和配置项是否被重置重新填写自建服务器地址被控端无法自动接受连接未设置无人值守访问密码在客户端设置里配置安全密码配置强密码并启用开机启动手机端远控时操作延迟高移动网络延迟大切换网络或观察连接模式优先使用 Wi-Fi 或优化网络8.1 RustDesk 小米澎湃手机安装问题的进一步排查很多用户反馈的完整链路如下下载 APK → 点击安装 → 系统弹窗提示风险 → 安装被中断。这不代表 RustDesk 本身有问题而是小米澎湃 OS 对侧载应用的安全策略比较严格。建议按顺序排查确认 APK 来源rustdesk 官网和 GitHub Releases 优先。查看系统是否提示“风险应用”可以对比 SHA-256 校验值确保下载文件未被篡改。只对当前安装放行的设置不要全局关闭“纯净模式”。如果单位需要统一部署安卓客户端又希望不发散安装操作更合适的方式是联系单位 IT 走企业应用商店或 MDM 渠道这既满足管理要求也降低安全风险。9. RustDesk 自建服务器最佳实践自建远控服务看起来简单但把服务跑稳、跑安全需要一套工程化操作习惯。9.1 保留最小可运行配置首次部署成功之后马上把以下内容归档到本地hbbs 启动命令和参数。hbbr 启动命令和参数。公钥内容。客户端配置截图。Docker / systemd 配置备份。这样后续换服务器、升级版本时可以用一套经过验证的配置快速恢复。9.2 分目录管理数据建议服务端数据目录如下/opt/rustdesk ├── config # 服务配置 ├── data # hbbs/hbbr 数据库与运行时数据 ├── logs # 服务日志 └── backup # 密钥、配置备份Docker 挂载时把整个/opt/rustdesk映射进容器数据文件自然落在宿主机方便备份。如果使用二进制方式确认 hbbs/hbbr 的当前工作目录是同一个持久化目录防止重启后找不到密钥和数据库。9.3 定期备份密钥RustDesk 服务端生成的密钥文件如果丢失客户端和服务端的配对关系会被破坏。建议把id_ed25519和id_ed25519.pub做离线备份最好配合服务器系统盘快照。9.4 日志与审计企业环境里运行远控服务日志留存和审计很重要。RustDesk 服务端本身会输出连接日志建议将 hbbs/hbbr 的标准输出重定向到日志文件。搭建简单的日志保留策略按天或按大小分割。与人员授权名单对照检查发现异常连接要及时处理。比如 systemd 里的日志会进入 journald可以执行journalctl -u rustdesk-hbbs --since today journalctl -u rustdesk-hbbr --since todayDocker 方式则用docker logs配合--log-opt max-size10m限制日志大小。9.5 最小权限与网络安全hbbs/hbbr 不要在容器内使用 root 以外的错误配置运行能用非 root 用户就不用 root。服务器尽量不要部署其他暴露公网的高风险服务减少被攻击面。如果只有少数人使用可以在防火墙限制只允许特定 IP 访问 21115-21117。不要禁用客户端默认的密码确认机制除非你非常清楚自己在做什么。9.6 权限与授权管理企业内部使用 RustDesk 时要建立一套清晰的授权规则谁可以远程访问哪些设备。是否允许手机端访问办公电脑。是否允许员工在工作电脑上安装 RustDesk 客户端并接受外部连接。如果员工电脑上开着远控服务又没有统一策略就存在被外部人员通过泄露的 ID 和密码尝试连接的风险。这里建议设置强密码同时尽量关闭“仅允许本设备访问”之外的不必要开放范围。RustDesk 支持“安全密码”和“临时密码”功能安全密码是固定密码临时密码每次启动会变化。如果网络环境复杂且不常远控建议用临时密码更多一些如果需要无人值守则必须通过高强度密码和可信网络来保护被控端。10. RustDesk 版本升级与维护自建服务依赖开源社区持续更新版本升级是一件早晚要做的事。10.1 Docker 方式升级# 拉取新镜像 docker pull rustdesk/rustdesk-server:latest # 重启容器 docker restart hbbs hbbr升级前建议记录旧版本号然后对比 Release 说明确认是否有破坏性更新。10.2 二进制方式升级把旧二进制备份后替换成新版本即可。注意不要覆盖/opt/rustdesk下已生成的密钥数据库文件只替换hbbs和hbbr两个文件。10.3 升级前后验证清单升级前记录服务端 IP、端口、客户端目标数量。升级后先只让一台测试设备连接观察注册和连接是否正常。测试文件传输和远控画面确认中继链路没问题。检查日志里是否有异常报错。11. 关于热点小米澎湃手机禁止安装 RustDesk 的客观理解最后再展开说一下这个热点。“小米澎湃手机禁止安装 rustdesk”最近登上热词榜本质上体现的是移动安全策略与侧载应用之间的常见冲突。澎湃 OS 为提高设备安全默认对非官方应用市场下载的应用做更严格的检测安装时会出现风险提示或直接阻止。这类提示在安装任何开源远控工具时都可能出现RustDesk 并非唯一被拦截的工具。正确认知是不要看到“阻止安装”就认为是工具或系统有问题。下载 APK 时重点看域名和签名。系统提示有风险时先查官方校验信息再决定是否继续。企业场景不要走“个人绕过安全”路线应通过管理通道统一分发。从自建服务器角度来说手机端接入只是 RustDesk 的一部分。它的重点仍是“开源 可自建 跨平台”的组合这在当前远程办公和隐私保护需求抬头的背景下反而是长期价值。12. 总结与下一步如果你的诉求是“把远程控制数据控制在自己手里”RustDesk 值得认真试一次。它最值得尝试的点就是服务端开箱即用、客户端跨平台、数据链路可以完全脱离官方服务器。建议行动顺序是先用一台最低配 VPS 按本文 Docker 方式部署 hbbs 和 hbbr。用两台 Windows 电脑或一台 Windows 一台手机验证 ID 注册和中继连接。测试 P2P 直连和文件传输两个关键场景。把公钥备份策略和日志策略落地再决定是否扩大规模。最容易踩的坑有两个一是服务器安全组没有完全放行 21115-21117 端口导致客户端注册成功但连接一直建立不起来二是客户端配置的 ID 服务器地址和 hbbs 启动时的-r参数没有保持一致导致隧道和中继行为异常。这些坑在部署前了解能省很多排查时间。建议收藏备用后面想在公司内部搭一套远控平台时直接把文章里的端口表和 systemd/Docker 命令拿出来做基础模板再结合实际网络调整即可。