搭建RustDesk中继服务器

背景

RustDesk是一款开源的远程桌面软件,支持Windows、macOS、Linux等操作系统。
下载地址:RustDesk

为什么要使用中继服务器?
RustDesk的官方服务器在国外,在国内访问速度慢,而且不稳定。所以需要搭建一个中继服务器,来提高访问速度和稳定性。

如何搭建RustDesk中继服务器

1.首先安装依赖:

1
2
apt update
apt install git curl build-essential -y

###2.下载并安装 Rust:

1
2
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env

3.下载 Rustdesk 服务器代码:

1
2
git clone https://github.com/rustdesk/rustdesk-server
cd rustdesk-server

4.编译服务器:

1
2
3
4
5
6
# 创建目录
mkdir -p /etc/rustdesk-server/

# 移动编译好的文件
cp /root/rustdesk-server/target/release/hbbs /etc/rustdesk-server/
cp /root/rustdesk-server/target/release/hbbr /etc/rustdesk-server/

5.创建配置目录:

1
mkdir -p /etc/rustdesk-server

6.在/etc/systemd/system目录下创建 systemd 服务文件:

1
2
3
4
5
6
7
8
9
touch rustdesk-hbbs.service
touch rustdesk-hbbr.service
# 查看文件权限
ls -l /etc/systemd/system/rustdesk-hbbr.service
# 修改文件权限
chmod 644 /etc/systemd/system/rustdesk-hbbr.service
chmod 644 /etc/systemd/system/rustdesk-hbbs.service
# 重新加载 systemd 配置
systemctl daemon-reload

7.编辑 rustdesk-hbbs.service 文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[Unit]
Description=Rustdesk Signal Server
After=network.target

[Service]
Type=simple
LimitNOFILE=1000000
ExecStart=/etc/rustdesk-server/hbbs -k 您的密钥 --relay-servers 您的服务器IP
WorkingDirectory=/etc/rustdesk-server
User=root
Group=root
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

8.编辑 rustdesk-hbbr.service 文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[Unit]
Description=Rustdesk Relay Server
After=network.target

[Service]
Type=simple
LimitNOFILE=1000000
ExecStart=/etc/rustdesk-server/hbbr -k 您的密钥(与hbbs的密钥一致)
WorkingDirectory=/etc/rustdesk-server
User=root
Group=root
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

9.启动服务:

1
2
3
4
5
systemctl enable rustdesk-hbbs.service
systemctl enable rustdesk-hbbr.service
systemctl start rustdesk-hbbs.service
systemctl start rustdesk-hbbr.service

10.检查服务状态:

1
2
systemctl status rustdesk-hbbs.service
systemctl status rustdesk-hbbr.service

11.重启服务:

1
2
3
systemctl daemon-reload
systemctl restart rustdesk-hbbs
systemctl restart rustdesk-hbbr

12.开放防火墙端口:

1
2
3
4
5
6
7
8
9
# 信令服务器端口
ufw allow 21116/tcp
ufw allow 21116/udp
# 中继服务器端口
ufw allow 21117/tcp
ufw allow 21117/udp
# 文件传输端口(可选)
ufw allow 21118/tcp
ufw allow 21119/tcp

13.在 Rustdesk 客户端使用:

ID 服务器:你的服务器IP或域名
中继服务器:你的服务器IP或域名
注意:
确保服务器有足够内存(建议至少1GB)
如果使用云服务器,记得在安全组中开放相应端口
建议配置 SSL 证书以提高安全性

 

如何配置域名

让我们给 Rustdesk 服务器配置域名访问。假设你想使用 rd.abc.cc 作为域名。
首先在 Cloudflare 添加 DNS 记录:
添加一个 A 记录,将 rd.abc.cc 指向你的服务器 IP 23.156.135.231
在宝塔面板中添加网站配置:

1
2
3
4
5
6
7
8
9
10
# 反向代理配置
location / {
proxy_pass http://127.0.0.1:21116;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

去掉其他location配置,但是保留证书配置

遇到的问题

1.需要关掉cloudflare的代理
Cloudflare 代理不支持 Rustdesk 使用的非标准端口(21116、21117、21119),所以必须关闭代理。
在 Cloudflare 中:
找到 rd.abc.cc 的 DNS 记录
点击 DNS 记录旁边的橙色云朵图标,让它变成灰色(这表示关闭 Cloudflare 代理)
IP 地址保持为你的服务器 IP:23.156.135.231

 
关闭代理后:
DNS 解析会直接指向你的服务器
所有端口都可以直接访问
Rustdesk 就能正常工作了
注意:这种情况下你将失去 Cloudflare 的 DDoS 保护,但这是必要的,因为 Rustdesk 需要直接的 TCP 连接。

2.国内服务器无法通过域名访问
国内服务器无法通过域名访问,需要关掉cloudflare的代理,然后通过IP访问。

 

建议与推荐

如果你打算搭建RustDesk中继服务器,建议选择腾讯云海外服务器,价格仅需200一年。既可以做中继服务器使用,也可以直接用作远程办公电脑,轻松访问各种AI工具,效率大幅提升!腾讯云海外服务器

支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者,更多功能请访问博客站



搭建RustDesk中继服务器
https://blog.fxcxy.com/2024/11/10/搭建RustDesk中继服务器/
作者
spatacus
发布于
2024年11月10日
许可协议