Rejoindre le réseau Yggdrasil

Version 4.2 by Shangril on 2026/03/10 22:14

Résumé : Yggdrasil est un «meshnet». Vous pouvez en apprendre plus sur de tels réseaux dans la section Réseaux virtuels Mesh de ce wiki.
Dans ce tutoriel, nous apprendrons à installer Yggdrasil sur un ordinateur Linux, en prenant comme exemple la distribution basée sur Debian nommée Ubuntu, en version 24.04 LTS.
Nous téléchargerons Yggdrasil depuis les canaux logiciels de la distribution. Nous verrons comment générer le fichier de configuration yggdrasil.conf contenant votre clé privée, le copier dans /etc/yggdrasil/, et lancer le service Yggdrasil à l'aide de systemctl. Puis nous verrons comment installer et configurer le pare-feu UFW pour rejeter tout trafic entrant sur l'interface réseau tun0 qu'Yggdrasil aura créée.
Enfin, nous utiliserons la liste en ligne des pairs publics pour connecter votre nœud Yggdrasil au reste du réseau mondial.

1. Installation d'Yggdrasil depuis les dépôts

Sur Ubuntu 24.04 LTS, mettez à jour la liste de vos paquets et installez Yggdrasil. 

sudo apt update
sudo apt install yggdrasil

2. Génération et sécurisation du fichier de configuration

Yggdrasil a besoin d'un fichier de configuration contenant, entre autres, vos clés cryptographiques. Nous allons le générer dans le répertoire courant.

yggdrasil -genconf > yggdrasil.conf

Copions maintenant ce fichier dans le dossier de configuration officiel du système.

sudo mkdir -p /etc/yggdrasil
sudo cp yggdrasil.conf /etc/yggdrasil/

3. Lancement du service avec systemctl

Maintenant que le fichier de configuration est en place, nous pouvons activer le service pour qu'il se lance au démarrage, puis le démarrer immédiatement.

sudo systemctl enable yggdrasil
sudo systemctl start yggdrasil

Vous pouvez vérifier que le service tourne correctement avec la commande suivante :

sudo systemctl status yggdrasil

4. Configuration du pare-feu UFW sur l'interface tun0

Yggdrasil crée une interface réseau virtuelle nommée tun0. Pour des raisons de sécurité, nous allons installer le pare-feu UFW et le configurer pour rejeter tout trafic entrant depuis cette interface, afin d'éviter que le réseau mondial Yggdrasil n'ait accès aux services locaux de votre machine.

Si vous avez déjà un par-feu logiciel installé sur votre ordinateur avec pour politique par défaut de bloquer les connexions entrantes, elle s'applique déjà à l'interface tun qu'Yggdrasil a crée et bloquera tout accès depuis Yggdrasil à vos services locaux. Vous pouvez dans ce cas ignorer cettet étape. 

Installation de UFW :

sudo apt install ufw

Definition de la politique par défaut à Authoriser pour nous laisser bloquer uniquement le trafic provenant de tun0

sudo ufw default allow

Configuration du rejet du trafic sur l'interface tun0 et activation :

sudo ufw deny in on tun0
sudo ufw enable

Note : Si vous souhaitez bloquer absolument tout trafic (entrant et sortant) pour que votre nœud agisse uniquement comme un routeur aveugle du réseau sans que votre machine ne puisse y envoyer des requêtes, vous pouvez également ajouter `sudo ufw deny out on tun0`.

4.1 Ouvrir ultérieurement un port spécifique pour exposer sur Yggdrasil un service ouvert et public

Vous voudrez peut-être établir sur Yggdrasil un service que vous voudriez accessible via lui. Par exemple vous pourriez vouloir ouvrir une session SSH distante depuis votre ordinateur nomade au travers de la connection Yggdrasil, ou partager des contenus multimédia publiquement via un site web local. 

Dans ce cas, vous devrez au cas par cas ouvrir le port spécifique du service que vous désirez exposer. Il faudra donc insérer une régle ouvrant ce service à l'aide d'une commande ufw. La règle devra s'appliquer en postion 1 tout en haut de la liste de règles, qu'elle ait priorité sur la règle `deny in on tun0` instaurée précédement. Ceci se fait avec la commande : 

sudo ufw insert 1 allow <numéro du port à ouvrir>

5. Connexion au réseau mondial via les pairs publics

Pour l'instant, votre nœud Yggdrasil est isolé. Pour rejoindre le réseau, vous devez vous connecter à d'autres nœuds (les "peers"). 

  1. Rendez-vous sur une liste de pairs publics, comme par exemple celle sur le GitHub du projet
    2. Choisissez 2 ou 3 adresses de pairs proches de votre zone géographique (par exemple, en France ou en Europe). Les adresses ressemblent à tcp://1.2.3.4:54321## ou tls://peer.exemple.com:1234##.
    3. Éditez votre fichier de configuration en tant que root :
sudo nano /etc/yggdrasil/yggdrasil.conf

4. Cherchez la section Peers: [] et ajoutez les adresses choisies pour que cela ressemble à ceci :

Peers: [
 "tcp://adresse.du.pair.1:port"
 "tls://adresse.du.pair.2:port"
]

5. Sauvegardez le fichier (Ctrl+O, puis Entrée, et Ctrl+X pour quitter).
6. Redémarrez le service Yggdrasil pour appliquer les changements :

sudo systemctl restart yggdrasil

6. Tester votre connexion

Votre nœud est maintenant connecté et fait pleinement partie du réseau maillé Yggdrasil.

Vous devriez maintenant avoir accès aux IPs du range 200:/7 utilisé par Yggdrasil. Vous pouvez tester votre connectivité effective en visitant une adresse http://[<ip de ce range]/. Votre communication avec le serveur sera chiffrée de bout en bout même sans https. Vous trouverez diverses adresses de sites web Yggdrasil sur la page Services du site du projet comme par exemple http://[21e:a51c:885b:7db0:166e:927:98cd:d186]/ qui est l'adresse d'un annuaire de sites rendus disponibles sur Yggdrasil.