RustDesk Pro中继服务器

2024-07-11 124

使用Docker在RustDesk Pro上安装其他地理位置的中继服务器非常简单。如果只是在同一台计算机上安装,系统会自动为创建一个中继服务器(进程),无需手动指定。但如果需要在另一台机器上显式创建额外的中继服务器,可以按照本文的方法进行操作。

一、通过Docker

1、确保已安装 Docker。

2、通过 SSH 连接到服务器,并创建名为 “hbbr” 的 Docker 卷。

# docker volume create hbbr

此卷将位于 “/var/lib/docker/volumes/hbbr/_data”。

3、将私钥对 (“id_ed25519” 和 “id_ed25519.pub”) 复制到刚才创建的卷位置。使用 SCP 命令进行复制:

# scp id_ed25519 root@服务器IP:/var/lib/docker/volumes/hbbr/_data
# scp id_ed25519.pub root@服务器IP:/var/lib/docker/volumes/hbbr/_data

4、使用包含私钥对的卷部署 “hbbr” 容器:

# sudo docker run --name hbbr -v hbbr:/root -td --net=host rustdesk/rustdesk-server hbbr -k _

5、检查运行日志以确保 “hbbr” 正在使用密钥对正常运行:

# docker logs hbbr
INFO [src/common.rs:121] **Private key comes from id_ed25519**
NFO [src/relay_server.rs:581] Key: XXXXXXXXXXXXXXXXXXXXX
INFO [src/relay_server.rs:60] #blacklist(blacklist.txt): 0
INFO [src/relay_server.rs:75] #blocklist(blocklist.txt): 0
INFO [src/relay_server.rs:81] Listening on tcp :21117

6、根据需要配置防火墙规则。例如,在 Ubuntu 系统中,允许所有到端口 21117 和 21119 的 TCP 连接:

# sudo ufw allow proto tcp from any to any port 21117,21119

启用防火墙:

# sudo ufw enable

检查状态:

# ufw status
Status: active
To Action From
-- ------ ----
21117,21119/tcp ALLOW Anywhere
21117,21119/tcp (v6) ALLOW Anywhere (v6)

二、通过Web控制台

1、注册并下载 MaxMind GeoLite2 City 数据库文件。访问网站,注册后下载 “GeoLite2-City.tar.gz” 文件。

2、解压缩该文件,并将其移动到适当的目录。对于 Linux 安装,通常路径是 “/var/lib/rustdesk-server/”。对于 Docker 安装,应将其放在容器映射的卷中,如 “/root”。

3、获取 API 密钥以自动更新数据库文件。生成新的许可证密钥,并使用 crontab 定期自动下载更新文件,将 {Your Access Key} 替换为从上一步获得的 API 密钥。

/usr/bin/curl -L --silent 'https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-City&license_key={Your Access Key}&suffix=tar.gz' | /bin/tar -C '/var/lib/rustdesk-server/' -xvz --keep-newer-files --strip-components=1 --wildcards '*GeoLite2-City.mmdb'

4、在 RustDesk Pro Web 控制台中,添加中继服务器的 IP 地址或 DNS 名称(从版本 1.1.11 开始支持 DNS)。端口默认为 21117。

5、添加地理覆盖,包括服务器 IP 地址和坐标。

如果在 Linux 计算机上运行 RustDesk Pro,请使用命令查看日志。

RUST_LOG=debug ./hbbs

INFO [src/common.rs:130] GEOIP_FILE: ./GeoLite2-City.mmdb
INFO [src/common.rs:159] override 1xx.xxx.xxx.x7: -1.xx 5x.xxx
[src/common.rs:159] override 1xx.xxx.xxx.xx8: -3.xxx 5x.xxxx
[src/common.rs:159] override 7xx.xxx.xxxx.xx1: 6.xxx 5x.xxxx
GEOIP_FILE loaded, #overrides 3
INFO [src/common.rs:119] relay-servers=["1xx.xxx.xxx.x7", "1xx.xxx.xxx.xx8", "7xx.xxx.xxx.xx1"]
NFO [src/rendezvous_server.rs:1467] parsed relay servers: [("1xx.xxxx.xxx.xx7", Some((-1x, xxx))), ("1xx.xxx.xxx.xx8", Some((-3x, xxx))), ("7xx.xxx.xxx.xx1", Some((6x, xxx)))]

还可以直接在 hbbr 实例上确认中继请求,只需检查容器日志即可。

# docker logs hbbr

INFO [src/relay_server.rs:436] Relayrequest 0593e64e-4fe8-4a59-a94f-b3420ab043eb from [::ffff:100.100.123.233]:52038 got paired
INFO [src/relay_server.rs:442] Both are raw

这样,就可以利用多个地理位置的中继服务器,自动选择最近的服务器以获得更快的连接速度。

  • 广告合作

  • QQ群号:707632017

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。