RustDesk中继服务器安装脚本
RustDesk中继服务器脚本,,通过部署自已的远程桌面中继服务器可以有效提高安全性。
一、介绍
RustDesk的中继服务器(Relay Server)在远程桌面连接中起着至关重要的作用,特别是在设备无法建立直接P2P连接的情况下。以下是它的主要作用、价值以及安全性分析:
作用
-
数据中转:当客户端之间无法直接建立连接时,中继服务器充当桥梁,转发数据包,使远程控制得以实现。
-
穿透网络限制:在某些网络环境(如NAT或防火墙限制)下,设备可能无法直接通信,中继服务器帮助绕过这些限制。
-
稳定连接:即使P2P连接失败,中继服务器仍能确保远程桌面连接的稳定性。
价值
-
提升连接质量:相比直接P2P连接,中继服务器可以优化数据传输路径,减少延迟,提高远程控制的流畅度。
-
增强可用性:对于企业或个人用户来说,自建中继服务器可以确保远程连接的可控性,不依赖官方服务器。
-
灵活部署:RustDesk支持用户自建中继服务器,允许在本地或云端部署,以满足不同的使用需求。
安全性
-
端到端加密:RustDesk采用端到端加密技术,确保数据在传输过程中不会被第三方窃取。
-
自建服务器可控性:用户可以自行搭建中继服务器,避免数据经过官方服务器,提高隐私保护。
-
防止数据存储:RustDesk的中继服务器仅用于数据转发,不会存储用户的远程控制数据,减少信息泄露的风险。
二、脚本
需要将本文上方文件和下面的脚本拷贝到同一个目录中,然后执行脚本安装
#!/bin/bash
set -e
echo "🚀 开始部署 RustDesk 中继服务器..."
# 1. 自动获取公网 IP
PUBLIC_IP=$(curl -s https://api.ipify.org)
echo "🌐 获取公网 IP:$PUBLIC_IP"
# 2. 安装 Docker(如果未安装)
if ! command -v docker &> /dev/null; then
echo "🔧 安装 Docker..."
apt update
apt install -y
ca-certificates
curl
gnupg
lsb-release
apt-transport-https
software-properties-common
mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg]
https://download.docker.com/linux/debian
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
fi
# 3. 配置 Docker 镜像加速器(阿里云)
echo "🐳 配置 Docker 加速器..."
mkdir -p /etc/docker
cat >/etc/docker/daemon.json </dev/null 2>&1 || true
docker run -d --name hbbs
--restart=always
-p 21115:21115
-p 21116:21116
-p 21116:21116/udp
-p 21118:21118
rustdesk/rustdesk-server:latest hbbs -k $KEY
# 7. 启动 hbbr 服务
docker rm -f hbbr >/dev/null 2>&1 || true
docker run -d --name hbbr
--restart=always
-p 21117:21117
-p 21119:21119
rustdesk/rustdesk-server:latest hbbr -k $KEY
# 8. 输出信息
echo ""
echo "✅ RustDesk 中继服务部署完成!"
echo "📌 公网 IP:$PUBLIC_IP"
echo "📌 防盗用 KEY:$KEY"
echo "📎 开放端口:"
echo " - 21115(hbbs)"
echo " - 21116(UDP+TCP,hbbs)"
echo " - 21117(hbbr)"
echo " - 21118(心跳)"
echo " - 21119(额外端口,可自定义)"
请开放脚本中用到的端口,公网地址为服务器的真实地址。
三、脚本说明
这个 Bash 脚本用于自动部署 RustDesk 中继服务器,实现远程桌面连接中的数据中转功能。它的主要步骤如下:
1. 自动获取公网 IP
-
通过
curl -s https://api.ipify.org
获取当前服务器的 公网 IP,用于后续配置和远程连接。 -
通过
echo
输出 公网 IP,方便用户查看和使用。
2. 安装 Docker(如果未安装)
-
检测 Docker 是否已安装:
command -v docker &> /dev/null
-
如果未安装,则执行以下步骤:
-
更新
apt
软件包索引。 -
安装必要的 SSL 证书、包管理工具、curl、gnupg 等。
-
下载并配置 Docker 官方 GPG 密钥。
-
添加 Docker 官方源 并安装 Docker 相关组件。
-
3. 配置 Docker 镜像加速
-
创建 Docker 配置目录:
mkdir -p /etc/docker
-
设置国内加速镜像:
-
网易 (
https://hub-mirror.c.163.com
) -
百度 (
https://mirror.baidubce.com
)
-
-
重启 Docker 以应用新配置。
4. 导入 RustDesk 离线镜像
-
检查是否存在
rustdesk.tar
文件:-
如果存在,使用
docker load -i rustdesk.tar
导入离线镜像,避免因网络问题拉取失败。 -
如果文件缺失,则提示用户手动提供。
-
5. 自动生成防盗用密钥
-
通过
openssl rand -hex 16
生成 16字节 HEX 随机密钥,用于 RustDesk 服务的验证,增强安全性。
6. 启动 hbbs
(主服务器)
-
移除已有容器:避免端口冲突。
-
运行
hbbs
服务器:-
-p 21115:21115
开放 主服务器端口。 -
-p 21116:21116 -p 21116:21116/udp
允许 UDP 穿透 NAT。 -
-p 21118:21118
处理 心跳包通信。 -
使用
-k $KEY
传递生成的密钥。
-
7. 启动 hbbr
(中继服务器)
-
移除已有容器,避免冲突。
-
运行
hbbr
服务器:-
-p 21117:21117
开放 中继服务器的主要端口。 -
-p 21119:21119
允许额外数据传输。
-
8. 输出部署信息
-
显示公用 IP,方便用户配置客户端。
-
显示防盗用密钥,用于 RustDesk 远程连接身份验证。
-
列出开放的端口,确保服务可以正常运行。
这个脚本是自动化 Docker 服务器的安装、加速设置,以及快速部署 RustDesk 远程控制的核心组件。如果有进一步的优化需求,或者想额外增强安全性,可以考虑 使用防火墙规则 限制访问,或者启用 HTTPS 代理 来保护传输数据。
使用时,连接时最好强制使用中继服务器,具体连接速度效果可自行测试。如下图: