Wiki source code of Rejoindre le réseau Yggdrasil
Last modified by Shangril on 2026/03/10 22:30
Hide last authors
| author | version | line-number | content |
|---|---|---|---|
| |
4.1 | 1 | **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. |
| |
3.1 | 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. |
| |
1.1 | 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 | |||
| |
6.1 | 49 | //Si vous avez déjà un pare-feu logiciel installé sur votre ordinateur avec pour politique par défaut de bloquer les connexions entrantes, elle s'applique déjà à l'interface ##tun0## qu'Yggdrasil a crée et bloquera tout accès depuis Yggdrasil à vos services locaux. Vous pouvez dans ce cas ignorer cettet étape.// |
| |
1.1 | 50 | |
| 51 | Installation de UFW : | ||
| 52 | |||
| 53 | {{code language="bash"}} | ||
| 54 | sudo apt install ufw | ||
| 55 | {{/code}} | ||
| 56 | |||
| |
5.1 | 57 | Definition de la politique par défaut à Autoriser pour nous laisser bloquer uniquement le trafic provenant de ##tun0## : |
| |
1.1 | 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 | |||
| |
7.1 | 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 position 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 : |
| |
1.1 | 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 | |||
| |
5.1 | 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. |