Déployer un serveur relais personnalisé
✨ Utilisez coturn comme serveur relais entre deux LAN.
Déployez votre propre serveur relais coturn pour garantir une connectivité fiable entre les Vitres sur différents réseaux, notamment dans les environnements restrictifs.⚠️ Il s'agit d'une configuration avancée qui ne doit être effectuée que par des techniciens IT autorisés..
Introduction à Coturn¶
Coturn est un serveur relais open source disponible sur internet. Il prend en charge le protocole TURN et permet de router le trafic entre deux Vitres qui ne sont pas directement accessibles entre elles. Le protocole STUN sera utilisé pour trouver les différents points de terminaison où une Vitre peut être jointe.
Les Vitres essaieront de se connecter directement entre elles, mais en cas d'échec, chacune d'elles ouvrira une connexion vers le serveur relais et les paquets de données chiffrés seront envoyés via ce relais.
Déploiement de Coturn¶
Nous allons illustrer ici un déploiement Docker basé sur un serveur accessible sur internet. Il s'agit d'une machine fonctionnant sous Linux avec Docker Engine prêt à l'emploi.
Tout d'abord, nous avons besoin d'un dossier local où nous enregistrerons la configuration et la base de données utilisateurs. Nous utiliserons ici une base de données SQLite car nous n'aurons pas beaucoup d'utilisateurs.
# créer un dossier coturn
mkdir coturn
# donner la propriété à l'utilisateur qui exécute coturn dans le conteneur
chown -R 65534:65534 coturn
Vous pouvez maintenant créer un fichier coturn.conf avec le contenu suivant :
db=/var/lib/coturn/turndb # nous utilisons la base de données sqlite
It-cred-mech # authentification des utilisateurs et identifiants
fingerprint # envoyer les empreintes TURN
realm=mydomain.com # domaine par défaut utilisé pour authentifier les utilisateurs
Ensuite, nous pouvons démarrer le processus Docker. Cela téléchargera l'image Docker coturn v4.6.2, la démarrera en tant que daemon toujours actif. Il détectera l'adresse IP où il peut être joint et lira la configuration depuis le volume partagé coturn.
docker run -d --name coturn--network-host--restart always \
-e DETECT_EXTERNAL_IP=yes \
-e DETECT_RELAY_IP=yes \
-v $(pwd)/coturn:/var/lib/coturn \
coturn/coturn:4.6.2 \
-c /var/lib/coturn/coturn.conf
Si vous voulez voir ce qui se passe, vous pouvez ajouter un paramètre supplémentaire --log-file=stdout à la fin de la ligne de commande et inspecter le log du conteneur docker logs coturn.
Pour permettre une connexion au serveur TURN, nous devons ajouter un utilisateur dans la base de données. Pour ce faire, le conteneur intègre l'outil turnadmin. Nous pouvons dire à Docker d'exécuter cet outil pour ajouter un utilisateur. Ici, nous ciblons la base de données SQLite, en ajoutant un utilisateur myuser avec pass1234 comme mot de passe. Cet utilisateur doit être dans le même domaine que celui défini dans le fichier de configuration coturn.
docker exec coturn turnadmin -b /var/lib/coturn/turndb -a -u myuser -r mydomain.com -p pass1234
Vous pouvez lister les utilisateurs existants dans la base de données en exécutant :
docker exec coturn turnadmin -b /var/lib/coturn/turndb -l
Test du serveur STUN / TURN¶
Pour tester votre serveur, vous pouvez vous rendre sur cette page : Trickle ICE.
Ajoutez vos informations utilisateur dans les champs de saisie ainsi que l'URI du serveur, puis cliquez sur "Add Server".
L'URI du serveur ressemble à ceci : turn:163.172.157.247:3478. Vous pouvez remplacer l'adresse IP de votre serveur par un FQDN si vous avez une entrée DNS configurée. Ex : turn:myrelay.mydomain.com:3478

Ensuite, vous pouvez cliquer sur "Gather candidates" et vous verrez les points de terminaison découvrables depuis votre PC. Vous devriez voir l'entrée relais indiquant que le serveur TURN a authentifié votre utilisateur avec succès.

Configuration de la Vitre¶
Par défaut, toutes les Vitres déployées utilisent les serveurs relais la Vitre. Pour utiliser votre serveur, vous devez accéder aux paramètres de chacune de vos Vitres pour ajouter votre serveur.
En tant qu’Administrateur, vous pouvez vous rendre sur https://admin.lavitre.me/ ou directement depuis l'application Companion (application mobile ou https://lavitre.me).
Dans la section Paramètres avancés se trouve une section WebRTC/Serveurs ICE.
Décochez "utiliser les serveurs partagés la Vitre", supprimez toutes les entrées existantes et ajoutez vos informations.
Si vous mettez les informations dans les serveurs ICE partagés, la Vitre distante ou l'invité qui essaiera de se connecter à votre Vitre recevra ces informations.
Si vous les mettez dans les serveurs ICE locaux, le participant distant devra avoir ses propres serveurs ICE configurés.

✨ Une information manque ?
Ce centre d’aide évolue avec vos besoins.Signalez-nous les termes, fonctionnalités ou usages à expliciter ou contactez le support pour un accompagnement personnalisé.
Vous rapprocher de ce qui compte. Nous enrichissons cette ressource ensemble.