Comment créer un VPN maillé P2P léger avec Tinc

Tinc est un adaptateur de Réseau Privé Virtuel (VPN) open-source qui offre un moyen simple de créer un réseau maillé privé pair-à-pair (P2P) sous Linux, Windows et macOS. Semblable à OpenVPN et Wireguard, il peut relier plusieurs ordinateurs à travers différentes topologies réseau en un seul LAN virtuel. Ici, nous vous montrons les avantages d’utiliser Tinc et comment installer et créer un réseau maillé simple basé sur Tinc.
Pourquoi utiliser Tinc plutôt que Wireguard et OpenVPN ?
Un point de vente unique de Tinc par rapport aux autres démons VPN est qu’il est conçu pour être un réseau maillé. Cela signifie que, contrairement à Wireguard, il peut facilement s’adapter aux changements de conditions réseau. Cela le rend plus résilient, notamment pour les ordinateurs avec une mauvaise connexion réseau.

En plus de cela, Tinc possède la plupart des fonctionnalités que l’on attend d’un VPN traditionnel tel qu’OpenVPN. Cela inclut la capacité à traverser des environnements NAT, à créer des tunnels cryptés et à relier des applications uniquement LAN.

Enfin, Tinc s’efforce également de rendre chaque connexion que vous établissez à l’intérieur du réseau P2P. Cela peut se faire soit par une découverte automatique des pairs, soit en coordonnant avec un serveur Tinc accessible publiquement. Par conséquent, les connexions à l’intérieur d’un VPN Tinc ne sont pas seulement résilientes mais aussi rapides et réactives.
Bon à savoir : encore indécis sur le VPN à choisir ? Consultez notre article où nous comparons Wireguard et OpenVPN.
Installation de Tinc sur Linux
La première étape pour installer Tinc est de s’assurer que votre système est à jour. Sous Ubuntu, exécutez la commande suivante :
sudo apt update && sudo apt upgrade -yTéléchargez et installez Tinc directement depuis les dépôts de paquets d’Ubuntu :
sudo apt install tinc
Pour installer Tinc sur d’autres distributions Linux, utilisez le gestionnaire de paquets approprié pour ce système. Par exemple, je dois exécuter sudo dnf install tinc pour récupérer le programme sur Fedora.

Confirmez que vous avez correctement installé Tinc en ouvrant une session terminal et en exécutant tincd --version.

Création d’un réseau maillé de base avec Tinc
Avec Tinc sur votre machine, vous pouvez maintenant configurer votre premier réseau basé sur Tinc. Créez un nouveau dossier dans “/etc/tinc.” Cela contiendra tous les fichiers liés à votre nœud Tinc :
sudo mkdir -p /etc/tinc/mynetwork/hostsCréez un nouveau fichier de configuration en utilisant votre éditeur de texte préféré :
sudo nano /etc/tinc/mynetwork/tinc.confCollez le bloc de code suivant dans votre nouveau fichier de configuration :
Name = mynode
Device = /dev/net/tunRemarque : certaines distributions Linux peuvent changer l’emplacement de l’adaptateur tun dans “/dev.” Pour trouver son chemin exact pour votre système, exécutez :
find /dev -name '*tun*' -type cCréez un fichier texte dans le dossier “hosts” avec le nom de votre nœud Tinc et collez ce qui suit :
Subnet = 192.168.11.1/32
Address = VOTRE-ADRESSE-IP-DE-MACHINE-ICI
Port = 655Remplacez la valeur de la variable “Address” par l’adresse IP de votre machine. Vous pouvez trouver cela en exécutant ip addr.

Remarque : vous devez fournir l’adresse IP publique de votre machine si vous souhaitez créer un VPN accessible publiquement.
Enregistrez le fichier des hôtes de votre machine, puis créez deux fichiers sous “/etc/tinc/mynetwork :”
sudo touch /etc/tinc/mynetwork/tinc-{up,down}
sudo chmod +x /etc/tinc/mynetwork/tinc-{up,down}Ouvrez le fichier “tinc-up”, puis collez le code Bash suivant à l’intérieur. Cela crée l’interface réseau virtuelle pour Tinc et attribue l’adresse IP à cette interface :
#!/bin/sh
ip link set $INTERFACE up
ip addr add 192.168.11.1/32 dev $INTERFACE
ip route add 192.168.11.0/24 dev $INTERFACEEnregistrez le fichier, puis ouvrez le fichier “tinc-down” et collez également ce qui suit. Cela fait l’inverse de “tinc-up” : il désattribue l’adresse IP de votre interface Tinc et supprime cette interface de votre machine :
#!/bin/sh
ip route del 192.168.11.0/24 dev $INTERFACE
ip addr del 192.168.11.1/32 dev $INTERFACE
ip link set $INTERFACE down
Générez une clé pour votre nœud Tinc en exécutant tincd :
sudo tincd -n mynetwork --generate-keys=4096Appuyez sur Entrée deux fois pour accepter l’emplacement de sauvegarde par défaut pour les clés privée et publique de votre nœud Tinc.

