rustdesk笔记

Ubuntu安装

安装地址:https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/install/

安装的版本是 : 1.1.14

点击

1
2
3
1) IP
2) DNS/Domain
Choose your preferred connection method: auto-resolve current WAN IP or enter your DNS/Domain:

github代理

按任意按键结束

1
2
3
4
Install Rustdesk on your machines and change your public key and IP/DNS name to the above
You can get a free API with Addressbook etc via https://github.com/infiniteremote/installer
Press any key to finish install
waiting for the keypress

必须开放的端口(TCP+UDP)

RustDesk 默认端口如下,服务器防火墙 / 云服务商安全组必须放行

端口号 协议 对应程序 用途 是否必需
21115 TCP hbbs 心跳 / ID 服务器通信(如果不开启,无法知道设备是否在线) 可选
21116 TCP/UDP hbbs TCP 用于 RPC,UDP 用于 P2P(这个端口后期可以配置到其他端口) 必需
21117 TCP hbbs WebSocket 通信(备用)必需 必需
21118 TCP hbbr 中继服务器 TCP 通信 必需
21119 UDP hbbr 中继服务器 UDP 通信 必需

添加独立用户运行

设置这个用户不能通过ssh登录

1
adduser RD

添加RD用户sudo权限

1
2
%sudo  ALL=(ALL:ALL) ALL
RD ALL=(ALL:ALL) ALL

修改rustdesk的systemd 服务文件

备份 /etc/systemd/system/rustdeskrelay.service /etc/systemd/system/rustdesksignal.service

1
2
3
4
cp rustdeskrelay.service rustdeskrelay.service.bak-&(date +%y%m%d)
cp rustdesksignal.service rustdesksignal.service.bak-&(date +%y%m%d)
rm rustdeskrelay.service
rm rustdesksignal.service

如果后续需要恢复,可以通过备份文件恢复;

重新加载配置文件

1
2
# 重新加载配置
sudo systemctl daemon-reload

添加自定义

/etc/systemd/system/rustdesk-hbbs.service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
[Unit]
# 服务的描述,便于识别(systemctl status时会显示)
Description=RustDesk ID Server (hbbs)
# 服务的文档链接,可快速查阅官方文档
Documentation=https://rustdesk.com/docs/
# 定义服务启动依赖:必须等网络目标(network.target)和网络完全在线目标(network-online.target)启动后,才启动本服务
After=network.target network-online.target
# 建议启动的依赖:希望network-online.target也启动(增强网络就绪性)
Wants=network-online.target

[Service]
# 服务类型:simple表示ExecStart指定的进程就是主进程,退出则服务退出(最常用)
Type=simple
# 指定运行服务的用户/用户组(普通用户,最小权限原则)
User=RD
Group=RD
# 工作目录:程序运行时的当前目录,需和安装路径一致,确保程序能找到公钥等文件
WorkingDirectory=/opt/rustdesk-server
# 核心执行命令:启动hbbs程序,-r参数指定中继服务器地址(填自己的IP/域名)
ExecStart=/bin/bash -c '/opt/rustdesk-server/hbbs -r 你的服务器公网IP或域名 -k "$(cat /opt/rustdesk-server/id_ed25519.pub)"'
# 标准输出重定向:将程序日志追加写入指定文件(便于排查问题)
StandardOutput=append:/var/log/rustdesk-hbbs.log
# 标准错误重定向:错误日志也写入同一个文件
StandardError=append:/var/log/rustdesk-hbbs.log
# 重启策略:仅当进程异常失败时重启(正常退出不重启)
Restart=on-failure
# 重启间隔:失败后等待5秒再重启(避免频繁重启)
RestartSec=5s
# 安全加固:禁止进程获取新的权限(防止提权)
NoNewPrivileges=true
# 安全加固:为服务创建独立的临时目录(避免和其他程序冲突)
PrivateTmp=true
# 安全加固:严格保护系统文件(仅允许读,禁止修改系统目录)
ProtectSystem=strict
# 安全加固:禁止访问用户家目录(/home、/root等)
ProtectHome=true
# 显式指定可读写的路径:仅允许修改RustDesk安装目录和日志文件
ReadWritePaths=/opt/rustdesk-server /var/log/rustdesk-hbbs.log /etc/resolv.conf /etc/hosts
# 允许网络访问(RustDesk核心需求)
Networking=true

