Cet article décrit en détail comment configurer Wireguard VPN sur votre serveur. Il peut s'agir d'un serveur virtuel ou privé, peu importe.
Ce guide de configuration VPN Wireguard est conçu pour les utilisateurs qui n'ont pas beaucoup d'expérience, donc toutes les étapes seront assez détaillées et suivies de captures d'écran.
Le trafic passant par notre tunnel sera crypté et Internet affichera l'adresse IP de notre serveur VPN, et non l'adresse du fournisseur via lequel nous accédons au réseau.
Vous disposez déjà d'un VPS. Sinon, vous pouvez de commander ça de nous.
Nous installerons le système d'exploitation Ubuntu 22.04 sur notre serveur. Si votre serveur est équipé d'un autre système d'exploitation, vous pourrez facilement le réinstaller en suivant les instructions. des instructions.
Le serveur sous Ubuntu 22.04 est prêt ; nous nous y connectons maintenant via SSH. Si vous n'avez jamais rencontré ce protocole, un article décrivant ce processus en détail vous sera utile. Le deuxième paragraphe de l'article article est pour le système d'exploitation Linux, le troisième est pour le système d'exploitation Windows.
Configurer le serveur Wireguard
Après une connexion réussie, j'écrirai quelques commandes et une description de ce qu'elles produisent pour comprendre le processus :
Nous mettons à jour la liste des packages dans les dépôts
apt update
Renouvellement des forfaits eux-mêmes
apt upgrade -y
Installer le package wireguard
apt install -y wireguard
Notre configuration sera stockée dans le répertoire /etc/wireguard/, nous devons entrer dans le répertoire :
cd /etc/wireguard/
Nous aurons besoin d'une clé publique et d'une clé privée pour notre serveur. Nous les générerons après avoir défini les droits appropriés lors de la création des fichiers et des répertoires avec les commandes suivantes :
umask 077
wg genkey > privatekey
wg pubkey < privatekey > publickey
Nous définissons maintenant les droits pour la clé privée :
chmod 600 privatekey
Avant de créer le fichier de configuration, nous avons besoin du nom de notre interface réseau. Pour le découvrir, utilisez la commande :
ip a
Nous avons besoin de l'interface avec l'adresse IP utilisée pour la connexion actuelle. Dans votre cas, elle s'appellera probablement ens3, mais il existe peut-être un autre nom.
Nous aurons également besoin d'une clé publique et d'une clé privée. Pour les afficher, j'utilise tail.
tail privatekey publickey
Il ressemble à ceci:
Pour l'édition, vous pouvez utiliser n'importe quel Éditeur de texte LinuxJ'utiliserai Nano. Pour l'installer, exécutez la commande :
apt install -y nano
Nous éditons le fichier de configuration :
nano /etc/wireguard/wg0.conf
Note
pour enregistrer le fichier, nous utilisons la combinaison de touches ctrl+o
pour quitter - ctrl+x
Ça devrait ressembler à ça:
[Interface]
PrivateKey = [ your private key ]
Address = 10.30.0.1/24
ListenPort = 51928
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o [ interface name ] -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o [ interface name ] -j MASQUERADE
Dans mon cas, cela ressemble à ceci
Nous activons la redirection IP
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
Lancer le service Wireguard :
systemctl start [email protected]
Si nous voulons que le service démarre après le redémarrage du serveur, nous procédons comme suit :
systemctl enable [email protected]
Pour visualiser l'état du service :
systemctl status [email protected]
Le statut doit être actif comme dans la capture d'écran :
Si vous avez suivi attentivement nos instructions, à ce stade, vous disposez de tout ce dont vous avez besoin pour faire fonctionner la partie serveur de VPN Wireguard.
Configuration du client Wireguard
Il ne reste plus qu'à configurer la partie client. Par souci d'exemple et de simplicité, je vais générer les clés côté client également sur le serveur. Cependant, pour des raisons de sécurité, il serait plus judicieux de générer les clés côté client. J'utilise les commandes suivantes pour la génération :
wg genkey > mypc_privatekey
wg pubkey < mypc_privatekey > mypc_publickey
Je vais également générer des clés pour utiliser le VPN sur le téléphone :
wg genkey > myphone_private
keywg pubkey < myphone_privatekey > myphone_publickey
Il convient de noter que tout cela doit être fait en étant dans le catalogue
/etc/wireguard/
Vous pouvez également exécuter l'exécution dans un autre catalogue. Pour plus de simplicité, nous exécutons les instructions dans /etc/wireguard/.
Nous utilisons la commande ls pour lister les fichiers d'un répertoire. Voici comment cela fonctionne :
Affichez les clés publiques à l'écran. Nous en aurons besoin pour ajouter des nœuds à notre réseau :
tail mypc_publickey myphone_publickey
Pour moi, ça ressemble à ça :
Modifions notre fichier de configuration :
nano wg0.conf
Ajoutez les lignes suivantes:
[Peer]
PublicKey = [ mypc_publickey ]
AllowedIPs = 10.30.0.2/32
[Peer]
PublicKey = [ myphone_publickey ]
AllowedIPs = 10.30.0.3/32
Maintenant, le fichier de configuration ressemble à ceci :
Enregistrez le fichier et redémarrez notre service :
systemctl restart wg-quick@wg0
Vérifions que tout s'est bien passé :
systemctl status wg-quick@wg0
Le statut doit être actif
Le rechargement du service est nécessaire à chaque fois après la modification du fichier de configuration du serveur (wg0.conf)
Ensuite, nous allons créer les configurations pour les clients (dans mon cas, mon PC et mon téléphone). Je ferai de même pour le serveur.
nano mypc.conf
[Interface]
PrivateKey = [mypc_privatekey private key]
Address = 10.30.0.2/32
DNS = 8.8.8.8
[Peer]
PublicKey = [publickey server publc key]
Endpoint =[ server ip address]:51928
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 20
Dans le champ « Point de terminaison », vous pouvez voir l'adresse IP du serveur : c'est celle que nous avons utilisée pour nous connecter via SSH. Pour afficher les interfaces et les adresses, vous pouvez utiliser la commande ip a.
Configurer Wireguard pour mobile
Nous créons une configuration similaire pour notre téléphone. Il suffit de modifier l'adresse. Pour le PC, c'était 10.30.0.2/32, et pour le téléphone, nous allons définir 10.30.0.3/32. De plus, si nous souhaitons utiliser le VPN sur d'autres appareils, nous devons ajouter d'autres adresses dans le champ Adresse des fichiers de configuration et dans le fichier de configuration du serveur wg0.conf, ainsi que dans le champ IP autorisées lors de la création des configurations.
Les fichiers ressemblent à ceci dans mon cas :
monpc.conf
montéléphone.conf
Pour la connexion, nous installons le client wireguard https://www.wireguard.com/install/
Dans l'application Windows, nous ajoutons un nouveau tunnel et entrons la configuration créée dans le fichier mypc.conf
Nous lançons le tunnel et allons dans le navigateur sur le site Web qui affiche notre adresse
Afin d'ajouter facilement un VPN à votre téléphone, installez un programme de génération de codes QR sur le serveur :
apt install -y qrencode
Une fois dans le répertoire de configuration, effectuez l’étape suivante :
qrencode -t ansiutf8 -r myphone.conf
Ensuite, accédez à l'application Wireguard sur votre téléphone, appuyez sur + pour créer un tunnel, sélectionnez « Scanner le code QR », scannez-le et activez le VPN. Ensuite, vérifiez que l'adresse de votre serveur est affichée en utilisant une ressource affichant l'adresse IP de sortie.
Tu l'as fait!