必须搭建自建rustdesk服务端(hbbs信令+hbbr中继),推荐ubuntu 22.04 lts云服务器,安装docker后用docker-compose一键部署,配置文件需用单引号包裹eof防止变量误解析。

想彻底摆脱RustDesk官方服务器限制、绕过国内IP访问封锁、让远程桌面连接更快更私密,就必须搭建自己的RustDesk服务端节点——它由hbbs(信令)和hbbr(中继)两个核心服务组成,缺一不可。
准备服务器与基础环境
选一台有公网IP的Linux云服务器,Ubuntu 22.04 LTS最稳妥,CentOS 7容易因glibc版本低导致Docker容器启动失败。不要用Windows Server或macOS做服务端,RustDesk官方未提供稳定支持。
登录后先执行:sudo apt update && sudo apt upgrade -y,再装Docker:curl -fsSL https://get.docker.com | sh,最后验证:sudo docker run hello-world。如果提示Permission denied,就补一句sudo usermod -aG docker $USER,然后退出重登终端。
这一步必须成功,否则后续所有操作都会卡在镜像拉取环节。
用Docker Compose一键部署双服务
创建部署目录并进入:mkdir -p /opt/rustdesk && cd /opt/rustdesk。
写入docker-compose.yml配置文件,注意这里必须严格使用单引号包裹EOF,否则变量会被shell提前解析:
cat > docker-compose.yml version: "3.8"<br>services:<br> hbbs:<br> image: rustdesk/rustdesk-server:latest<br> container_name: rustdesk-hbbs<br> command: hbbs -r <strong>【你的服务器公网IP或域名:21117】</strong><br> ports:<br> - "21115:21115/udp"<br> - "21116:21116"<br> - "21116:21116/udp"<br> - "21118:21118"<br> volumes:<br> - ./data:/root<br> networks:<br> - rustdesk<br> depends_on:<br> - hbbr<br> restart: unless-stopped<br> hbbr:<br> image: rustdesk/rustdesk-server:latest<br> container_name: rustdesk-hbbr<br> command: hbbr<br> ports:<br> - "21117:21117"<br> - "21119:21119"<br> volumes:<br> - ./data:/root<br> networks:<br> - rustdesk<br> restart: unless-stopped<br>networks:<br> rustdesk:<br> driver: bridge<br>EOF
关键点来了:【你的服务器公网IP或域名:21117】必须替换成真实地址,比如123.56.78.90:21117或rustdesk.yourdomain.com:21117;若填错,客户端将无法完成NAT打洞,强制走中继且延迟飙升。
执行启动命令:sudo docker compose up -d。等待约10秒,运行sudo docker ps应看到两个CONTAINER NAME为rustdesk-hbbs和rustdesk-hbbr的容器状态为Up。
开放防火墙端口
Ubuntu默认启用ufw,必须放行全部6个端口,漏一个都会导致连接异常:
sudo ufw allow 21115/udpsudo ufw allow 21116sudo ufw allow 21116/udpsudo ufw allow 21117sudo ufw allow 21118sudo ufw allow 21119
执行完立即运行sudo ufw status verbose确认每条规则状态为ALLOW IN,且Protocol列明确显示tcp或udp。如果只写了21116没标协议,ufw默认只开tcp,udp信令会静默丢包。
获取并配置客户端密钥
服务启动后,密钥自动生成在/opt/rustdesk/data/id_ed25519.pub路径下。
运行:cat /opt/rustdesk/data/id_ed25519.pub,复制整行输出(以zAaV...开头、==结尾的字符串)。
打开任意RustDesk客户端(Windows/macOS/Android均可),点击右上角菜单→设置→网络→ID服务器,填入你的服务器IP或域名,端口填21116;再点“高级”→勾选“启用自定义密钥”,把刚复制的公钥粘贴进去。
此时重启客户端,新设备注册的ID就只经过你的服务器,不再触达RustDesk官方节点。