[Install]
# 安装目标:当系统进入多用户模式(正常运行模式)时,自动启动该服务
WantedBy=multi-user.target

/etc/systemd/system/rustdesk-hbbr.service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
[Unit]
# 服务的描述,便于识别(systemctl status时会显示)# 描述改为中继服务器
Description=RustDesk Relay Server (hbbr)
# 服务的文档链接,可快速查阅官方文档
Documentation=https://rustdesk.com/docs/
# 定义服务启动依赖:必须等网络目标(network.target)和网络完全在线目标(network-online.target)启动后,才启动本服务
# 新增:网络就绪 + hbbs先启动
After=network.target network-online.target rustdesk-hbbs.service
# 建议启动的依赖:希望network-online.target也启动(增强网络就绪性)
Wants=network-online.target

[Service]
# 服务类型:simple表示ExecStart指定的进程就是主进程,退出则服务退出(最常用)
Type=simple
# 指定运行服务的用户/用户组(普通用户,最小权限原则)
User=RD
Group=RD
# 工作目录:程序运行时的当前目录,需和安装路径一致,确保程序能找到公钥等文件
WorkingDirectory=/opt/rustdesk-server
# 核心修正:删除无效的--log参数(1.1.14不支持),添加-k参数(与hbbs共用公钥)
# hbbr无需-r参数,仅需-k参数做认证(可选但推荐)
ExecStart=/bin/bash -c '/opt/rustdesk-server/hbbr -k "$(cat /opt/rustdesk-server/id_ed25519.pub)"'
# 标准输出重定向:将程序日志追加写入指定文件(便于排查问题)
# 日志文件改为hbbr专属
StandardOutput=append:/var/log/rustdesk-hbbr.log
# 标准错误重定向:错误日志也写入同一个文件
StandardError=append:/var/log/rustdesk-hbbr.log
# 重启策略:仅当进程异常失败时重启(正常退出不重启)
Restart=on-failure
# 重启间隔:失败后等待5秒再重启(避免频繁重启)
RestartSec=5s
# 安全加固:禁止进程获取新的权限(防止提权)
NoNewPrivileges=true
# 安全加固:为服务创建独立的临时目录(避免和其他程序冲突)
PrivateTmp=true
# 安全加固:严格保护系统文件(仅允许读,禁止修改系统目录)
ProtectSystem=strict
# 安全加固:禁止访问用户家目录(/home、/root等)
ProtectHome=true
# 可读写路径改为hbbr的日志文件 # 显式指定可读写的路径:仅允许修改RustDesk安装目录和日志文件
# 安全加固修正:
# 1. 包含程序目录+日志目录(而非仅日志文件,更兼容)
# 2. 补充系统必要文件(DNS/hosts),确保网络正常
ReadWritePaths=/opt/rustdesk-server /var/log/rustdesk-hbbr.log /etc/resolv.conf /etc/hosts
# 显式允许网络访问(hbbr核心依赖网络,避免安全配置禁用)
Networking=true

[Install]
# 安装目标:当系统进入多用户模式(正常运行模式)时,自动启动该服务
WantedBy=multi-user.target

启动错误,清理启动次数

步骤 1:停止并禁用错误的服务(清除运行状态)

首先终止可能残留的错误进程,禁用服务避免开机自启,彻底解除错误状态:

1
2
3
4
5
6
7
8
9
10
11
# 停止hbbr服务(即使加载失败也要执行,清理残留进程)
sudo systemctl stop rustdesk-hbbr.service
sudo systemctl stop rustdesk-hbbs.service

# 禁用服务(防止开机自动加载错误配置)
sudo systemctl disable rustdesk-hbbr.service
sudo systemctl disable rustdesk-hbbs.service

# 重置服务失败状态(清除systemd记录的错误标记)
sudo systemctl reset-failed rustdesk-hbbr.service
sudo systemctl reset-failed rustdesk-hbbs.service

步骤 2:修复服务文件(解决加载错误的根源)

加载错误的核心原因是服务文件语法 / 配置错误,先备份错误文件,再写入正确配置:

步骤 3:重新加载并验证(关键)

