Configurare servere Relay
RustDesk Pro - Instalare servere relay adiționale cu Geo Location folosind Docker
Note
Instalarea simplă creează implicit un server relay (procesul hbbr
) pe aceeași mașină; nu trebuie să specificați explicit un server relay.
Dacă doriți să creați explicit un server relay adițional pe o altă mașină, rulați hbbr
urmând instalarea OSS. Veți găsi hbbr
în rustdesk-server-linux-amd64.tar.gz
, rustdesk-server-hbbr_<version>-<arch>.deb
, rustdesk-server-windows-x86_64.tar.gz
sau în docker
(sudo docker run ... rustdesk/rustdesk-server-pro hbbr
).
hbbr
nu necesită licență și este identic cu versiunea open source.
Puteți rula mai multe servere relay distribuite geografic și folosi GeoLocation pentru a selecta automat serverul relay cel mai apropiat, oferind o experiență mai rapidă la conectarea la computere remote. hbbs
verifică automat dacă aceste servere relay sunt online la fiecare câteva secunde și folosește doar cele online.
Note
Veți avea nevoie de perechea de chei private
id_ed25519
șiid_ed25519.pub
.
1 - Dacă Docker este deja instalat, conectați‑vă la server prin SSH și creați un volume pentru hbbr
.
# docker volume create hbbr
Volume‑ul hbbr
va fi localizat în /var/lib/docker/volumes/hbbr/_data
.
2 - Copiați perechea de chei private în locația volume‑ului; în acest exemplu folosim SCP pentru a copia fișierele.
Sintaxa comenzii este 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 - Desfășurați containerul hbbr
folosind volumul creat anterior. Acest volume conține perechea de chei private necesară pentru a rula serverul relay privat.
# sudo docker run --name hbbr -v hbbr:/root -td --net=host rustdesk/rustdesk-server hbbr -k _
4 - Verificați jurnalele pentru a confirma că hbbr
rulează folosind perechea de chei.
# 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
În funcție de sistemul de operare, s‑ar putea să doriți să blocați/permiteți IP‑uri folosind un firewall.
În exemplul nostru (Ubuntu) dorim să permitem conexiuni TCP către porturile 21117 și 21119.
# sudo ufw allow proto tcp from any to any port 21117,21119
Activați firewall‑ul
# sudo ufw enable
Verificați starea
# ufw status
Status: active
To Action From
-- ------ ----
21117,21119/tcp ALLOW Anywhere
21117,21119/tcp (v6) ALLOW Anywhere (v6)
Configurare RustDesk Pro pentru Geo Location folosind consola web
Înregistrare și descărcare a bazei de date GeoLite2 City
Pentru a folosi geo location, hbbs
are nevoie de fișierul bazei de date MaxMind GeoLite2 City. Baza de date este gratuită: înregistrați‑vă pentru a descărca fișierul și a obține o cheie API.
Începeți prin a crea un cont (dacă nu aveți) la site‑ul MaxMind.
Accesați Download Databases
și descărcați GeoLite2 City; alegeți fișierul gzip și veți obține fișierul mmdb
după decomprimare.
Dacă ați instalat RustDesk Pro folosind scriptul de instalare pe o mașină Linux, fișierul mmdb
trebuie mutat în /var/lib/rustdesk-server/
.
Pentru instalările Docker, fișierul ar trebui să se afle în volumul mapat la /root
.
Obțineți o cheie API pentru automatizare - servere Linux
Trebuie să actualizați acest fișier în mod regulat, și putem folosi un cronjob pentru asta. Veți avea nevoie de o cheie API pentru a accesa link‑ul de descărcare, care este gratuit.
Accesați Manage License Keys
și generați o cheie nouă.
Puteți automatiza procesul de descărcare în mai multe feluri; adăugați următoarea comandă în crontab, înlocuind {Your Access Key} cu cheia API obținută anterior.
/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'
Modificați setările în consola web RustDesk Pro
Adăugați adresele IP sau numele DNS ale serverelor relay (DNS este suportat începând cu versiunea 1.1.11) la Relay Servers
. Portul nu este necesar, portul 21117
este folosit implicit.
Adăugați un Geo Override introducând adresa IP a serverului și coordonatele unde este localizat serverul.
Faceți clic pe Reload Geo
și lista dvs. ar trebui să arate similar.
Pentru a confirma rezultatele, verificați jurnalele hbbs
când faceți clic pe Reload Geo
; ar trebui să vedeți un mesaj care afișează adresele IP ale serverelor relay și coordonatele acestora.
Dacă rulați RustDesk Pro pe o mașină Linux folosiți comanda
RUST_LOG=debug ./hbbs
pentru a vedea jurnalele. Dacă rulați într‑un container Docker folosițidocker 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)))]
De asemenea, puteți confirma cererile relay direct pe instanțele hbbr
, verificând pur și simplu jurnalele containerelor.
# 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