GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment configurer WireGuard VPN sur Ubuntu (un guide étape par étape)

Ce didacticiel vous montrera comment configurer votre serveur VPN WireGuard sur  Ubuntu  en étapes faciles à suivre.

Table des matières

  • Étape 1 :Activer le transfert IP sur le serveur
  • Étape 2 :Installez WireGuard sur Ubuntu
  • Étape 3 :Configurer le serveur VPN WireGuard sur Ubuntu
    • Étape 3.1 :Générer une paire de clés publique/privée
    • Étape 3.2 :Configurer le périphérique de tunnel
  • Étape 4 :Activer et démarrer le service VPN WireGuard
  • Étape 5 :Installer et configurer le client WireGuard
  • Étape 6 :Connexion du client WireGuard au serveur
  • Conclusion

WireGuard est un serveur VPN open source, gratuit et rapide qui utilise une cryptographie de pointe. Il transmet le trafic via UDP avec de meilleures performances que les deux protocoles de tunneling typiques, c'est-à-dire OpenVPN et IPsec.

WireGuard est un VPN peer-to-peer explicitement conçu pour le noyau Linux. Il s'exécute à l'intérieur du noyau Linux et vous permet de créer un tunnel VPN rapide, moderne et sécurisé.

WireGuard fonctionne en créant une interface réseau sur chaque appareil pair qui agit comme un tunnel. Les pairs s'authentifient en échangeant et en validant des clés publiques, imitant le modèle SSH.

Étape 1 :Activer le transfert IP sur le serveur

Pour que le serveur VPN route les paquets entre les clients VPN et Internet, vous devez activer le transfert IP. Ouvrez le /etc/sysctl.conf fichier à l'aide de votre éditeur préféré :

sudo vim /etc/sysctl.conf