1
2
3
4
5
6
7
8
9
10
11
12
# 重新加载所有systemd配置(使新的hbbr配置生效)
sudo systemctl daemon-reload

# 检查服务文件语法(无输出=语法完全正确)
sudo systemd-analyze verify /etc/systemd/system/rustdesk-hbbr.service

# 启动服务并查看状态
sudo systemctl start rustdesk-hbbr.service
sudo systemctl status rustdesk-hbbr.service

sudo systemctl start rustdesk-hbbs.service
sudo systemctl status rustdesk-hbbs.service

验证是否真正加载成功

除了 systemctl status 显示 active (running),还需验证端口监听:

1
2
3
4
5
# 检查hbbr是否监听21118(TCP)和21119(UDP)端口
sudo ss -tulpn | grep hbbr
# 正常输出示例:
# tcp LISTEN 0 128 0.0.0.0:21118 0.0.0.0:* users:(("hbbr",pid=xxxx,fd=3))
# udp UNCONN 0 0 0.0.0.0:21119 0.0.0.0:* users:(("hbbr",pid=xxxx,fd=4))

ufw启动的端口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 1. 先删除原有规则(可选,确保规则干净)
ufw delete allow 21116/udp
ufw delete allow 21116/tcp
ufw delete allow 21117/tcp



# 2. 添加统一格式的规则(注释、优先级一致)
ufw allow 21115/tcp comment 'RustDesk NAT test 辅助端口(可选)'
ufw allow 21116/udp comment 'RustDesk - P2P/UDP 通信(统一监听 *:21116)'
ufw allow 21116/tcp comment 'RustDesk - ID/TCP 通信(统一监听 *:21116)'
ufw allow 21117/tcp comment 'RustDesk - 中继/TCP 通信(统一监听 *:21117)'
ufw allow 21118/tcp comment 'RustDesk - 中继/备用 TCP 通信(统一监听 *:21118'
ufw allow 21119/udp comment 'RustDesk - 中继/备用 UDP 打洞(统一监听 *:21119'


# 3. 重载 UFW 并验证
ufw reload
ufw status numbered

更换密钥和公钥

直接使用git生成id_ed25519

1
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -C "email@域名.后缀"

然后复制生成的密钥和公钥,替换掉原有的公钥和密钥,客户端key换成现在新生成公钥,公钥文件中所有的数据都要复制下来放到客户端的key中

编写make

1
2
3
4
5
6
7

DEFINE: ##默认目标
@echo "默认程序"

TARGET: #生成目标


关键验证:区分 UDP P2P 和 TCP 兜底

  1. 客户端查看
    连接成功后,若状态栏显示Direct,默认就是 UDP P2P;若显示Direct(TCP),则是 TCP P2P 兜底。

  2. 服务器抓包验证

这是最直接的验证方式,抓包能看到新端口的 P2P 数据交互:

1
2
3
4
5
# 抓 UDP 21116 端口流量(P2P 主力)
tcpdump -i any udp port 21116 -nn
# 抓 tcp 21116 端口流量(P2P 主力)
tcpdump -i any tcp port 21116 -nn
# 若有客户端之间的 UDP 包交互 → UDP P2P 生效

​ P2P 打洞成功的日志特征(和原 21116 端口逻辑一致):

1
2
3
4
# 外部客户端 → 服务器新端口的 UDP 包(打洞请求)
00:20:10.123456 eth0 In IP 113.8.23.225.xxxx > 172.16.0.4.21116: UDP, length 15
# 服务器 → 外部客户端的 UDP 包(打洞响应,双向通信建立)
00:20:10.123678 eth0 Out IP 172.16.0.4.21116 > 113.8.23.225.xxxx: UDP, length 2

fail2ban防御

filter.d

/etc/fail2ban/filter.d/目录下新建rustdesk.conf文件,用于匹配 RustDesk 的攻击 / 扫描日志特征:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[INCLUDES]
before = common.conf

