Déployer un serveur WireGuard dans Performance Cloud VMware (NSX-T)
Description
Un serveur WireGuard peut être déployé dans votre centre de données virtuel pour permettre aux clients distants, y compris les appareils mobiles, de se connecter à votre environnement Performance Cloud VMware (NSX-T) à l'aide d'un réseau privé virtuel (RPV) ou « VPN ».
Dans cet article, nous allons déployer WireGuard dans une machine virtuelle exécutant Ubuntu et WG Easy dans un conteneur Docker.
Notes Importantes
- Certaines étapes supposent que vous avez des bases sur Linux et sur la création de machines virtuelles, de réseaux virtuels et de règles réseau. Certaines étapes supposent aussi le déploiement d’une machine virtuelle additionnelle dédiée dans un environnement fonctionnel. Veuillez vous reporter aux articles principaux du Guide de démarrage si nécessaire.
- Veuillez noter que le support de Sherweb pour les logiciels tiers, comme WireGuard, est très limité.
Prérequis
- Avoir une machine virtuelle exécutant Linux dans votre centre de données virtuel pour héberger le serveur WireGuard.
Au besoin, consultez cet article pour obtenir de l’aide avec la création de machines virtuelles avec Performance Cloud VMware (NSX-T).
Pour faciliter le travail, nous vous recommandons fortement de vous connecter à la machine virtuelle Linux en utilisant le protocole SSH.
Au besoin, consultez cet article pour obtenir de l’aide avec la configuration des règles réseau de la passerelle Edge.
Procédures
Configuration du serveur WireGuard
- Connectez-vous à votre machine virtuelle en utilisant un compte avec privilèges « root »
- Téléchargez et installez Docker.
Exécutez les lignes de commande suivantes:
curl -sSL https://get.docker.com | sh
sudo usermod -aG docker $(whoami)
- Déployer l'image Docker WG-Easy
Exécutez les lignes de commande ci-bas.
Modifiez le modèle ci-dessous pour qu'il corresponde à votre configuration (adresse IP publique, mot de passe souhaité pour l’accès à la console, ports à utiliser, réseau(x) à autoriser, serveur DNS à utiliser, etc.)
Remarque : WG_ALLOWED_IPS=0.0.0.0/0 autoriserait et acheminerait tout le trafic sur le client via le tunnel.
docker run -d \--name=wg-easy \
-e WG_HOST=WAN_SERVER_IP \
-e PASSWORD=CONSOLE_PASSWORD \
-e WG_PERSISTENT_KEEPALIVE=30 \
-e WG_DEFAULT_ADDRESS=10.7.0.x \
-e WG_DEFAULT_DNS=1.1.1.1 \
-e WG_ALLOWED_IPS=10.0.0.0/8 \
-v ~/.wg-easy:/etc/wireguard \
-p 51820:51820/udp \
-p 51821:51821/tcp \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--sysctl="net.ipv4.ip_forward=1" \
--restart unless-stopped \
weejewel/wg-easy
Ensuite, vos fichiers de configuration du serveur WireGuard seront enregistrés dans le dossier ~/.wg-easy
Configurer la passerelle Edge pour WireGuard
Au besoin, consultez cet article pour obtenir de l’aide pour la configuration des règles de pare-feu et « DNAT » afin d’ouvrir les ports pour WireGuard.
Dans cet exemple, les ports par défaut (51820/UDP, 51821/TCP) ont été conservés et les étapes suivantes ont été effectuées (des ensembles d'adresses IP pour la machine virtuelle et une adresse IP externe ont été précédemment créés pour créer des règles pour l’accès via le protocole SSH) :
- Création d'applications personnalisées
- Création de règles NAT de destination ou « DNAT »
- Création de règles de pare-feu
Vous devriez maintenant pouvoir accéder à l'interface Web.
Remarque : Dans un environnement de production, nous déconseillons de configurer « Tous » ou « Any » comme Source pour l’accès à l'interface utilisateur de WireGuard pour des raisons de sécurité.
Configuration du serveur WireGuard
- Entrez dans l'interface utilisateur de WireGuard avec votre mot de passe
- Ajouter un nouveau client (utilisateur)
- Nommez le client et cliquez sur « Create »
- Une fois le nouveau client créé, le fichier de configuration du client peut être téléchargé ou un code QR peut être affiché pour les appareils mobiles.
Répétez les étapes pour créer des utilisateurs supplémentaires.
Configuration client (Windows)
- Sur un poste de travail client, installez le logiciel client WireGuard. Les fichiers d'installation peuvent être trouvés ici: https://www.wireguard.com/install/
- Téléchargez le fichier de configuration client sur le poste de travail.
- Importer le fichier de configuration client dans le logiciel WireGuard
- Connectez le reseau virtuel privé
Le réseau virtuel privé est maintenant connecté.
Avec le réseau virtuel privé connecté, testez l'accès au réseau pour vous assurer que la configuration fonctionne comme prévu.
Gestion des utilisateurs
- Entrez dans l'interface utilisateur de WireGuard avec votre mot de passe
- Depuis la console, un accès client (ou utilisateur) peut être désactivé ou supprimé si nécessaire.
Maintenance
Pour mettre à jour l'image Docker WG Easy ou pour modifier les paramètres de déploiement, vous pouvez supprimer et déployer l'image Docker WG Easy à nouveau.
Note : le redéploiement de l'image Docker WG Easy ne supprimera pas les clients.
- Pour arrêter toutes les images Docker sur le serveur, exécutez la ligne de commande suivante :
docker stop $(docker ps -a -q) - Pour supprimer toutes les images Docker sur le serveur, exécutez la ligne de commande suivante :
docker rm $(docker ps -a -q) - Déployez l'image Docker WG-Easy à nouveau en suivant les étapes ci-dessus.
Références
https://github.com/wg-easy/wg-easy