Table des matières
Tinc est un adaptateur de réseau privé virtuel (VPN) open source qui fournit un moyen simple de créer un réseau maillé privé peer-to-peer (P2P) sous Linux, Windows et macOS. Semblable à OpenVPN et Wireguard, il peut relier plusieurs ordinateurs sur différentes topologies de réseau en un seul réseau local virtuel. Nous vous montrons ici les avantages de l'utilisation de Tinc et comment installer et créer un réseau maillé simple basé sur Tinc.
Pourquoi utiliser Tinc plutôt que Wireguard et OpenVPN ?
L'un des arguments de vente uniques 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 des conditions du réseau. Cela le rend plus résistant, en particulier pour les ordinateurs dotés d'une mauvaise connexion réseau.
En dehors de cela, Tinc bénéficie de la plupart des fonctionnalités que vous attendez d’un VPN traditionnel tel qu’OpenVPN. Cela inclut la possibilité de traverser des environnements NAT, de créer des tunnels cryptés et de relier des applications uniquement LAN.
Enfin, Tinc s'efforce également d'établir chaque connexion que vous établissez au sein du réseau P2P. Cela peut se faire soit par la découverte automatique des pairs, soit par la coordination avec un serveur Tinc accessible au public. En conséquence, les connexions au sein d’un VPN Tinc sont non seulement résilientes mais également rapides et réactives.
Installer Tinc sur Linux
La première étape de l'installation de Tinc est de vous assurer que votre système est à jour. Sous Ubuntu, exécutez la commande suivante :
sudo apt update && sudo apt upgrade -y
Téléchargez et installez Tinc directement à partir des référentiels de packages d'Ubuntu :
sudo apt install tinc
Pour installer Tinc sur d'autres distributions Linux, utilisez le gestionnaire de packages approprié pour ce système. Par exemple, je dois courir sudo dnf install tinc
pour récupérer le programme dans Fedora.
Confirmez que vous avez correctement installé Tinc en ouvrant une session de 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 désormais configurer votre premier réseau basé sur Tinc. Créez un nouveau dossier dans « /etc/tinc ». Celui-ci contiendra tous les fichiers liés à votre nœud Tinc :
sudo mkdir -p /etc/tinc/mynetwork/hosts
Créez un nouveau fichier de configuration à l'aide de votre éditeur de texte préféré :
sudo nano /etc/tinc/mynetwork/tinc.conf
Collez le bloc de code suivant dans votre nouveau fichier de configuration :
Name = mynode Device = /dev/net/tun
Note: certaines distributions Linux peuvent modifier l'emplacement de l'adaptateur tun dans «/dev». Pour trouver son chemin exact pour votre système, exécutez :
find /dev -name *tun* -type c
Créez un fichier texte sous le dossier « hosts » avec le nom de votre nœud Tinc et collez-y ce qui suit :
Subnet = 192.168.11.1/32 Address = YOUR-MACHINE-IP-ADDRESS-HERE Port = 655
Remplacez la valeur de la variable « Adresse » par l'adresse IP de votre machine. Vous pouvez le trouver en exécutant ip addr
.
Note: vous devez fournir l'adresse IP publique de votre machine si vous souhaitez créer un VPN accessible au public.
Enregistrez le fichier hosts 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-y le code Bash suivant. 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 $INTERFACE
Enregistrez le fichier, puis ouvrez le fichier « tinc-down » et collez également ce qui suit à l'intérieur. 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 paire de clés pour votre nœud Tinc en exécutant tincd :
sudo tincd -n mynetwork --generate-keys=4096
Presse Entrer deux fois pour accepter l'emplacement d'enregistrement par défaut pour les clés privées et publiques sur 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épertoires 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.conf
Collez les lignes de code suivantes dans le fichier de configuration de votre deuxième machine :
Name = myclient Device = /dev/net/tun ConnectTo = mynode
Cré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 « monclient », je vais donc créer un fichier portant le nom « monclient : »
sudo nano /etc/tinc/mynetwork/hosts/myclient
Collez le bloc de code suivant dans votre nouveau fichier hosts. Semblable à votre premier nœud, cela dicte la configuration réseau de votre démon Tinc :
Subnet = 192.168.11.2/32 Port = 655
Enregistrez votre nouveau fichier hosts, 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 à l'aide de votre éditeur de texte préféré, puis collez-y le bloc de code suivant :
#!/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 $INTERFACE
Enregistrez votre fichier tinc-up, puis ouvrez tinc-down et collez également les lignes de code suivantes :
#!/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 down
Finalisez la configuration de votre client Tinc en générant sa keypair :
sudo tincd -n mynetwork --generate-keys=4096
Exécution du réseau maillé Tinc
À ce stade, vous disposez désormais de 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 vers votre client et vice versa.
Commencez par ouvrir la session de terminal de votre nœud et accédez à son répertoire « /etc/tinc/mynetwork/hosts » :
cd /etc/tinc/mynetwork/hosts
Copiez le fichier de configuration dans ce répertoire et transférez-le sur votre client. Dans mon cas, j'utiliserai scp pour envoyer ce fichier via ssh :
scp ./mynode YOUR-CLIENT-IP-ADDRESS:~
Note: Bien que j'aie utilisé scp dans cet exemple, vous pouvez également les transférer manuellement à l'aide de lecteurs flash.
Accédez à votre ordinateur client et copiez le fichier hosts 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 du côté de la machine client pour transférer son fichier hosts vers votre nœud :
scp /etc/tinc/mynetwork/hosts/myclient YOUR-NODE-IP-ADDRESS:~
Copiez le fichier hosts de votre client dans le répertoire hosts de votre nœud :
sudo cp ~/myclient /etc/tinc/mynetwork/hosts/
En passant : préoccupé par votre vie privée sur Internet ? Découvrez comment vous pouvez améliorer la confidentialité et la sécurité de votre PC Linux.
Démarrage du 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 mynetwork
Confirmez que vous êtes capable de 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 tinc@mynetwork.service
Apprendre à créer votre propre VPN maillé P2P sous Linux avec Tinc n'est que la première étape pour explorer ce monde merveilleux des réseaux informatiques. Découvrez en profondeur les subtilités de cette technologie en consultant notre aperçu complet des VPN.