[Definition]
# 先定义端口变量(也可在jail中定义,这里更集中)
# rustdesk_ports = 21115|21116|21117|21118|21119
# 规则1:匹配RustDesk的无效连接/认证失败(hbbs/hbbr日志中的关键字)
failregex = ^%(__prefix_line)s.*(RustDesk|hbbs|hbbr).*Failed to authenticate from <HOST>.*$
^%(__prefix_line)s.*(RustDesk|hbbs|hbbr).*Invalid connection from <HOST>.*$
^%(__prefix_line)s.*(RustDesk|hbbs|hbbr).*Rejected connection from <HOST>.*$
^%(__prefix_line)s.*(RustDesk|hbbs|hbbr).*Too many attempts from <HOST>.*$
# 规则2:匹配端口扫描特征(syslog中的RustDesk端口高频连接失败)
# ^%(__prefix_line)s.*sshd.*Connection refused by <HOST>.*:(21115|21116|21117|21118|21119).*$
# ^%(__prefix_line)s.*sshd.*Connection refused by <HOST>.*:(%(rustdesk_ports)s).*$
^%(__prefix_line)s.*sshd.*Connection refused by <HOST>.*:(%(ports)s).*$
# ^%(__prefix_line)s.*tcp.*Connection from <HOST> to .*:(21115|21116|21117|21118|21119) .* flags=SYN.*$
# ^%(__prefix_line)s.*tcp.*Connection from <HOST> to .*:(%(rustdesk_ports)s) .* flags=SYN.*$
^%(__prefix_line)s.*tcp.*Connection from <HOST> to .*:(%(ports)s) .* flags=SYN.*$

# 忽略本地IP和信任IP
ignoreregex = ^.*from 127.0.0.1.*$
^.*from ::1.*$
# ^.*from 192.168\..*$
# ^.*from 172.16\..*$
# ^.*from 10\..*$

批量替换脚本(适合运维自动化)

若需频繁切换端口,可写一个简单脚本批量替换过滤规则中的端口:

1
2
3
4
5
6
7
#!/bin/bash
# 用法:./update_rustdesk_ports.sh "21115|21116|21120"
NEW_PORTS=$1
# 替换过滤规则中的端口(备份原文件)
sudo sed -i.bak "s/(21115|21116|21117|21118|21119)/($NEW_PORTS)/g" /etc/fail2ban/filter.d/rustdesk.conf
# 重启fail2ban生效
sudo systemctl restart fail2ban

Jail

Jail 配置文件 (/etc/fail2ban/jail.d/rustdesk.conf)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
[rustdesk]
enabled = true
filter = rustdesk
# 监控的日志文件(全覆盖攻击行为)
logpath = /var/log/rustdesk-hbbs.log
/var/log/rustdesk-hbbr.log
/var/log/syslog
/var/log/auth.log
# ===================== 端口核心配置 =====================
# 定义 RustDesk 标准端口(多端口用 | 分隔,适配正则)
ports = 21115|21116|21117|21118|21119
# 对应防火墙封禁的端口(用 , 分隔,适配 fail2ban 动作)
port = 21115,21116,21117,21118,21119

# ===================== 封禁策略 =====================
# 检测窗口:10分钟内(短窗口适配高频扫描)
findtime = 600
# 触发阈值:3次失败即封禁
maxretry = 3
# 首次封禁时长:1小时(3600秒)
bantime = 3600
action = iptables-allports
# 灵活配置忽略的IP段(CIDR格式,精准可控)
# 仅忽略回环IP
ignoreip = 127.0.0.1 ::1 192.168.0.0/16 172.16.0.0/12 10.0.0.0/8

# 可选:阶梯式封禁
# 阶梯式封禁(强化防御换IP攻击)
bantime.increment = true
# 每次封禁时长翻倍
bantime.factor = 1.5
# 随机增加0~1小时封禁时间
bantime.rndtime = 3600
# 最大封禁7天(可设为 permanent 永久封禁)
bantime.maxtime = 604800
# 可选:永久封禁(慎用!误封后需手动解封)
# bantime.maxtime = permanent
# 历史记录保留时间(7天)
bantime.multipliers = 1 5 10 24



# ===================== 忽略IP配置 =====================
# 忽略回环IP+内网IP段(CIDR格式,精准可控)
ignoreip = 127.0.0.1 ::1 192.168.0.0/16 172.16.0.0/12 10.0.0.0/8

# ===================== 封禁动作 =====================
# 封禁IP的所有端口(若仅封禁指定端口,改为 iptables-multiport) iptables-allports
#action = iptables-allports

