A graphics render of a cloud with a padlock underneath it.

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.

Un terminal affichant les performances ping de Tinc sur Debian.

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
Un terminal montrant le processus d'installation du package pour Tinc dans Ubuntu.

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.

Un terminal montrant le processus d'installation dans Fedora Linux.

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

Un terminal affichant la version actuelle de Tinc fonctionnant sur Ubuntu.

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
Un terminal affichant la configuration pour l'installation de Tinc dans Ubuntu.

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.

Un terminal mettant en avant l'adresse IP privée de la machine Ubuntu.

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
Un terminal affichant le contenu du script tinc-down dans Ubuntu.

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.

Un terminal montrant le processus de génération de paires de clés pour Tinc dans Ubuntu.

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.

Un terminal affichant la version Tinc sur Debian.

Créez la structure de répertoires pour votre configuration Tinc en utilisant mkdir -p.

Un terminal affichant la structure des répertoires de la configuration Tinc du client.

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}
Un terminal affichant les fichiers de script tinc-up et tinc-down avec les bits d'autorisation corrects dans la deuxième machine Tinc.

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
Un terminal montrant le processus de génération de paire de clés dans la deuxième machine Tinc.

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:~
Un terminal montrant le processus de transfert de la configuration du client Tinc d'un système à un autre.

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:~
Un terminal montrant le processus de transfert du fichier de configuration Tinc du client vers un homologue du réseau.

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
Un terminal affichant la latence du VPN Tinc ainsi que le périphérique réseau fonctionnant sous Ubuntu.

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
Un terminal affichant la commande pour activer le processus Tinc au démarrage.

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.

Partager :
Facebook
Twitter
LinkedIn

Gentil Geek

Passionné d'informatique depuis ma plus tendre enfance aujourd'hui j'en ai fait mon métier. A vos côtés pour simplifier votre utilisation de l'informatique et vous permettre de gagner en compétences.

Poster le commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *