Comment configurer Wireguard VPN sur Linux
Wireguard est un puissant démon de réseau privé virtuel (VPN) open source qui peut fonctionner à la fois sur des ordinateurs de bureau et des appareils mobiles. Il offre une alternative rapide et légère aux solutions VPN traditionnelles telles qu’IPsec et OpenVPN. Nous vous montrons ici comment installer Wireguard et créer une configuration VPN simple à l’aide de trois machines Linux.
Pourquoi utiliser Wireguard comme solution VPN ?
L’un des principaux arguments de vente de Wireguard est qu’il s’agit d’un démon VPN rapide et léger. Contrairement aux solutions traditionnelles, Wireguard n’ajoute pas beaucoup de surcharge à votre réseau. Cela se traduit par une latence plus faible et un débit global élevé sur vos nœuds.
Une autre caractéristique clé de Wireguard est qu’il s’agit d’un module intégré au noyau Linux. Cela lui permet de fonctionner sans utiliser de ressources système supplémentaires sur votre ordinateur, ce qui en fait un choix idéal pour le déploiement sur des appareils bas de gamme et SOC.
Enfin, Wireguard tire également parti des normes cryptographiques et des pratiques de développement modernes. Il a également fait l’objet de plusieurs vérifications formelles, qui confirment l’exactitude du code de Wireguard, ses garanties de sécurité et sa capacité à résister aux attaques.
Obtention de Wireguard
La première étape pour configurer Wireguard sur Linux consiste à télécharger ses outils de base à partir du référentiel de votre distribution. Cela vous permet de contrôler le module de noyau Wireguard intégré à l’aide de commandes de l’espace utilisateur.
Pour installer les outils de base dans Ubuntu et Debian, exécutez la commande suivante :
Dans Fedora, vous pouvez utiliser le dnf
gestionnaire de paquets :
Pour Arch Linux, vous pouvez exécuter pacman
pour obtenir les outils de base de Wireguard :
Confirmez que vous avez correctement installé les outils Wireguard en chargeant son écran d’aide :
Configuration du serveur Wireguard
Hypothèse : cet article suppose que vous installez le serveur Wireguard sur un système Linux avec une adresse IPv4 accessible au public. Les instructions fonctionneront toujours sur un serveur derrière un NAT, mais il ne trouvera pas de nœuds en dehors de son sous-réseau.
Avec la boîte à outils principale Wireguard installée sur vos machines Linux, vous pouvez désormais configurer le nœud serveur de votre VPN. Il servira de passerelle Internet pour vos nœuds clients sur le réseau.
Commencez par accéder à votre répertoire de configuration Wireguard et définissez ses autorisations par défaut sur « root uniquement » :
Générez la clé publique et privée pour votre serveur Wireguard :
Créez le fichier de configuration de votre serveur à l’aide de votre éditeur de texte préféré :
Collez le bloc de code suivant dans le fichier de configuration de votre serveur :
Ouvrez une nouvelle session de terminal, puis imprimez la clé privée Wireguard de votre serveur :
Copiez la clé privée de votre serveur dans votre presse-papiers.
Remplacez la valeur de la PrivateKey
variable par la clé de votre presse-papiers.
Recherchez l’interface réseau qui a accès à Internet à l’aide de la ip
commande :
Définissez la valeur de l’ -o
indicateur sur les deux variables PostUp
et PostDown
sur l’interface avec accès Internet, puis enregistrez votre fichier de configuration.
Ouvrez le fichier « /etc/sysctl.conf » du serveur à l’aide de votre éditeur de texte préféré :
Faites défiler jusqu’à la ligne qui contient net.ipv4.ip_forward=1
, puis supprimez le signe dièse (#) devant celui-ci.
Rechargez votre nouvelle configuration sysctl en exécutant : sudo sysctl -p
.
Configuration et connexion du client Wireguard
À ce stade, vous disposez désormais d’un serveur Wireguard correctement configuré sans aucun homologue. Pour l’utiliser, vous devez configurer et connecter votre premier client Wireguard.
Accédez au répertoire de configuration Wireguard de votre système client et définissez ses autorisations par défaut :
Générez la paire de clés Wireguard de votre client à l’aide de la commande suivante :
Créez le fichier de configuration Wireguard du client à l’aide de votre éditeur de texte préféré :
Collez le bloc de code suivant dans votre fichier de configuration client :
Remplacez la PrivateKey
variable par la clé privée de votre client.
Ouvrez la session de terminal de votre serveur Wireguard, puis imprimez sa clé publique :
Définissez la valeur de la PublicKey
variable sur la clé publique de votre serveur.
Modifiez la Endpoint
variable avec l’adresse IP de votre serveur Wireguard.
Enregistrez votre fichier de configuration, puis utilisez la wg-quick
commande pour démarrer le client Wireguard :
Liaison du serveur Wireguard au client
Accédez à la session de terminal de votre serveur Wireguard, puis ouvrez son fichier de configuration :
Collez le bloc de code suivant après la [Interface]
section :
Définissez la PublicKey
variable sur la clé publique de votre client Wireguard.
Enregistrez le fichier de configuration, puis exécutez la commande suivante pour démarrer le service Wireguard sur votre serveur :
Ajout d’un deuxième client au serveur
L’une des caractéristiques clés de chaque service VPN est qu’il peut relier plusieurs machines de différents réseaux. Cela est utile si vous avez des ordinateurs situés à différents endroits ou si vous souhaitez héberger un serveur de jeu privé pour vos amis.
Pour ce faire dans Wireguard, vous devez créer un fichier de configuration pour une nouvelle interface VPN sur votre serveur. Le moyen le plus simple de procéder consiste à copier la configuration actuelle de votre serveur et à donner un nouveau nom à la copie :
Ouvrez votre nouveau fichier de configuration à l’aide de votre éditeur de texte préféré :
Définissez la ListenPort
variable sur 60102. Cela évitera toute collision de port entre les interfaces VPN wg0 et wg1.
Accédez à la [Peer]
section et modifiez la AllowedIPs
variable de « 10.0.0.2/32 » à « 10.0.0.3/32 », puis enregistrez votre fichier de configuration.
Configuration du deuxième client Wireguard
Connectez-vous à votre deuxième machine, puis préparez votre répertoire de configuration Wireguard :
Générez une nouvelle paire de clés Wireguard à l’aide de la commande suivante :
Créez un nouveau fichier de configuration à l’aide de votre éditeur de texte préféré :
Collez le bloc de code suivant dans votre nouveau fichier de configuration :
Définissez la PrivateKey
variable sur la clé privée de votre deuxième machine, puis remplacez la PublicKey
variable par la clé publique de votre serveur.
Remplacez la variable Endpoint par l’adresse IP de votre serveur, suivie de « :60102 ».
Enregistrez votre fichier de configuration, puis démarrez le client Wireguard de la deuxième machine :
Liaison du deuxième client au serveur Wireguard
Reconnectez-vous à votre serveur Wireguard, puis ouvrez la configuration de l’interface VPN pour votre deuxième client :
Faites défiler jusqu’à la [Peer]
section, puis remplacez la PublicKey
variable par la clé publique de votre deuxième client.
Enregistrez votre fichier de configuration, puis démarrez la deuxième interface VPN à l’aide de la commande wg-quick :
Confirmez que vos premier et deuxième clients Wireguard s’affichent correctement sur votre serveur en exécutant wg
.
Test du réseau Wireguard
Avec votre serveur et vos clients sur le réseau Wireguard, vous pouvez désormais tester la connectivité et la latence entre vos nœuds. Pour ce faire, assurez-vous que des outils de diagnostic réseau sont installés sur votre système :
Dans Fedora, vous n’avez besoin que de l’installer, curl
car il est déjà fourni avec des outils réseau prêts à l’emploi :
Pour Arch Linux, vous pouvez utiliser pacman
pour installer les outils réseau etcurl
:
Commencez par suivre le trajet d’un paquet entre deux clients. L’exemple suivant montre comment un paquet IP passe de « 10.0.0.2 » à « 10.0.0.3 » :
Vérifiez si l’un de vos nœuds peut accéder à l’Internet public en envoyant une requête ping à une adresse IP commune :
Enfin, confirmez que vos nœuds partagent la même adresse IP publique que votre serveur Wireguard :
Apprendre à configurer un réseau Wireguard sous Linux est la première étape pour explorer le monde fascinant des VPN. Plongez-vous dans le monde des VPN et découvrez nos choix parmi les meilleurs fournisseurs de VPN axés sur la sécurité que vous pouvez obtenir aujourd’hui.
Crédits photo : Kari Shea via Unsplash et Wikimedia Commons . Toutes les modifications et captures d’écran ont été réalisées par Ramces Red.
Laisser un commentaire