一、 服务器端安装 (1Panel)
-
安装应用:在 1Panel 应用商店搜索并安装 RustDesk(包含
hbbsID 服务器和hbbr中继服务器)。 -
环境变量配置 (关键):
-
进入容器设置,找到 环境变量。
-
修改
RELAY变量:将默认的内网 IP(如172.17.0.1:21117)改为你的公网域名或 IP(如 yuancheng.taishanhuo.com:21117`)。 -
原因:不改会导致客户端尝试连接 Docker 内网 IP,造成连接失败。
-
-
端口映射 (关键):
-
将端口绑定从
127.0.0.1修改为0.0.0.0。 -
端口清单:
-
21115-21116(TCP) -
21116(UDP) —— 必须单独开启 UDP,否则无法 P2P 打洞 -
21117-21119(TCP)
-
-
二、 网络与安全设置
-
防火墙放行:
-
在 1Panel “安全”菜单和云服务器后台同时放行上述端口。
-
重点:确保
21116端口同时具备 TCP 和 UDP 两条规则。
-
-
DNS 解析 (Cloudflare):
-
添加 A 记录指向服务器 IP。
-
代理状态:必须保持为 灰色云朵 (DNS Only)。
-
原因:开启小黄云(CDN 代理)会导致非 HTTP 流量被拦截,RustDesk 无法连接。
-
三、 客户端配置
-
获取密钥 (Key):
- 在服务器路径
/opt/1panel/apps/rustdesk/rustdesk/data/id_ed25519.pub中查看。
- 在服务器路径
-
填写设置:
-
ID 服务器:
你的域名 -
中继服务器:
你的域名 -
Key:粘贴上述
.pub文件内的完整字符串。
-
四、 常见报错与坑点复盘 (Troubleshooting)
| 错误现象 | 根本原因 | 解决方法 |
|---|---|---|
| 左下角显示“未就绪”红点 | Key 字符错误 | 严禁依赖 OCR 识别。注意区分 I (大写 i) 和 l (小写 L),注意末尾的 = 符号,区分大小写(如 h 与 H)。建议直接从服务器文件复制。 |
| 连接弹窗提示“连接失败” | 端口锁定在本地 | 检查 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 资源监视器(最硬核验证)
如果你想从底层确认:
-
在控制端电脑按下
Win + R,输入resmon回车。 -
切换到 “网络” 选项卡。
-
在“网络活动”中找到
RustDesk.exe。 -
观察 “远程地址”:
- 如果显示的 IP 是 被控端的公网 IP(不是你的服务器 IP),那就是 P2P。