Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
VPN AJLSM par WireGuard
Voir aussi : http://mw.ajlsm.com/wiki/Acc%C3%A8s_VPN_au_r%C3%A9seau_du_bureau
Objectif
Ce VPN permet de faire sortir la connexion Internet par le réseau AJLSM.
Une fois le VPN activé, l'adresse IP publique utilisée sur Internet doit être :
109.190.129.96
Il peut notamment être utilisé lorsqu'un accès distant n'est possible que depuis l'adresse IP d'AJLSM.
WireGuard peut rester utilisé en parallèle d'OpenVPN :
- WireGuard sert à faire sortir le trafic Internet par AJLSM ;
- OpenVPN continue à fournir l'accès aux réseaux privés et aux VM.
Le serveur WireGuard est :
local.ajlsm.com:51820
1. Principe des clés
Chaque machine doit posséder sa propre paire de clés WireGuard.
Il faut donc créer :
- une paire de clés pour le Mac ;
- une autre paire pour le poste Linux.
IMPORTANT : les clés privées ne doivent jamais être transmises.
Seules les clés publiques seront communiquées à l'administrateur.
2. Accès SSH
L'administration du serveur VPN se fait avec le compte :
ajlsm
L'authentification SSH par mot de passe est désactivée. Il faut donc disposer d'une clé SSH.
2.1. Vérifier si une clé SSH existe déjà
Sur le Mac ou Linux :
ls -la ~/.ssh/*.pub
Si une clé ED25519 existe déjà, par exemple :
~/.ssh/id_ed25519.pub
il n'est normalement pas nécessaire d'en créer une nouvelle.
Afficher la clé publique :
cat ~/.ssh/id_ed25519.pub
La ligne obtenue commence par :
ssh-ed25519 ...
C'est uniquement cette clé publique qui doit être transmise à l'administrateur.
2.2. En l'absence de clé SSH
Créer une clé ED25519 :
ssh-keygen -t ed25519
Puis afficher la clé publique :
cat ~/.ssh/id_ed25519.pub
Ne jamais transmettre ~/.ssh/id_ed25519.
Le fichier sans l'extension .pub est la clé privée.
3. Configuration WireGuard sur macOS
3.1. Application
L'application WireGuard pour macOS doit être installée.
Lancer WireGuard puis choisir :
Ajouter un tunnel → Ajouter un tunnel vide
WireGuard génère automatiquement une paire de clés.
La fenêtre contient une configuration de ce type :
[Interface] PrivateKey = ... Address =
La clé privée reste sur le Mac.
3.2. Récupérer la clé publique
Dans la fenêtre de configuration du tunnel, relever la clé publique affichée par WireGuard.
Transmettre cette clé publique à l'administrateur en précisant qu'il s'agit de :
WireGuard - Mac
Ne pas transmettre la clé privée.
4. Configuration WireGuard sous Linux
4.1. Installation
Sous Debian/Ubuntu :
sudo apt update sudo apt install wireguard
4.2. Création des clés
Créer un répertoire réservé à WireGuard :
mkdir -p ~/.wireguard chmod 700 ~/.wireguard
Créer une nouvelle paire de clés :
umask 077 wg genkey | tee ~/.wireguard/private.key | wg pubkey > ~/.wireguard/public.key
Afficher la clé publique :
cat ~/.wireguard/public.key
Transmettre cette clé à l'administrateur en précisant :
WireGuard - Linux
La clé privée reste dans :
~/.wireguard/private.key
Ne jamais transmettre ce fichier.
5. Informations à transmettre à l'administrateur
Transmettre :
- la clé publique SSH ;
- la clé publique WireGuard du Mac ;
- la clé publique WireGuard du poste Linux.
Par exemple :
SSH : ssh-ed25519 AAAA...
WireGuard Mac : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
WireGuard Linux : yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy=
Ne transmettre aucune clé privée.
6. Attendre la configuration du serveur
L'administrateur doit ensuite déclarer les deux machines sur le serveur VPN.
Les adresses prévues sont :
Mac : 10.77.0.3 Linux : 10.77.0.4
Une fois les clés publiques enregistrées sur le serveur, terminer la configuration comme indiqué ci-dessous.
7. Finalisation du Mac
Dans l'application WireGuard, éditer le tunnel créé précédemment.
Conserver la ligne PrivateKey créée par WireGuard.
Compléter la configuration de manière à obtenir :
[Interface] PrivateKey = LA_CLE_PRIVEE_DEJA_GENEREE_PAR_L_APPLICATION Address = 10.77.0.3/32
[Peer] PublicKey = 9pRYa0t77+6PInXSc0fD6piEaNmOGL5LnhM2MpGFJRM= Endpoint = local.ajlsm.com:51820 AllowedIPs = 0.0.0.0/0 PersistentKeepalive = 25
Ne pas remplacer la clé privée par celle d'une autre machine.
Enregistrer le tunnel.
8. Activation / désactivation sur Mac
Dans l'application WireGuard, le tunnel peut être activé ou désactivé immédiatement avec :
Activer / Désactiver
Cela permet de revenir rapidement à la connexion Internet normale en cas de problème.
8.1. Vérification
Une fois WireGuard activé, ouvrir un Terminal :
curl -4 ifconfig.me
Le résultat attendu est :
109.190.129.96
Tester ensuite le serveur VPN :
ping 10.77.0.1
Puis l'accès SSH :
ssh ajlsm@10.77.0.1
9. Finalisation sous Linux
Créer :
~/.wireguard/bureau.conf
avec :
[Interface] PrivateKey = CLE_PRIVEE_WIREGUARD_LINUX Address = 10.77.0.4/32
[Peer] PublicKey = 9pRYa0t77+6PInXSc0fD6piEaNmOGL5LnhM2MpGFJRM= Endpoint = local.ajlsm.com:51820 AllowedIPs = 0.0.0.0/0 PersistentKeepalive = 25
La clé privée Linux peut être affichée localement avec :
cat ~/.wireguard/private.key
Elle doit uniquement être copiée dans le fichier de configuration local.
9.1. Protéger la configuration
chmod 600 ~/.wireguard/bureau.conf
9.2. Activer WireGuard
sudo wg-quick up ~/.wireguard/bureau.conf
9.3. Désactiver WireGuard
sudo wg-quick down ~/.wireguard/bureau.conf
La désactivation est immédiate et rétablit le routage Internet normal.
10. Vérifications sous Linux
État du tunnel :
sudo wg show
Un tunnel fonctionnel doit notamment afficher :
latest handshake: ...
ainsi que des données reçues et envoyées.
10.1. Vérifier l'adresse IP publique
curl -4 ifconfig.me
Résultat attendu :
109.190.129.96
10.2. Tester le serveur VPN
ping 10.77.0.1
10.3. Tester SSH
ssh ajlsm@10.77.0.1
11. Utilisation avec OpenVPN
OpenVPN peut rester connecté.
Le principe est :
- WireGuard prend en charge la sortie Internet ;
- OpenVPN conserve les routes spécifiques vers les réseaux privés.
Après avoir activé les deux VPN, vérifier d'abord :
curl -4 ifconfig.me
Le résultat doit être :
109.190.129.96
Puis tester l'accès à une VM habituellement accessible par OpenVPN.
Si un comportement anormal apparaît, désactiver immédiatement WireGuard.
Sur Mac :
Désactiver
dans l'application WireGuard.
Sous Linux :
sudo wg-quick down ~/.wireguard/bureau.conf
12. Diagnostic
En cas de problème, procéder dans cet ordre.
1. Vérifier Internet sans WireGuard
Désactiver WireGuard et vérifier que la connexion Internet fonctionne normalement.
2. Vérifier le nom du serveur
nslookup local.ajlsm.com
Il doit être possible de résoudre le nom du serveur.
3. Activer WireGuard
Puis vérifier :
ping 10.77.0.1
4. Vérifier le handshake
Sous Linux :
sudo wg show
Sur Mac, l'application WireGuard permet également de voir l'activité du tunnel.
Un handshake récent indique que la communication avec le serveur WireGuard fonctionne.
5. Vérifier l'IP publique
curl -4 ifconfig.me
Résultat attendu :
109.190.129.96
6. Vérifier OpenVPN
Si WireGuard fonctionne mais qu'une VM privée n'est plus accessible, vérifier séparément l'état d'OpenVPN.
13. Informations techniques
Serveur WireGuard : local.ajlsm.com Port : UDP 51820 IP WireGuard : 10.77.0.1 Réseau VPN : 10.77.0.0/24 IP publique AJLSM : 109.190.129.96
Clé publique du serveur WireGuard : 9pRYa0t77+6PInXSc0fD6piEaNmOGL5LnhM2MpGFJRM=
Compte SSH : ajlsm
SSH : authentification par clé uniquement