diff --git a/content/self-host/rustdesk-server-pro/relay/_index.de.md b/content/self-host/rustdesk-server-pro/relay/_index.de.md index bd6beb8f..dd7bd0fa 100644 --- a/content/self-host/rustdesk-server-pro/relay/_index.de.md +++ b/content/self-host/rustdesk-server-pro/relay/_index.de.md @@ -3,3 +3,133 @@ title: Relay-Server konfigurieren weight: 17 --- +## RustDesk Pro - Zusätzliche Relais-Server mit Geo-Standort mit Docker installieren + +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` und `id_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 username@server:`. + +``` +# 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) +``` + +## RustDesk Pro für Geolocation über die Webkonsole konfigurieren + +### GeoLite2 City-Datenbankdatei registrieren und herunterladen + +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](https://www.maxmind.com/en/account/login) aufrufen. +Gehen Sie zu `Download Databases`, wählen Sie die gzip-Datei und laden Sie die GeoLite2 City herunter. Nach dem Dekomprimieren sollten Sie die Datei `mmdb` haben. + +image + +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. + +#### Einen API-Schlüssel erhalten, um den Prozess zu automatisieren - Linux-Server + +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.
+image +
+image + +Sie können den [Download-Prozess](https://dev.maxmind.com/geoip/updating-databases) 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' +``` + +### Einstellungen in der RustDesk Pro Webkonsole ändern + +Fügen Sie die IP-Adressen Ihrer Relay-Server in die Relay-Serverliste hinzu, indem Sie nur die IP-Adresse angeben. **Fügen Sie nicht den Port hinzu.**
+image + +Fügen Sie einen Geo-Override hinzu, indem Sie die IP-Adresse des Servers und die Koordinaten des Serverstandorts angeben.
+image + +Klicken Sie auf `Reload Geo` und Ihre Liste sollte in etwa so aussehen.
+image + +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 Sie `docker 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 +```