Die einfache Installation erstellt implizit einen Relay-Server (den Prozess hbbr
) auf demselben Rechner. Sie müssen den Relay-Server nicht explizit angeben.
Wenn Sie einen zusätzlichen Relay-Server explizit auf einem anderen Rechner einrichten wollen, führen Sie bitte hbbr
aus, indem Sie der OSS-Installation folgen. Sie finden hbbr
in rustdesk-server-linux-amd64.tar.gz
, rustdesk-server-hbbr_<version>-<arch>.deb
, rustdesk-server-windows-x86_64.tar.gz
oder in docker
(sudo docker run ... rustdesk/rustdesk-server-pro hbbr
).
hbbr
benötigt keine Lizenz und ist die gleiche wie die Open-Source-Version.
Sie können mehrere Relay-Server auf der ganzen Welt betreiben und GeoLocation nutzen, um den nächstgelegenen Relay-Server zu verwenden, sodass Sie eine schnellere Verbindung zu entfernten Computern herstellen können.
Sie benötigen das private Schlüsselpaar
id_ed25519
undid_ed25519.pub
.
1 - Wenn Docker bereits installiert ist, verbinden Sie sich über SSH mit Ihrem Server und erstellen Sie ein Volume für hbbr.
# docker volume create hbbr
Das Volume hbbr sollte sich in /var/lib/docker/volumes/hbbr/_data
befinden.
2 - Kopieren Sie das private Schlüsselpaar an den Speicherort des Volumes, in diesem Fall verwenden wir SCP, um die Dateien zu kopieren.
Die Befehlssyntax lautet: scp <path/filename> username@server:</destination/path>
.
# scp id_ed25519 root@100.100.100.100:/var/lib/docker/volumes/hbbr/_data
# scp id_ed25519.pub root@100.100.100.100:/var/lib/docker/volumes/hbbr/_data
3 - Stellen Sie den hbbr-Container unter Verwendung des zuvor erstellten Volumes bereit. Dieses Volume enthält das private Schlüsselpaar, das für die Ausführung Ihres privaten Relay-Servers benötigt wird.
# sudo docker run --name hbbr -v hbbr:/root -td --net=host rustdesk/rustdesk-server hbbr -k _
4 - Überprüfen Sie in den Logs, ob hbbr mit Ihrem Schlüsselpaar läuft.
# 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
Je nach Betriebssystem können Sie IPs mithilfe einer Firewall blockieren oder zulassen.
In unserem Fall mit Ubuntu wollen wir alle TCP-Verbindungen zu den Ports 21117 und 21119 zulassen.
# sudo ufw allow proto tcp from any to any port 21117,21119
Firewall aktivieren
# sudo ufw enable
Status prüfen
# ufw status
Status: active
To Action From
-- ------ ----
21117,21119/tcp ALLOW Anywhere
21117,21119/tcp (v6) ALLOW Anywhere (v6)
Um Geolocation zu nutzen, benötigt hbbs Zugriff auf die MaxMind GeoLite2 City-Datenbank. Die Datenbank ist kostenlos und Sie können sich registrieren, um die Datei herunterzuladen und einen API-Schlüssel zu erhalten.
Erstellen Sie zunächst ein Konto (falls Sie noch keines haben), indem Sie die Website aufrufen.
Gehen Sie zu Download Databases
, wählen Sie die gzip-Datei und laden Sie GeoLite2 City herunter. Nach dem Dekomprimieren sollten Sie die Datei mmdb
haben.
Wenn Sie RustDesk Pro mit Hilfe des Installationsskripts auf einem Linux-Rechner installiert haben, muss die Datei mmdb
nach /var/lib/rustdesk-server/
verschoben werden.
Bei Docker-Installationen sollte sich die Datei in dem Volume befinden, das Sie bei der Bereitstellung des Containers auf /root
zugeordnet haben.
Sie müssen diese Datei regelmäßig aktualisieren und wir können einen Cronjob dafür verwenden. Für den Zugriff auf den kostenlosen Download-Link benötigen Sie einen API-Schlüssel.
Gehen Sie zu Manage License Keys
und erzeugen Sie einen neuen Lizenzschlüssel.
Sie können den Download-Prozess auf verschiedene Weise automatisieren. Fügen Sie den folgenden Befehl zu Ihrer crontab hinzu und ersetzen Sie {Your Access Key} durch den API-Schlüssel, den Sie im vorherigen Schritt erhalten haben.
/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'
Fügen Sie die IP-Adressen oder DNS-Namen Ihrer Relay-Server (DNS wird ab Version 1.1.11 unterstützt) zu den Relay-Servern
hinzu. Der Port ist nicht erforderlich, der Port 21117
wird explizit verwendet.
Fügen Sie einen Geo-Override hinzu, indem Sie die IP-Adresse des Servers und die Koordinaten des Serverstandorts angeben.
Klicken Sie auf Reload Geo
und Ihre Liste sollte in etwa so aussehen.
Um die Ergebnisse zu bestätigen, überprüfen Sie Ihre hbbs-Protokolle, wenn Sie auf Reload Geo
klicken. Sie sollten eine Meldung mit den IP-Adressen der Relay-Server und deren Koordinaten sehen.
Wenn Sie RustDesk Pro auf einem Linux-Rechner ausführen, verwenden Sie den Befehl
RUST_LOG=debug ./hbbs
, um die Protokolle einzusehen. Wenn Sie auf einem Docker-Container arbeiten, verwenden Siedocker logs hbbs
.
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)))]
Sie können die Relay-Anfragen auch direkt auf Ihren hbbr-Instanzen bestätigen, indem Sie einfach die Containerprotokolle überprüfen.
# 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