若设 bantime.maxtime = permanent(永久封禁),误封合法 IP 后需手动解封

1
2
# 手动解封永久封禁的IP
sudo fail2ban-client set rustdesk unbanip 192.168.1.100

长越长,防御效果越好,但需确保 maxretry(触发封禁的失败次数)不要设太低(比如至少 3 次),避免误封(比如合法 IP 输错密码 / 端口)。

重新加载 fail2ban

1
2
3
4
5
6
7
8
9
10
# 允许 80/TCP(HTTP 跳转)
ufw allow 80/tcp comment 'HTTP 跳转 HTTPS'
# 允许 443/TCP(HTTPS 主入口)
ufw allow 443/tcp comment 'HTTPS 核心入口'
# 允许 21116/UDP(ID 心跳检测)
ufw allow 21116/udp comment 'RustDesk UDP 心跳'
# 允许本机访问 21115-21119(仅本机,拒绝外部访问)
ufw allow from 127.0.0.1 to any port 21115:21119 comment '本机访问 RustDesk 后端'
# 拒绝外部访问 21115-21119(兜底)
ufw deny 21115:21119/tcp comment '拒绝外部访问 RustDesk 后端 TCP'
1
2
3
4
5
6
7
8
9
10
11
# 1. 创建 RD 用户的家目录
mkdir -p /home/RD/.config/rustdesk

# 2. 赋权给 RD 用户
chown -R RD:RD /home/rustdesk

# 3. 重启 hbbs 消除警告
systemctl restart rustdesk-hbbs.service

# 4. 验证日志(警告消失)
tail -f /var/log/rustdesk-hbbs.log

Windowns

安装

rustdesk 下载地址:https://github.com/rustdesk/rustdesk-server/releases
下载这个文件:rustdesk-server-windows-x86_64-unsigned.zip

nssm下载地址:https://nssm.cc/download
下载这个文件https://nssm.cc/release/nssm-2.24.zip

官网安装文章:https://rustdesk.com/docs/zh-cn/self-host/rustdesk-server-oss/windows/

上面这种方式是我选的,也可以选外的

开启的端口和上面相同

目录配置

选择一个地方创建一个目录 RustDesk_Server如下

其中id_ed25519 id_ed25519.pub 是自动生成的,不用管;如果想要更换这两个文件,先卸载暗转,然后再安装文件就可以了。

安装文件install_rustdesk_service.bat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
@echo off
chcp 65001 >nul
echo ====================== 开始注册 RustDesk 服务 ======================
:: 定义路径(需修改为你的实际路径)
set "BASE_ADDRESS = 这里填写你要安装的目录"
set "RUSTDESK_SERVER_DIR=%BASE_ADDRESS%\RustDesk_Server\x86_64"
set "NSSM_PATH=%BASE_ADDRESS%\RustDesk_Server\nssm-2.24\win64\nssm.exe"
set "SERVER_IP=temp1ali.goupos.cn" :: 替换为服务端本机IP
set "RustDesk_HBBS = RustDesk hbbs service"
set "RustDesk_HBBR = RustDesk hbbr Service"
set "PUB_KEY_FILE=%BASE_ADDRESS%\RustDesk_Server\x86_64\id_ed25519.pub" :: 公钥文件路径

:: 检查路径是否存在
if not exist "%RUSTDESK_SERVER_DIR%\hbbs.exe" (
echo 错误:hbbs.exe 不存在,请检查路径!
pause
exit /b 1
)
if not exist "%RUSTDESK_SERVER_DIR%\hbbr.exe" (
echo 错误:hbbr.exe 不存在,请检查路径!
pause
exit /b 1
)
if not exist "%NSSM_PATH%" (
echo 错误:nssm.exe 不存在,请将 nssm.exe 放到 %RUSTDESK_SERVER_DIR% 目录!
pause
exit /b 1
)

:: 注册 hbbs 服务 -k "%PUBLIC_KEY%"
echo 正在注册 RustDesk_HBBS 服务...
"%NSSM_PATH%" install RustDesk_HBBS "%RUSTDESK_SERVER_DIR%\hbbs.exe" -r %SERVER_IP%
"%NSSM_PATH%" set RustDesk_HBBS Start SERVICE_AUTO_START
"%NSSM_PATH%" set RustDesk_HBBS AppRestartDelay 10000
"%NSSM_PATH%" set RustDesk_HBBS AppRestartCount 3

