6.6 KiB
title | weight |
---|---|
Relay-Server konfigurieren | 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
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)
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 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.
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.
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'
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.
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