Version 3.1 par Shangril le 2026/03/10 22:11

Afficher les derniers auteurs
1 **Résumé :** Yggdrasil est un «meshnet». Vous pouvez en apprendre plus sur de tels réseaux dans la section [[Réseaux virtuel Mesh]] de ce wiki.
2 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.
3 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.
4 Enfin, nous utiliserons la liste en ligne des pairs publics pour connecter votre nœud Yggdrasil au reste du réseau mondial.
5
6 == 1. Installation d'Yggdrasil depuis les dépôts ==
7
8 Sur Ubuntu 24.04 LTS, mettez à jour la liste de vos paquets et installez Yggdrasil.
9
10 {{code language="bash"}}
11 sudo apt update
12 sudo apt install yggdrasil
13 {{/code}}
14
15 == 2. Génération et sécurisation du fichier de configuration ==
16
17 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.
18
19 {{code language="bash"}}
20 yggdrasil -genconf > yggdrasil.conf
21 {{/code}}
22
23 Copions maintenant ce fichier dans le dossier de configuration officiel du système.
24
25 {{code language="bash"}}
26 sudo mkdir -p /etc/yggdrasil
27 sudo cp yggdrasil.conf /etc/yggdrasil/
28 {{/code}}
29
30 == 3. Lancement du service avec systemctl ==
31
32 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.
33
34 {{code language="bash"}}
35 sudo systemctl enable yggdrasil
36 sudo systemctl start yggdrasil
37 {{/code}}
38
39 Vous pouvez vérifier que le service tourne correctement avec la commande suivante :
40
41 {{code language="bash"}}
42 sudo systemctl status yggdrasil
43 {{/code}}
44
45 == 4. Configuration du pare-feu UFW sur l'interface tun0 ==
46
47 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.
48
49 //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.//
50
51 Installation de UFW :
52
53 {{code language="bash"}}
54 sudo apt install ufw
55 {{/code}}
56
57 Definition de la politique par défaut à Authoriser pour nous laisser bloquer uniquement le trafic provenant de ##tun0##
58
59 {{code language="bash"}}
60 sudo ufw default allow
61 {{/code}}
62
63 Configuration du rejet du trafic sur l'interface ##tun0## et activation :
64
65 {{code language="bash"}}
66 sudo ufw deny in on tun0
67 sudo ufw enable
68 {{/code}}
69
70 //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`.//
71
72 ==== 4.1 Ouvrir ultérieurement un port spécifique pour exposer sur Yggdrasil un service ouvert et public ====
73
74 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.
75
76 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 :
77
78 {{code language="bash"}}
79 sudo ufw insert 1 allow <numéro du port à ouvrir>
80 {{/code}}
81
82 == 5. Connexion au réseau mondial via les pairs publics ==
83
84 Pour l'instant, votre nœud Yggdrasil est isolé. Pour rejoindre le réseau, vous devez vous connecter à d'autres nœuds (les "peers").
85
86 1. Rendez-vous sur une liste de pairs publics, comme par exemple [[celle sur le GitHub du projet>>https://github.com/yggdrasil-network/public-peers]]
87 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##.
88 3. Éditez votre fichier de configuration en tant que root :
89
90 {{code language="bash"}}
91 sudo nano /etc/yggdrasil/yggdrasil.conf
92 {{/code}}
93
94 4. Cherchez la section ##Peers: []## et ajoutez les adresses choisies pour que cela ressemble à ceci :
95
96 {{code language="json"}}
97 Peers: [
98 "tcp://adresse.du.pair.1:port"
99 "tls://adresse.du.pair.2:port"
100 ]
101 {{/code}}
102
103 5. Sauvegardez le fichier (##Ctrl+O##, puis ##Entrée##, et ##Ctrl+X## pour quitter).
104 6. Redémarrez le service Yggdrasil pour appliquer les changements :
105
106 {{code language="bash"}}
107 sudo systemctl restart yggdrasil
108 {{/code}}
109
110 == 6. Tester votre connexion ==
111
112 Votre nœud est maintenant connecté et fait pleinement partie du réseau maillé Yggdrasil.
113
114 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>>https://yggdrasil-network.github.io/services.html]] comme par exemple [[{{{http://[21e:a51c:885b:7db0:166e:927:98cd:d186]/}}}>>http://[21e:a51c:885b:7db0:166e:927:98cd:d186]/]] qui est l'adresse d'un annuaire de sites rendus disponibles sur Yggdrasil.

Langues / Languages

🇫🇷 Français | 🇬🇧 English