你那第七遍才跑通,八成卡在加密 key 上,这是 RustDesk 自建最经典的坑。
「数据不落第三方」这句话得加个前提。hbbs 只是注册和握手服务器,真正传画面走的是 hbbr 中继。客户端要是没手动填 key,它会静默回退到官方中继 rustdesk.com——你以为全走自己节点,其实握手和画面都还在别人服务器上转。key 在容器里的 /root/.id_ed25519.pub,挂出来的卷里也能找到,客户端设置-网络里把那串填进去,才算真正闭环。
端口这层你大概率也栽过。清单照着开,少一个都不行:
21115/tcp 测速
21116/tcp NAT 穿透握手
21116/udp 穿透主通道,漏了跨网必走中继
21117/tcp 中继
21118/tcp web 客户端
21119/tcp web 客户端
只放 TCP 不放 21116 的 UDP,内网还能秒连(走局域网发现),跨网基本强制降级到 hbbr。你说跨网「还行」,本质就是吃了中继带宽,不是纯 P2P 打洞多强。别把这个误会成它穿透能力神。
还有个重启就崩的雷:hbbs 那把 key 和数据库必须挂 volume 持久化。不挂的话容器一重启 key 重新生成,之前配对的所有客户端 ID 全变,又得从头配——你那第七遍没准就是在这儿反复。
画质和拖拽传文件你说到点子上了,比 TeamViewer 免费版体面太多。订阅摩擦这点我补一句:RustDesk 自己也有付费的 Pro 和托管版,开源核心免费、靠企业支持养活。它卷的其实不是「免费」,是「你能 100% 自己掌控数据和服务」,这比单纯不花钱值钱。简单说
你中继跑在家里还是云上?家里宽带上行够不够跨网扛得住,这个比配置本身更影响体验。