L'inclusion de WireGuard dans les référentiels par défaut d'Ubuntu 24.04 signifie que vous pouvez déployer un VPN moderne et haut débit sans modules de noyau supplémentaires ni dépendances complexes. Son architecture rationalisée et l'utilisation d'une cryptographie avancée en font un choix privilégié aussi bien pour les utilisateurs individuels que pour les organisations à la recherche d'une connectivité VPN fiable et à faible surcharge. Les étapes suivantes décrivent l'approche la plus robuste pour installer et configurer WireGuard sur Ubuntu 24.04, de la configuration du serveur à la connexion client et à l'intégration du pare-feu.
Installer et configurer WireGuard VPN (méthode recommandée)
Étape 1 :Mettez à jour votre système pour vous assurer que tous les packages sont à jour. Cela évite les problèmes de compatibilité et garantit que vous disposez des derniers correctifs de sécurité. Courir:
sudo apt update && sudo apt upgrade -yÉtape 2 :Installez WireGuard à l'aide du gestionnaire de packages. WireGuard et ses outils sont disponibles dans les référentiels Ubuntu 24.04 par défaut, l'installation est donc simple. Entrer:
sudo apt install wireguard wireguard-tools -yÉtape 3 :Générez des clés cryptographiques pour le serveur. WireGuard utilise une paire de clés publique/privée pour chaque homologue, similaire à SSH. Définir une restrictionumaskd'abord pour protéger les clés privées :
umask 077
sudo wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.keyCette commande crée/etc/wireguard/server_private.keyet/etc/wireguard/server_public.key. La clé privée doit rester secrète. Ajustez les autorisations pour restreindre l'accès :
sudo chmod 600 /etc/wireguard/server_private.keyÉtape 4 :Identifiez l’interface réseau principale de votre serveur. Ceci est requis pour le NAT et le routage. Lister les interfaces avec :
ip aGénéralement, l'interface principale est nomméeenp1s0,eth0, ou similaire. Notez le nom de l'interface et l'adresse IP publique pour une utilisation ultérieure.
Étape 5 :Créez le fichier de configuration du serveur WireGuard. Ouvrir/etc/wireguard/wg0.confavec votre éditeur de texte préféré et ajoutez ce qui suit, en remplaçant les espaces réservés par votre clé privée et le nom de votre interface :
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey =
SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o -j MASQUERADE
Explication: Addressattribue un sous-réseau privé pour les clients VPN.ListenPortdéfinit le port UDP (la valeur par défaut est 51820).PrivateKeyest la clé privée du serveur.PostUpetPostDownajoutez/supprimez automatiquement les règles de pare-feu et NAT lorsque l'interface démarre ou s'arrête, garantissant que le trafic VPN est acheminé via la bonne interface et que les clients peuvent accéder à Internet.
Étape 6 :Activez le transfert IPv4 afin que le serveur puisse acheminer les paquets entre les clients VPN et Internet. Ajoutez ou décommentez la ligne suivante dans/etc/sysctl.conf:
net.ipv4.ip_forward = 1Appliquez le changement immédiatement :
sudo sysctl -pÉtape 7 :Ouvrez le port WireGuard dans votre pare-feu. Si vous utilisez UFW (Uncomplicated Firewall), autorisez le port UDP 51820 et rechargez les règles :
sudo ufw allow 51820/udp
sudo ufw reloadSi UFW n'est pas encore activé, activez-le après avoir autorisé SSH (port 22) pour empêcher le verrouillage :
sudo ufw allow 22/tcp
sudo ufw enableÉtape 8 :Démarrez et activez l'interface WireGuard. Cela fait apparaître le VPN et garantit qu'il démarre au démarrage :
sudo systemctl start wg-quick@wg0
sudo systemctl enable wg-quick@wg0Vérifiez l'état pour confirmer qu'il est en cours d'exécution :
sudo systemctl status wg-quick@wg0Pour afficher l'interface VPN active et les homologues, exécutez :
sudo wg show wg0Configurer les clients WireGuard
Étape 9 :Générez une paire de clés pour chaque client. Sur l'appareil client (ou sur le serveur si vous distribuez des configurations), exécutez :
wg genkey | tee client_private.key | wg pubkey > client_public.keyGarderclient_private.keysécurisé. Vous aurez besoinclient_public.keypour la configuration du serveur.
Étape 10 :Créez le fichier de configuration client. Sur le client, ouvrez/etc/wireguard/wg0.conf(ouclient1.conf) et ajoutez :
[Interface]
PrivateKey =
Address = 10.8.0.2/24
DNS = 8.8.8.8
[Peer]
PublicKey =
AllowedIPs = 0.0.0.0/0
Endpoint = :51820
PersistentKeepalive = 25
Explication: PrivateKeyest la clé privée du client.Addressattribue une adresse IP privée unique au sein du sous-réseau VPN.DNSdéfinit le résolveur utilisé lorsque le tunnel est actif.PublicKeyest la clé publique du serveur.AllowedIPscontrôle quel trafic achemine via le VPN (utilisez0.0.0.0/0pour tout le trafic).Endpointest l’adresse IP et le port publics du serveur.PersistentKeepaliveaide à maintenir la traversée NAT pour les clients derrière des pare-feu.
Étape 11 :Enregistrez le client sur le serveur. Ajouter un nouveau[Peer]section à/etc/wireguard/wg0.confsur le serveur pour chaque client :
[Peer]
PublicKey =
AllowedIPs = 10.8.0.2/32
Redémarrez le service WireGuard pour appliquer les modifications :
sudo systemctl restart wg-quick@wg0Étape 12 :Transférez le fichier de configuration client vers le périphérique client en toute sécurité (par exemple, en utilisantscpou une méthode sécurisée de partage de fichiers). Sur le client, affichez le VPN :
sudo wg-quick up wg0Pour arrêter le VPN, utilisez :
sudo wg-quick down wg0Étape 13 :Testez la connexion VPN. Depuis le client, pingez l'IP VPN du serveur :
ping -c 3 10.8.0.1En cas de succès, le tunnel VPN est opérationnel. Vous pouvez également vérifier votre adresse IP publique (par exemple, aveccurl https://icanhazip.com) pour confirmer que le trafic est acheminé via le serveur VPN.
Configuration alternative : utilisation d'UFW pour le NAT et le routage
Certains utilisateurs préfèrent gérer le NAT et les règles de transfert avec UFW plutôt queiptablescommandes dansPostUpetPostDown. Pour configurer NAT avec UFW :
Étape 1 :Modifier/etc/ufw/before.ruleset ajoutez les lignes suivantes en haut, en remplaçantenp1s0avec votre interface réseau principale et10.8.0.0/24avec votre sous-réseau VPN :
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/24 -o enp1s0 -j MASQUERADE
COMMIT
Étape 2 :Autoriser le transfert pour le sous-réseau VPN. Dans le même fichier, recherchez leufw-before-forwardchaîne et ajouter :
-A ufw-before-forward -s 10.8.0.0/24 -j ACCEPT
-A ufw-before-forward -d 10.8.0.0/24 -j ACCEPT
Enregistrez et redémarrez UFW :
sudo systemctl restart ufwCette approche centralise la gestion du pare-feu mais nécessite une édition minutieuse pour éviter les erreurs de syntaxe.
Le protocole efficace et la configuration simple de WireGuard en font une solution pratique pour un accès à distance sécurisé et une mise en réseau de site à site sur Ubuntu 24.04. Mettez régulièrement à jour votre système et vos packages WireGuard pour maintenir une sécurité et des performances optimales.