Commentez (enlevez le # caractère avant) la ligne suivante :

Enregistrez le fichier et appliquez la modification :

sudo sysctl -p

Étape 2 :Installer WireGuard sur Ubuntu

La prochaine étape de ce didacticiel consiste à installer WireGuard sur votre machine Ubuntu et à le configurer pour qu'il agisse en tant que serveur. Par défaut, le package WireGuard est disponible dans le référentiel par défaut d'Ubuntu.

sudo apt install wireguard

Une fois le package WireGuard installé, vous pouvez passer à l'étape suivante.

Étape 3 :Configurer le serveur VPN WireGuard sur Ubuntu

WireGuard fonctionne en échangeant des clés publiques entre chaque appareil du réseau WireGuard. Maintenant que WireGuard est installé, l'étape suivante consiste à générer une paire de clés privée et publique pour le serveur.

Étape 3.1 :Générer une paire de clés publique/privée

Exécutez la commande suivante pour créer une paire de clés publique/privée. Les fichiers seront enregistrés sous /etc/wireguard/ répertoire.

wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key

Le wg La commande est l'utilitaire de configuration intégré de WireGuard pour obtenir et définir les configurations de WireGuard. Lorsque vous exécutez la commande, vous recevrez une seule ligne de sortie encodée en base64, la clé publique (server_public.key ) pour votre serveur WireGuard.

Rappelez-vous, la clé privée (server_private.key ) ne doivent jamais être partagés avec qui que ce soit et doivent toujours être conservés en lieu sûr.

Étape 3.2 :Configurer le périphérique de tunnel

Ensuite, vous devrez créer une interface réseau pour WireGuard. Utilisez un éditeur de texte en ligne de commande comme vim pour créer un fichier de configuration WireGuard. Le nom de l'interface réseau sera wg0 .

sudo vim /etc/wireguard/wg0.conf

Ajoutez le contenu indiqué ci-dessous :

[Interface]
## Private IP address for the wg0 interface ##
Address = 10.0.0.1/24

## VPN server listening port ##
ListenPort = 51820

## VPN server private key ##
PrivateKey = mPIoWfKQWZP8lie2ISEZ6ul7vyESH9MqpFvxk1cxIWQ=

## Firewall rules ##
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o enp1s0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o enp1s0 -j MASQUERADE

Bien sûr, vous devez remplacer la PrivateKey avec le contenu de celui que vous avez généré, stocké dans le /etc/wireguard/server_private.key fichier.

Vous pouvez afficher le contenu de la clé privée avec la commande suivante :

sudo cat /etc/wireguard/server_private.key

Assurez-vous de remplacer enp1s0 après -A POSTROUTING -o ... pour correspondre au nom de votre interface réseau publique. Vous pouvez le trouver facilement avec :

ip -o -4 route show to default | awk '{print $5}'

Enregistrez et fermez le wg0.conf dossier. De plus, modifiez le mode d'autorisation des fichiers pour que seul l'utilisateur root puisse lire les fichiers.

sudo chmod -R 600 /etc/wireguard/

Étape 4 :Activer et démarrer le service VPN WireGuard

Exécutez la commande suivante sur le serveur pour activer le démarrage automatique au démarrage du système et démarrer WireGuard.

sudo systemctl enable [email protected]
sudo systemctl start [email protected]

Vérifiez son état avec la commande suivante. Vous devriez voir active dans la sortie :

sudo systemctl status [email protected]

Pour vérifier l'état et la configuration de l'interface, saisissez :

sudo wg show wg0

Étape 5 :Installer et configurer le client WireGuard

Tout d'abord, vous devrez installer le package WireGuard sur la machine cliente. Cela revient à configurer le serveur WireGuard.

sudo apt install wireguard

Ensuite, vous devrez générer une paire de clés publique/privée sur le pair en suivant les étapes exactes que vous avez utilisées sur le serveur.

wg genkey | sudo tee /etc/wireguard/client_private.key | wg pubkey | sudo tee /etc/wireguard/client_public.key

Ouvrez un nouveau /etc/wireguard/wg0.conf fichier sur la machine cliente WireGuard à l'aide de votre éditeur préféré :

sudo vim /etc/wireguard/wg0.conf

Ajoutez les lignes suivantes au fichier :

[Interface]
## VPN client private IP address ##
Address = 10.0.0.2/24

## VPN client private key ##
PrivateKey = 0COkq1GMM86CmlF5blPFDYhU84iTX8iJ7lWoC1gLfnk=

[Peer]
## VPN server public key ##
PublicKey = ZnD/WMx0kasJfGjFf0/uCtJoFbz0oNdq7EcieHXVaSc=

## VPN server public IP address and port ##
Endpoint = 192.168.122.101:51820

## Route all the traffic through the VPN tunnel ##
AllowedIPs = 0.0.0.0/0

## Key connection alive ##
PersistentKeepalive = 15

Remplacez la PrivateKey avec le contenu de celui que vous avez généré, stocké dans le /etc/wireguard/client_private.key fichier sur la machine cliente.

sudo cat /etc/wireguard/client_private.key

Remplacez la clé publique du serveur, qui se trouve dans /etc/wireguard/server_public.key fichier sur le serveur.

Remplacez le Endpoint valeur (192.168.122.101:51820 ) avec la véritable adresse IP publique et le port de votre serveur.

Enfin, enregistrez et fermez le fichier.

Vous devez configurer l'option VPN côté serveur pour autoriser une connexion entre l'ordinateur client (homologue) et le serveur. Alors, retournez sur le serveur et modifiez le /etc/wireguard/wg0.conf fichier pour ajouter des informations sur le client comme suit :

sudo vim /etc/wireguard/wg0.conf
[Peer]
## Client public key ##
PublicKey = 6FLtyfBQie9+EB3QYF55CR1FASca7vVYPReynlEccAo=

## Client IP address ##
AllowedIPs = 10.0.0.2/24

Remplacez la PublicKey avec le contenu du fichier stocké dans le /etc/wireguard/client_public.key fichier sur la machine cliente .

La version finale du fichier de configuration du serveur devrait ressembler à ceci :

Enregistrez le fichier et redémarrez le serveur VPN pour appliquer les modifications :

sudo systemctl restart [email protected]

Étape 6 :Connexion du client WireGuard au serveur

Exécutez la commande suivante sur la machine cliente pour connecter le client VPN au serveur VPN :

sudo systemctl start [email protected]

Vous devriez maintenant être connecté au serveur VPN WireGuard et le trafic de votre machine cliente devrait être acheminé via celui-ci.

C'est tout! Le client et le serveur doivent être connectés en toute sécurité à l'aide d'un VPN WireGuard peer-to-peer sur Ubuntu.

Pour tester la connexion, revenez au client VPN et envoyez-lui un ping (10.0.0.2 ) au serveur VPN (10.0.0.1 ) pour voir si le tunnel fonctionne.

ping -c 3 10.0.0.1

De plus, vous pouvez vérifier la connexion avec :

sudo wg

Pour arrêter le tunneling, arrêtez simplement le service sur la machine cliente :

sudo systemctl stop [email protected]

Conclusion

Félicitations ! J'espère que ce tutoriel vous a aidé à installer et à configurer le serveur et le client WireGuard VPN sur Ubuntu. Cette configuration vous permet de surfer sur le Web de manière anonyme en gardant vos données de trafic privées.

Je vous suggère fortement de lire la documentation du projet WireGuard ici.

Si vous avez trouvé cet article utile ou si vous rencontrez des problèmes, n'hésitez pas à laisser un commentaire.


Ubuntu
  1. Comment configurer Wireguard VPN sur CentOS 8

  2. Comment configurer WireGuard VPN sur Ubuntu 20.04

  3. Comment mettre à niveau Ubuntu 20.04 LTS vers 22.04 LTS :un guide étape par étape

  4. Comment installer Ubuntu sur VirtualBox :un guide étape par étape

  5. Comment configurer un serveur TeamSpeak sur Ubuntu 16.04

Comment configurer WireGuard VPN sur Debian 10

Configurer un serveur VPN Linux à l'aide d'OpenVPN - Guide étape par étape

Comment configurer le serveur VPN Pritunl sur Ubuntu 20.04

Comment configurer le serveur d'impression CUPS sur Ubuntu 20.04

Configurez votre propre serveur VPN WireGuard sur Ubuntu 20.04/18.04

Comment configurer un Vpn Pptp sur le propre serveur Ubuntu ?