Ajout du premier client Tinc
Pour ajouter un nouveau client Tinc, commencez par vous assurer que vous avez correctement installé Tinc sur votre deuxième machine.

Créez la structure de répertoire pour votre configuration Tinc en utilisant mkdir -p.
Utilisez votre éditeur de texte préféré pour créer le fichier de configuration pour votre client Tinc :
sudo nano /etc/tinc/mynetwork/tinc.confCollez les lignes de code suivantes dans le fichier de configuration de votre deuxième machine :
Name = myclient
Device = /dev/net/tun
ConnectTo = mynodeCréez un fichier avec le nom de votre machine Tinc sous “/etc/tinc/mynetwork/hosts.” Dans ce cas, j’ai nommé ma deuxième machine “myclient”, donc je vais créer un fichier avec le nom “myclient” :
sudo nano /etc/tinc/mynetwork/hosts/myclientCollez le bloc de code suivant dans votre nouveau fichier des hôtes. Semblable à votre premier nœud, cela dicte la configuration réseau de votre démon Tinc :
Subnet = 192.168.11.2/32
Port = 655Enregistrez votre nouveau fichier des hôtes, puis créez un script “tinc-up” et “tinc-down” sur votre deuxième machine :
sudo touch /etc/tinc/mynetwork/tinc-{up,down}
sudo chmod +x /etc/tinc/mynetwork/tinc-{up,down}Ouvrez le fichier tinc-up avec votre éditeur de texte préféré, puis collez le bloc de code suivant à l’intérieur :
#!/bin/sh
ip link set $INTERFACE up
ip addr add 192.168.11.2/32 dev $INTERFACE
ip route add 192.168.11.0/24 dev $INTERFACEEnregistrez votre fichier tinc-up, puis ouvrez tinc-down et collez également les lignes de code suivantes à l’intérieur :
#!/bin/sh
ip route del 192.168.11.0/24 dev $INTERFACE
ip addr del 192.168.11.2/32 dev $INTERFACE
ip link set $INTERFACE downFinalisez la configuration de votre client Tinc en générant sa clé :
sudo tincd -n mynetwork --generate-keys=4096
Exécution du réseau maillé Tinc
À ce stade, vous avez maintenant deux démons Tinc correctement configurés. Cependant, vous devez toujours lier ces deux démons Tinc pour créer votre VPN P2P sous Linux. Pour cela, vous devez copier le fichier de configuration des hôtes de votre nœud Tinc à votre client et vice versa.
Commencez par ouvrir la session terminal de votre nœud et naviguez vers son répertoire “/etc/tinc/mynetwork/hosts” :
cd /etc/tinc/mynetwork/hostsCopiez le fichier de configuration dans ce répertoire et transférez-le à votre client. Dans mon cas, je vais utiliser scp pour envoyer ce fichier via ssh :
scp ./mynode VOTRE-ADRESSE-IP-CLIENT:~
Remarque : Bien que j’aie utilisé scp dans cet exemple, vous pouvez également les transférer manuellement à l’aide de clés USB.
Allez sur votre machine cliente et copiez le fichier des hôtes que vous venez de transférer dans le dossier “/etc/tinc/mynetwork/hosts” du client :
sudo cp -v ~/mynode /etc/tinc/mynetwork/hosts/Après cela, exécutez scp sur le côté de la machine cliente pour transférer son fichier des hôtes de retour à votre nœud :
scp /etc/tinc/mynetwork/hosts/myclient VOTRE-ADRESSE-IP-NŒUD:~Copiez le fichier des hôtes de votre client dans le répertoire des hôtes de votre nœud :
sudo cp ~/myclient /etc/tinc/mynetwork/hosts/En passant : inquiet pour votre vie privée sur Internet ? Découvrez comment vous pouvez améliorer la confidentialité et la sécurité de votre PC Linux.
Démarrer le réseau maillé Tinc
Démarrez votre réseau Tinc entièrement configuré en exécutant la commande suivante sur chacun de vos hôtes :
sudo tincd -n mynetworkConfirmez que vous pouvez communiquer avec vos nœuds via l’interface Tinc en effectuant un simple ping :
ping -c 5 192.168.11.2
Enfin, activez le service Tinc pour vous assurer que votre VPN fonctionnera au démarrage du système :
sudo systemctl enable --now [email protected]Apprendre à créer votre propre VPN maillé P2P sous Linux avec Tinc n’est que la première étape pour explorer ce merveilleux monde du réseau informatique. Plongez profondément dans les complexités de cette technologie en consultant notre aperçu complet sur les VPN.
Crédit d’image : Growtika via Unsplash. Toutes modifications et captures d’écran par Ramces Red.