le Réseau Yggdrasil est un réseau superposé IPv6 qui vise à créer un réseau maillé décentralisé et crypté. Pour ce faire, il traite les réseaux comme des feuilles dans un arbre binaire. En tant que réseau superposé, Yggdrasil sert également de réseau privé virtuel (VPN) qui permet à ses utilisateurs d’interagir en toute sécurité les uns avec les autres.
De plus, Yggdrasil est gratuit, relativement facile à configurer et est également disponible sur un large éventail de plates-formes. Cela fait d’Yggdrasil une alternative solide pour les personnes qui souhaitent avoir une connexion sécurisée et privée avec d’autres personnes.
Qu’est-ce que le réseau maillé et Yggdrasil ?
Yggdrasil réalise un réseau maillé en représentant un réseau comme un arbre de nœuds interconnectés. En cela, ces nœuds peuvent agir comme des relais vers d’autres nœuds. Cela fait d’Yggdrasil un véritable réseau maillé.
De plus, la structure du réseau permet à Yggdrasil de trouver facilement la machine ou le site Web que vous souhaitez visiter. À son tour, cela vous permet d’interagir avec d’autres utilisateurs sans avoir besoin d’un serveur central pour acheminer le trafic pour vous.
Pourquoi utiliser Yggdrasil ?
Le principal argument de vente d’Yggdrasil est qu’il modifie la façon dont les données sont acheminées via Internet. Il y parvient en supposant quelques éléments sur l’état par défaut dudit réseau :
- Tous les nœuds sont connectés à au moins un autre nœud.
- Chaque nœud peut relayer de manière transparente des données vers l’autre nœud.
- Chaque nœud peut diffuser les nœuds qui lui sont connectés.
Ces hypothèses créent une structure à la fois rigide et prévisible, mais également très flexible. Par exemple, vous pouvez rendre votre machine accessible au public en vous connectant à un seul nœud public. Ce nœud public est alors connecté à d’autres nœuds. À partir de là, d’autres utilisateurs peuvent s’appairer avec ce nœud pour se connecter à vous.
Non seulement cela, Yggdrasil vous permet également de créer un sous-réseau de machines locales. En tant que tel, cela est très utile si vous souhaitez créer un VPN.
Comment installer Yggdrasil
Comme indiqué ci-dessus, Yggdrasil est disponible sur de nombreuses plates-formes et systèmes d’exploitation. Cela inclut la plupart des distributions Linux.
Cependant, Yggdrasil n’est pas toujours dans les référentiels par défaut. En tant que tel, certaines distributions vous obligent à inclure ses sources avant de l’installer.
Installer Yggdrasil dans Debian et Ubuntu
Par exemple, si vous souhaitez installer Yggdrasil dans Debian et Ubuntu, vous devez d’abord ajouter leur clé GPG officielle à apt. Pour ce faire, exécutez les commandes suivantes :
gpg --fetch-keys https://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/key.txt gpg --export 569130E8CA20FBC4CB3FDE555898470A764B32C9 | sudo apt-key add -
À partir de là, vous devez ajouter le référentiel à la liste des sources qu’apt recherche dans ses packages :
echo 'deb http://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/ debian yggdrasil' | sudo tee /etc/apt/sources.list.d/yggdrasil.list
Une fois cela fait, mettez à jour apt et installez le programme. Faites cela en exécutant cette seule ligne de code :
sudo apt update && sudo apt install yggdrasil
Installer Yggdrasil dans Fedora
Contrairement à Debian et Ubuntu, le processus d’installation d’Yggdrasil dans Fedora est simple, car il fait déjà partie des « paquets communautaires » de Fedora.
En tant que tel, l’installation du programme est aussi simple que d’exécuter les commandes :
sudo dnf copr enable rany/yggdrasil sudo dnf install yggdrasil
Installer Yggdrasil dans Arch Linux
Enfin, l’installation d’Yggdrasil dans Arch Linux est également extrêmement simple. Comme Fedora, il est déjà inclus dans le référentiel des sources communautaires d’Arch.
En tant que tel, vous pouvez installer le programme via pacman :
sudo pacman -Syu yggdrasil
Configuration de votre installation
Une fois cela fait, configurer Yggdrasil pour se connecter à un nœud est très simple, en ce sens qu’il vous suffit de modifier « /etc/yggdrasil.conf » pour configurer le comportement du programme. Pour y accéder, utilisez nano :
sudo nano -w /etc/yggdrasil.conf
Yggdrasil créera ce fichier après l’installation. Cependant, si ce n’est pas le cas, vous pouvez exécuter cette commande pour créer un nouveau fichier de configuration :
su --command="yggdrasil -genconf > /etc/yggdrasil.conf"
Connexion à un nœud public
Comme nous l’avons vu ci-dessus, il existe deux façons d’utiliser le programme :
- Connectez-vous à un nœud public pour rendre votre machine détectable.
- Connectez un groupe de machines ensemble dans un réseau privé virtuel.
Pour le premier, ajoutez une adresse de nœud public à votre fichier « /etc/yggdrasil.conf » en éditant le Peers:
bloc dans ce fichier de configuration.
Il s’agit de la section de la configuration qui détermine les nœuds auxquels vous souhaitez vous connecter. En tant que telles, les machines répertoriées ici doivent toutes être publiquement détectables et connectables à partir d’Internet.
Dans cet esprit, considérons l’exemple suivant :
{ # List of connection strings for outbound peer connections in URI format, # e.g. tls://a.b.c.d:e or socks://a.b.c.d:e/f.g.h.i:j. These connections # will obey the operating system routing table, therefore you should # use this section when you may connect via different interfaces. Peers: [ tls://address.domain:port tcp://1.2.3.4:port socks://[aaaa:...:ffff]/[1111:...:9999] ] [...]
Le bloc de pairs est une liste de base de tous les nœuds auxquels vous souhaitez vous connecter.
Il peut soit établir une connexion cryptée à l’aide de TLS et SOCKS, soit une connexion non cryptée à l’aide de TCP. Ce dernier est utile pour connecter de petits appareils intégrés qui ne prennent pas en charge TLS mais qui disposent d’une connectivité réseau de base.
Avec cela, vous pouvez vous connecter au réseau public Yggdrasil en copiant quelques-uns des liens de nœud offert par sa communauté.
Une fois cela fait, vous pouvez activer le programme en exécutant les commandes suivantes :
sudo systemctl enable yggdrasil sudo systemctl start yggdrasil
Vous pouvez tester si vous êtes correctement connecté au réseau en visitant cette page Web.
Créer votre propre réseau privé
D’un autre côté, créer un réseau privé peut être un peu compliqué mais reste relativement simple. Pour créer un réseau Yggdrasil privé, vous aurez besoin de quelques éléments :
- Une machine publiquement détectable. Il peut s’agir soit d’une machine locale qui n’est pas bloquée par CG-NAT, soit d’un serveur privé virtuel bon marché.
- Un certain nombre de machines situées dans différents réseaux qui ne peuvent pas communiquer directement entre elles.
Configuration de votre nœud public personnel
Pour créer un réseau Yggdrasil privé, vous devez d’abord autoriser votre machine publique à se connecter à d’autres nœuds. Pour cela, modifiez le Listen:
bloc du fichier « /etc/yggdrasil.conf » de la machine publique.
Par exemple, un nœud configuré pour prendre des connexions publiques pourrait ressembler à ceci :
[...] # Listen addresses for incoming connections. You will need to add # listeners in order to accept incoming peerings from non-local nodes. # Multicast peer discovery will work regardless of any listeners set # here. Each listener should be specified in URI format as above, e.g. # tls://0.0.0.0:0 or tls://[::]:0 to listen on all interfaces. Listen: [ tls://your.ipv4.address.here:12345 tcp://[your:ipv6:address:here]:12345 ] [...]
Nous avons configuré le nœud pour prendre toutes les connexions entrantes dans le port 12345 à partir d’IPv4 et d’IPv6. De plus, la connexion IPv4 est enveloppée dans TLS, tandis que IPv6 est dans TCP non crypté.
À partir de là, activez et démarrez le service Yggdrasil pour appliquer vos paramètres. Après cela, la connexion à ce nœud serait similaire à la connexion à un nœud public.
Découverte d’adresses et restriction d’accès
Par défaut, votre nœud Yggdrasil nouvellement créé acceptera toutes les connexions entrantes, à condition qu’elles utilisent le bon port. Pour créer un véritable VPN privé pour vos machines, vous devez les ajouter à une liste blanche de clés publiques.
Un nœud Yggdrasil fonctionne en diffusant une clé publique unique générée par Yggdrasil lors de sa première installation. Cette clé sert à vous sécuriser au sein d’un réseau et à créer votre adresse.
Vous pouvez vérifier votre adresse Yggdrasil en exécutant cette commande :
sudo yggdrasilctl getself
Cela affichera une adresse IPv6 qui commence par « 20x : … ». Elle peut être utilisée pour se connecter directement à cette machine via Yggdrasil.
De plus, le getself
affichera également la clé publique d’une machine. C’est ce dont vous avez besoin pour créer une liste autorisée de machines dans votre nœud public.
Configuration de votre nœud personnel pour restreindre l’accès
Pour restreindre l’accès à votre nœud Yggdrasil, vous devez modifier le AllowedPublicKeys:
bloquer dans le « /etc/yggdrasil.conf » de votre nœud public. Ajoutez simplement toutes les clés publiques que vous souhaitez que ce nœud accepte.
Par exemple, voici une configuration pour un nœud qui n’accepte que trois clés publiques :
# List of peer public keys to allow incoming peering connections # from. If left empty/undefined then all connections will be allowed # by default. This does not affect outgoing peerings, nor does it # affect link-local peers discovered via multicast. AllowedPublicKeys: [ "publickey1" "publickey2" "publickey3" ]
Une fois cela fait, vous pouvez appliquer vos paramètres en redémarrant le service Yggdrasil :
sudo systemctl restart yggdrasil
Toutes nos félicitations! Vous avez maintenant une compréhension de base du fonctionnement du réseau Yggdrasil, ainsi qu’une idée de base de la façon de connecter et de configurer un réseau privé.
Si toutes ces discussions vous rendent curieux de savoir comment fonctionne Internet, vous pouvez consulter cet article sur la capture de paquets TCP avec tcpdump.
Questions fréquemment posées
1. J’ai ajouté l’adresse Yggdrasil de mon ami à mon fichier de configuration mais je ne peux pas me connecter à lui. Qu’est-ce que je fais mal?
Cela peut être dû à un certain nombre de choses. Cependant, les causes les plus courantes de ce problème sont les suivantes :
- Les deux machines sont derrière un NAT et ne peuvent donc pas établir de connexion directe l’une avec l’autre.
- le
Peers:
bloquer etListen:
bloc dans « /etc/yggdrasil.conf » sont configurés de manière incorrecte.
Pour la première cause, vous devez vous assurer qu’au moins une machine est accessible publiquement. Vous devez également vous assurer que le port que vous utilisez est correctement redirigé et qu’il peut être vu de l’extérieur de votre réseau local.
Pour la deuxième cause, assurez-vous que le Peers:
et Listen:
les blocs contiennent véritable adresse IPv4 ou IPv6 de la machine d’appairage et non son adresse Yggdrasil.
2. Comment savoir si mes machines s’appairent correctement ?
Vous pouvez facilement vérifier si vos machines s’appairent correctement en exécutant cette commande :
sudo yggdrasilctl getpeers
Cela affichera tous les pairs actuellement connectés à vous ainsi que leur position relative dans l’arborescence du réseau Yggdrasil.
3. Est-il possible de créer une clé et une adresse Yggdrasil fortes ?
Oui! Vous pouvez le faire en utilisant un mineur d’adresses. Il s’agit d’un programme simple qui calculera en force brute une paire de clés publiques qui a un certain nombre de zéros devant.
Le programme le plus courant pour ce faire est Générateur Yggdrasil simple (SYG) avec la dernière version écrite en C++.