Files
doc.rustdesk.com/content/self-host/rustdesk-server-pro/relay/_index.fr.md
T
21pages 63497c2be6 docs(relay): document hbbr key configuration options
- add relay-only Docker Compose configuration
  - document KEY and key-file setup methods
  - clarify legacy -k _ behavior and Pro 1.8.6 changes
  - update all translations

Signed-off-by: 21pages <sunboeasy@gmail.com>
2026-08-26 23:27:13 +08:00

11 KiB
Raw Blame History

title, weight, description, keywords
title weight description keywords
Configurer les serveurs de relais 17 Documentation RustDesk sur Configurer les serveurs de relais. Consultez les guides d'installation, de configuration, de déploiement et de dépannage.
rustdesk relay server
rustdesk hbbr
rustdesk geolocation relay
rustdesk additional relay
rustdesk server pro relay

Réponse rapide

Vous avez besoin de relais supplémentaires lorsquun seul site ou un seul relais ne suffit plus pour la latence, la géographie ou la répartition du trafic. Configurez-les une fois la console principale et le déploiement de base stabilisés.

Points clés

  • Installez des relais supplémentaires près des régions ou groupes utilisateurs importants
  • Enregistrez et vérifiez la configuration des relais dans la console web
  • Testez le routage avant de basculer le trafic de production

RustDesk Pro - Installer des serveurs de relais supplémentaires avec géolocalisation en utilisant docker

{{% notice note %}} L'installation simple crée un serveur de relais (le processus hbbr) implicitement sur la même machine, vous n'avez pas besoin de spécifier le serveur de relais explicitement.

Si vous souhaitez créer un serveur de relais supplémentaire explicitement sur une autre machine, veuillez exécuter hbbr en suivant l'installation OSS. Vous pouvez trouver hbbr dans rustdesk-server-linux-amd64.tar.gz, rustdesk-server-hbbr_<version>-<arch>.deb, rustdesk-server-windows-x86_64.tar.gz ou dans docker (sudo docker run ... rustdesk/rustdesk-server-pro hbbr).

hbbr ne nécessite pas de licence et est identique à la version open source. {{% /notice %}}

Vous pouvez avoir plusieurs serveurs de relais fonctionnant à travers le globe et exploiter la géolocalisation automatiquement pour utiliser le serveur de relais le plus proche, vous donnant une expérience plus rapide lors de la connexion aux ordinateurs distants. hbbs vérifie automatiquement si ces serveurs de relais sont en ligne toutes les quelques secondes, il ne choisit que les serveurs de relais en ligne.

{{% notice note %}} Problème connu : https://github.com/rustdesk/rustdesk/discussions/7934 {{% /notice %}}

Définissez la variable denvironnement KEY de hbbr sur la clé publique contenue dans id_ed25519.pub, ou copiez id_ed25519 et id_ed25519.pub sur le serveur de relais.

Docker Compose

Un serveur de relais supplémentaire na besoin que de hbbr ; hbbs et depends_on ne sont pas nécessaires. Choisissez lune des méthodes de configuration de clé suivantes :

  • Conservez la section environment et définissez KEY sur le contenu de id_ed25519.pub, comme illustré ci-dessous.
  • Supprimez toute la section environment et placez id_ed25519 et id_ed25519.pub dans ./data.

Créez un fichier compose.yml avec le contenu suivant.

services:
  hbbr:
    container_name: hbbr
    image: docker.io/rustdesk/rustdesk-server-pro:latest
    environment:
      KEY: "<PUBLIC_KEY>"
    command: hbbr
    volumes:
      - ./data:/root
    network_mode: "host"
    restart: unless-stopped

Docker

Définir la clé avec une variable denvironnement

Définissez KEY sur le contenu de id_ed25519.pub.

# sudo docker run --name hbbr -e KEY="<PUBLIC_KEY>" -td --net=host rustdesk/rustdesk-server-pro hbbr

Utiliser les fichiers de clés

Lexemple Docker ci-dessous utilise la méthode des fichiers de clés.

1 - Si docker est déjà installé, connectez-vous à votre serveur via SSH et créez un volume pour hbbr.

# docker volume create hbbr

Le volume hbbr devrait être situé dans /var/lib/docker/volumes/hbbr/_data.

2 - Copiez la paire de clés privées vers l'emplacement du volume, dans ce cas nous utiliserons SCP pour copier les fichiers.

