一、 服务器端安装 (1Panel)

  1. 安装应用:在 1Panel 应用商店搜索并安装 RustDesk(包含 hbbs ID 服务器和 hbbr 中继服务器)。

  2. 环境变量配置 (关键)

    • 进入容器设置,找到 环境变量

    • 修改 RELAY 变量:将默认的内网 IP(如 172.17.0.1:21117)改为你的公网域名或 IP(如 yuancheng.taishanhuo.com:21117`)。

    • 原因:不改会导致客户端尝试连接 Docker 内网 IP,造成连接失败。

  3. 端口映射 (关键)

    • 将端口绑定从 127.0.0.1 修改为 0.0.0.0

    • 端口清单

      • 21115-21116 (TCP)

      • 21116 (UDP) —— 必须单独开启 UDP,否则无法 P2P 打洞

      • 21117-21119 (TCP)


二、 网络与安全设置

  1. 防火墙放行

    • 在 1Panel “安全”菜单和云服务器后台同时放行上述端口。

    • 重点:确保 21116 端口同时具备 TCPUDP 两条规则。

  2. DNS 解析 (Cloudflare)

    • 添加 A 记录指向服务器 IP。

    • 代理状态:必须保持为 灰色云朵 (DNS Only)

    • 原因:开启小黄云(CDN 代理)会导致非 HTTP 流量被拦截,RustDesk 无法连接。


三、 客户端配置

  1. 获取密钥 (Key)

    • 在服务器路径 /opt/1panel/apps/rustdesk/rustdesk/data/id_ed25519.pub 中查看。
  2. 填写设置

    • ID 服务器你的域名

    • 中继服务器你的域名

    • Key:粘贴上述 .pub 文件内的完整字符串。


四、 常见报错与坑点复盘 (Troubleshooting)

错误现象 根本原因 解决方法
左下角显示“未就绪”红点 Key 字符错误 严禁依赖 OCR 识别。注意区分 I (大写 i) 和 l (小写 L),注意末尾的 = 符号,区分大小写(如 hH)。建议直接从服务器文件复制。
连接弹窗提示“连接失败” 端口锁定在本地 检查 1Panel 容器端口映射,确保不是绑定在 127.0.0.1,必须是 0.0.0.0
始终走“中继”而非“直连” 代理软件干扰 关闭本地代理软件 (如 Karing/Clash)。TUN 模式会接管流量导致 UDP 打洞失败。
无法获取 ID / 握手超时 缺少 UDP 协议 确认防火墙中 21116 端口已开启 UDP 协议。
证书/SSL 导致的登录问题 1Panel 面板锁定 如因证书配置错误导致面板无法登录,通过 SSH 执行 1pctl reset https 降回 HTTP 访问。

五、 验证 P2P 直连

  • 方法:在远程窗口顶部点击“⚡”图标。

  • 状态

    • 显示 “直接连接” (Direct):说明 P2P 打洞成功,低延迟。

    • 显示 “中继连接” (Relay):说明流量经过服务器中转。

使用 Windows 资源监视器(最硬核验证)

如果你想从底层确认:

  1. 控制端电脑按下 Win + R,输入 resmon 回车。

  2. 切换到 “网络” 选项卡。

  3. 在“网络活动”中找到 RustDesk.exe

  4. 观察 “远程地址”

    • 如果显示的 IP 是 被控端的公网 IP(不是你的服务器 IP),那就是 P2P