:: 注册 hbbr 服务
echo 正在注册 RustDesk_HBBR 服务...
"%NSSM_PATH%" install RustDesk_HBBR "%RUSTDESK_SERVER_DIR%\hbbr.exe"
"%NSSM_PATH%" set RustDesk_HBBR Start SERVICE_AUTO_START
"%NSSM_PATH%" set RustDesk_HBBR AppRestartDelay 10000
"%NSSM_PATH%" set RustDesk_HBBR AppRestartCount 3

:: 启动服务
echo 正在启动 RustDesk 服务...
"%NSSM_PATH%" start RustDesk_HBBS
"%NSSM_PATH%" start RustDesk_HBBR

:: 验证服务状态
echo ====================== 服务状态检查 ======================
"%NSSM_PATH%" status RustDesk_HBBS
"%NSSM_PATH%" status RustDesk_HBBR

echo ====================== 操作完成 ======================
echo 若服务状态为 Running 则注册启动成功!
pause

卸载安装uninstall_rustdesk_service.bat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@echo off
chcp 65001 >nul
echo ====================== 开始卸载 RustDesk 服务 ======================
:: 定义 NSSM 路径(需修改为实际路径)
set "BASE_ADDRESS = 这里填写你要安装的目录"
set "NSSM_PATH=%BASE_ADDRESS%\RustDesk_Server\nssm-2.24\win64\nssm.exe"
set "RustDesk_HBBS = RustDesk hbbs service"
set "RustDesk_HBBR = RustDesk hbbr Service"

:: 检查 nssm.exe 是否存在
if not exist "%NSSM_PATH%" (
echo 错误:nssm.exe 不存在,请检查路径!
pause
exit /b 1
)

:: 停止服务
echo 正在停止 RustDesk 服务...
"%NSSM_PATH%" stop RustDesk_HBBS
"%NSSM_PATH%" stop RustDesk_HBBR

:: 删除服务
echo 正在删除 RustDesk 服务...
"%NSSM_PATH%" remove RustDesk_HBBS confirm
"%NSSM_PATH%" remove RustDesk_HBBR confirm

echo ====================== 卸载完成 ======================
echo RustDesk 服务已停止并删除!
pause

重启安装restart_rustdesk_service.bat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 @echo off
chcp 65001 >nul
echo ====================== 开始重启 RustDesk 服务 ======================
set "BASE_ADDRESS = 这里填写你要安装的目录"
set "NSSM_PATH=%BASE_ADDRESS%\RustDesk_Server\nssm-2.24\win64\nssm.exe"
set "RustDesk_HBBS = RustDesk hbbs service"
set "RustDesk_HBBR = RustDesk hbbr Service"

if not exist "%NSSM_PATH%" (
echo 错误:nssm.exe 不存在!
pause
exit /b 1
)

"%NSSM_PATH%" restart RustDesk_HBBS
"%NSSM_PATH%" restart RustDesk_HBBR

echo 服务重启完成,当前状态:
"%NSSM_PATH%" status RustDesk_HBBS
"%NSSM_PATH%" status RustDesk_HBBR

pause

这些地方只需要配置 BASE_ADDRESS 这个值

.env文件配置

1
2
3
4
5
6
7
# https://github.com/rustdesk/rustdesk-server#env-variables
RUST_LOG=info
relay-servers=填写域名
Key = 添加你自己的公钥,复制公钥内容填写
#这是配置的多节点服务器
rendezvous-servers=192.168.25.48,192.168.52.3,192.168.100.2
port = 30000

注意

只要修改了端口,那么所有的端口都会跟随变化

21115 21116(默认端口) 21117 21118 21119
29999 30000(修改后的端口) 30001 30002 30003

客户端:ID/中继服务器,如果修改的端口是:30000

ID服务器格式 你服务器IP:修改后的端口
你服务器IP:30000
中继服务器格式 你服务器IP:修改后的端口
你服务器IP:30000

修改端口号,好像无法通讯,有能力的测试或者实验一下