La syntaxe de la commande est scp <chemin/nom_fichier> nom_utilisateur@serveur:</chemin/destination>.

# 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 - Déployez le conteneur hbbr en utilisant le volume précédemment créé. Ce volume contient la paire de clés privées nécessaire pour exécuter votre serveur de relais privé.

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

Limage rustdesk/rustdesk-server accepte toujours -k <KEY>. Pour utiliser le fichier de clé monté, exécutez-la avec -k _ :

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

Ici, _ est une valeur spéciale, et non la clé elle-même. Elle indique à hbbr de charger ou générer id_ed25519, den dériver la clé publique et dutiliser cette clé pour valider les demandes de relais. Les versions de RustDesk Server Pro antérieures à 1.8.6 acceptaient également -k _ pour charger id_ed25519.

À partir de RustDesk Server Pro 1.8.6, loption -k de hbbr est obsolète et ignorée. Si KEY nest pas définie, hbbr dérive la clé publique de id_ed25519 ou la lit dans id_ed25519.pub si le fichier de clé privée nexiste pas. Si aucun des deux fichiers nexiste, hbbr fonctionne en mode relais public.

4 - Vérifiez les journaux d'exécution pour vérifier que hbbr fonctionne en utilisant votre paire de clés.

# 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

Selon votre OS, vous pourriez vouloir bloquer/autoriser les IPs en utilisant un pare-feu.

Dans notre cas, en exécutant Ubuntu nous voulons autoriser toutes les connexions TCP, vers les ports 21117 et 21119.

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

Activer le pare-feu

# sudo ufw enable

Vérifier le statut

# ufw status

Status: active

To                         Action      From
--                         ------      ----
21117,21119/tcp            ALLOW       Anywhere
21117,21119/tcp (v6)       ALLOW       Anywhere (v6)

Configurer RustDesk Pro pour la géolocalisation en utilisant la console Web

Enregistrer et télécharger le fichier de base de données GeoLite2 City

Pour utiliser la géolocalisation, hbbs a besoin d'accéder à la base de données MaxMind GeoLite2 City. La base de données est gratuite et vous pouvez vous enregistrer pour télécharger le fichier et obtenir une clé API.

Commencez par créer un compte (si vous n'en avez pas) en allant sur le site web. Allez à Download Databases et téléchargez GeoLite2 City, choisissez le fichier gzip et vous devriez avoir le fichier mmdb lors de la décompression.

image

Si vous avez installé RustDesk Pro en utilisant le script d'installation sur une machine Linux, le fichier mmdb doit être déplacé vers /var/lib/rustdesk-server/.

Pour les installations Docker, le fichier devrait être dans le volume que vous avez mappé lors du déploiement du conteneur mappé vers /root.

Obtenir une clé API pour automatiser le processus - serveurs Linux

Vous devez mettre à jour ce fichier régulièrement et nous pouvons utiliser un cronjob pour cela. Vous aurez besoin d'une clé API pour accéder au lien de téléchargement qui est gratuit.

Allez à Manage License Keys et générez une nouvelle clé de licence.
image
image

Vous pouvez automatiser le processus de téléchargement de plusieurs façons, mais vous ajoutez la commande suivante à votre crontab en remplaçant {Your Access Key} par la clé API que vous avez obtenue de l'étape précédente.

/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'

Modifier les paramètres dans la console Web RustDesk Pro

Ajoutez vos adresses IP ou noms DNS des serveurs de relais (DNS est supporté depuis la version 1.1.11) aux Serveurs de relais. Le port n'est pas requis, le port 21117 est utilisé explicitement.
image

Ajoutez un remplacement géographique en ajoutant l'adresse IP du serveur et les coordonnées où se trouve le serveur.
image

Cliquez sur Reload Geo et votre liste devrait ressembler à ceci.
image

Pour confirmer les résultats, vérifiez vos journaux hbbs lors du clic sur Reload Geo, vous devriez voir un message montrant les adresses IP des serveurs de relais et leurs coordonnées.

Si vous exécutez RustDesk Pro sur une machine Linux utilisez la commande RUST_LOG=debug ./hbbs pour afficher les journaux. Si vous exécutez sur un conteneur Docker utilisez 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)))]

Vous pouvez également confirmer les demandes de relais directement sur vos instances hbbr, simplement en vérifiant les journaux du conteneur.

# 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