Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
« VPN AJLSM par WireGuard » : différence entre les versions
| Ligne 424 : | Ligne 424 : | ||
SSH : | SSH : | ||
authentification par clé uniquement | authentification par clé uniquement | ||
= 14. Résumé des opérations avec un exemple : | |||
1 - AJLSM : autorisation de l'accès SSH de mdia | |||
Ajouter la clé SSH publique de mdia dans : | |||
/home/ajlsm/.ssh/authorized_keys | |||
sur vpn1. | |||
La clé privée SSH de mdia reste sur son MacBook et ne doit jamais être transmise. | |||
2 - MDIA : installation et configuration de WireGuard sur son MacBook | |||
2-1 - Vérifier si les outils WireGuard sont installés | |||
wg --version | |||
Si la commande fonctionne, passer au point 2-2. | |||
Sinon, installer les outils WireGuard avec Homebrew : | |||
brew install wireguard-tools | |||
Puis vérifier : | |||
wg --version | |||
2-2 - Création des clés WireGuard | |||
Créer un répertoire protégé : | |||
mkdir -p ~/.wireguard | |||
chmod 700 ~/.wireguard | |||
Créer la paire de clés : | |||
umask 077 | |||
wg genkey | tee ~/.wireguard/private.key | wg pubkey > ~/.wireguard/public.key | |||
Deux fichiers sont alors créés : | |||
~/.wireguard/private.key | |||
~/.wireguard/public.key | |||
La clé PRIVÉE reste exclusivement sur le MacBook de mdia. | |||
Elle ne doit jamais être transmise. | |||
2-3 - MDIA : transmission de la clé publique WireGuard à AJLSM | |||
Afficher la clé publique : | |||
cat ~/.wireguard/public.key | |||
Mdia transmet uniquement cette valeur à AJLSM. | |||
2-4 - AJLSM : ajout du MacBook de mdia sur vpn1 | |||
Après réception de la clé publique WireGuard de mdia, éditer sur vpn1 : | |||
sudo nano /etc/wireguard/wg0.conf | |||
Ajouter : | |||
# mdia - MacBook | |||
[Peer] | |||
PublicKey = CLE_PUBLIQUE_WIREGUARD_DE_MDIA | |||
AllowedIPs = 10.77.0.3/32 | |||
Recharger ensuite la configuration WireGuard du serveur sans interrompre | |||
les connexions existantes. | |||
[Cette opération sera faite ensemble lors de la réception de la clé.] | |||
2-5 - MDIA : création de la configuration WireGuard sur son MacBook | |||
Créer le fichier : | |||
~/.wireguard/bureau.conf | |||
avec : | |||
[Interface] | |||
PrivateKey = CLE_PRIVEE_WIREGUARD_MAC | |||
Address = 10.77.0.3/32 | |||
DNS = 1.1.1.1 | |||
[Peer] | |||
PublicKey = 9pRYa0t77+6PInXSc0fD6piEaNmOGL5LnhM2MpGFJRM= | |||
Endpoint = local.ajlsm.com:51820 | |||
AllowedIPs = 0.0.0.0/0 | |||
PersistentKeepalive = 25 | |||
IMPORTANT : | |||
La valeur de PrivateKey est la clé PRIVÉE du MacBook de mdia. | |||
Pour l'afficher : | |||
cat ~/.wireguard/private.key | |||
Cette valeur doit être copiée dans : | |||
PrivateKey = ... | |||
Elle ne doit pas être envoyée à AJLSM. | |||
Protéger ensuite le fichier bureau.conf : | |||
chmod 600 ~/.wireguard/bureau.conf | |||
Vérifier : | |||
ls -l ~/.wireguard/bureau.conf | |||
On doit obtenir des droits équivalents à : | |||
-rw------- | |||
2-6 - Test de WireGuard en ligne de commande | |||
Démarrer le tunnel : | |||
sudo wg-quick up ~/.wireguard/bureau.conf | |||
Le tunnel WireGuard doit maintenant être actif. | |||
2-7 - Tests | |||
2-7-1 - Test du serveur VPN : | |||
ping 10.77.0.1 | |||
Le Raspberry doit répondre. | |||
2-7-2 - Vérification de l'adresse IP publique : | |||
curl -4 ifconfig.me | |||
La valeur renvoyée doit être : | |||
109.190.129.96 | |||
Cela confirme que le trafic Internet du MacBook passe bien par : | |||
MacBook mdia | |||
→ WireGuard | |||
→ vpn1 | |||
→ OverTheBox AJLSM | |||
→ Internet | |||
2-7-3 - Test de l'accès SSH : | |||
ssh ajlsm@10.77.0.1 | |||
Si tout va bien, la connexion doit être directe sans demander le mot de | |||
passe du compte ajlsm. | |||
L'authentification est réalisée avec la clé SSH de mdia. | |||
2-7-4 - Test réel | |||
Ouvrir normalement le navigateur du MacBook et accéder à l'URL du serveur | |||
Proxmox posant problème. | |||
Aucune configuration particulière du navigateur n'est nécessaire. | |||
Le serveur distant doit voir la connexion comme provenant de : | |||
109.190.129.96 | |||
2-8 - Arrêt et redémarrage de WireGuard en ligne de commande | |||
Démarrage : | |||
sudo wg-quick up ~/.wireguard/bureau.conf | |||
Arrêt : | |||
sudo wg-quick down ~/.wireguard/bureau.conf | |||
IMPORTANT : | |||
Avec : | |||
AllowedIPs = 0.0.0.0/0 | |||
WireGuard transporte l'ensemble du trafic Internet IPv4. | |||
Si vpn1 ou le tunnel devient indisponible, la connexion Internet du MacBook | |||
peut donc sembler coupée. | |||
Dans ce cas, arrêter WireGuard : | |||
sudo wg-quick down ~/.wireguard/bureau.conf | |||
La connexion Internet normale est alors immédiatement rétablie. | |||
2-9 - Intégration dans l'application WireGuard Mac | |||
Une fois le fonctionnement validé en ligne de commande : | |||
1. Arrêter d'abord le tunnel lancé en ligne de commande : | |||
sudo wg-quick down ~/.wireguard/bureau.conf | |||
2. Lancer l'application WireGuard. | |||
3. Cliquer sur + pour ajouter/importer un tunnel. | |||
4. Importer : | |||
~/.wireguard/bureau.conf | |||
Si le fichier n'est pas accessible dans le sélecteur de fichiers parce que | |||
le répertoire .wireguard est caché, faire temporairement une copie sur le | |||
Bureau : | |||
cp ~/.wireguard/bureau.conf ~/Desktop/bureau.conf | |||
Importer cette copie dans WireGuard. | |||
Une fois l'import effectué, supprimer la copie : | |||
rm ~/Desktop/bureau.conf | |||
Cette suppression est importante car bureau.conf contient la clé privée | |||
WireGuard. | |||
5. Activer ou désactiver ensuite WireGuard depuis l'application ou depuis | |||
l'icône WireGuard de la barre des menus. | |||
IMPORTANT : | |||
Ne pas lancer simultanément le même tunnel avec l'application WireGuard | |||
et avec wg-quick. | |||
Utiliser soit l'application, soit : | |||
sudo wg-quick up ~/.wireguard/bureau.conf | |||
Version du 8 septembre 2026 à 07:45
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.
Configuration du tunnel WireGuard sur macOS
La configuration doit être :
[Interface] PrivateKey = CLE_PRIVEE_WIREGUARD_MAC Address = 10.77.0.3/32 DNS = 1.1.1.1
[Peer] PublicKey = 9pRYa0t77+6PInXSc0fD6piEaNmOGL5LnhM2MpGFJRM= Endpoint = local.ajlsm.com:51820 AllowedIPs = 0.0.0.0/0 PersistentKeepalive = 25
La ligne :
DNS = 1.1.1.1
est nécessaire sur macOS. Sans elle, lors de l'activation du tunnel complet
(AllowedIPs = 0.0.0.0/0), macOS peut conserver uniquement le
serveur DNS de sa connexion locale. Le tunnel fonctionne alors, mais la
résolution des noms Internet ne fonctionne plus.
Après activation, vérifier :
curl -4 ifconfig.me
Le résultat attendu est :
109.190.129.96
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
Configuration du tunnel WireGuard sous Linux
Créer :
~/.wireguard/bureau.conf
avec :
[Interface] PrivateKey = CLE_PRIVEE_WIREGUARD_LINUX Address = 10.77.0.4/32 DNS = 1.1.1.1
[Peer] PublicKey = 9pRYa0t77+6PInXSc0fD6piEaNmOGL5LnhM2MpGFJRM= Endpoint = local.ajlsm.com:51820 AllowedIPs = 0.0.0.0/0 PersistentKeepalive = 25
La directive DNS = 1.1.1.1 force l'utilisation d'un serveur DNS
accessible à travers le tunnel lorsque WireGuard prend en charge l'ensemble
du trafic Internet.
Protéger le fichier :
chmod 600 ~/.wireguard/bureau.conf
Activer WireGuard :
sudo wg-quick up ~/.wireguard/bureau.conf
Vérifier :
curl -4 ifconfig.me
Le résultat attendu est :
109.190.129.96
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
= 14. Résumé des opérations avec un exemple :
1 - AJLSM : autorisation de l'accès SSH de mdia
Ajouter la clé SSH publique de mdia dans :
/home/ajlsm/.ssh/authorized_keys
sur vpn1.
La clé privée SSH de mdia reste sur son MacBook et ne doit jamais être transmise.
2 - MDIA : installation et configuration de WireGuard sur son MacBook
2-1 - Vérifier si les outils WireGuard sont installés
wg --version
Si la commande fonctionne, passer au point 2-2.
Sinon, installer les outils WireGuard avec Homebrew :
brew install wireguard-tools
Puis vérifier :
wg --version
2-2 - Création des clés WireGuard
Créer un répertoire protégé :
mkdir -p ~/.wireguard chmod 700 ~/.wireguard
Créer la paire de clés :
umask 077 wg genkey | tee ~/.wireguard/private.key | wg pubkey > ~/.wireguard/public.key
Deux fichiers sont alors créés :
~/.wireguard/private.key ~/.wireguard/public.key
La clé PRIVÉE reste exclusivement sur le MacBook de mdia.
Elle ne doit jamais être transmise.
2-3 - MDIA : transmission de la clé publique WireGuard à AJLSM
Afficher la clé publique :
cat ~/.wireguard/public.key
Mdia transmet uniquement cette valeur à AJLSM.
2-4 - AJLSM : ajout du MacBook de mdia sur vpn1
Après réception de la clé publique WireGuard de mdia, éditer sur vpn1 :
sudo nano /etc/wireguard/wg0.conf
Ajouter :
# mdia - MacBook [Peer] PublicKey = CLE_PUBLIQUE_WIREGUARD_DE_MDIA AllowedIPs = 10.77.0.3/32
Recharger ensuite la configuration WireGuard du serveur sans interrompre les connexions existantes.
[Cette opération sera faite ensemble lors de la réception de la clé.]
2-5 - MDIA : création de la configuration WireGuard sur son MacBook
Créer le fichier :
~/.wireguard/bureau.conf
avec :
[Interface] PrivateKey = CLE_PRIVEE_WIREGUARD_MAC Address = 10.77.0.3/32 DNS = 1.1.1.1
[Peer] PublicKey = 9pRYa0t77+6PInXSc0fD6piEaNmOGL5LnhM2MpGFJRM= Endpoint = local.ajlsm.com:51820 AllowedIPs = 0.0.0.0/0 PersistentKeepalive = 25
IMPORTANT :
La valeur de PrivateKey est la clé PRIVÉE du MacBook de mdia.
Pour l'afficher :
cat ~/.wireguard/private.key
Cette valeur doit être copiée dans :
PrivateKey = ...
Elle ne doit pas être envoyée à AJLSM.
Protéger ensuite le fichier bureau.conf :
chmod 600 ~/.wireguard/bureau.conf
Vérifier :
ls -l ~/.wireguard/bureau.conf
On doit obtenir des droits équivalents à :
-rw-------
2-6 - Test de WireGuard en ligne de commande
Démarrer le tunnel :
sudo wg-quick up ~/.wireguard/bureau.conf
Le tunnel WireGuard doit maintenant être actif.
2-7 - Tests
2-7-1 - Test du serveur VPN :
ping 10.77.0.1
Le Raspberry doit répondre.
2-7-2 - Vérification de l'adresse IP publique :
curl -4 ifconfig.me
La valeur renvoyée doit être :
109.190.129.96
Cela confirme que le trafic Internet du MacBook passe bien par :
MacBook mdia
→ WireGuard
→ vpn1
→ OverTheBox AJLSM
→ Internet
2-7-3 - Test de l'accès SSH :
ssh ajlsm@10.77.0.1
Si tout va bien, la connexion doit être directe sans demander le mot de passe du compte ajlsm.
L'authentification est réalisée avec la clé SSH de mdia.
2-7-4 - Test réel
Ouvrir normalement le navigateur du MacBook et accéder à l'URL du serveur Proxmox posant problème.
Aucune configuration particulière du navigateur n'est nécessaire.
Le serveur distant doit voir la connexion comme provenant de :
109.190.129.96
2-8 - Arrêt et redémarrage de WireGuard en ligne de commande
Démarrage :
sudo wg-quick up ~/.wireguard/bureau.conf
Arrêt :
sudo wg-quick down ~/.wireguard/bureau.conf
IMPORTANT :
Avec :
AllowedIPs = 0.0.0.0/0
WireGuard transporte l'ensemble du trafic Internet IPv4.
Si vpn1 ou le tunnel devient indisponible, la connexion Internet du MacBook peut donc sembler coupée.
Dans ce cas, arrêter WireGuard :
sudo wg-quick down ~/.wireguard/bureau.conf
La connexion Internet normale est alors immédiatement rétablie.
2-9 - Intégration dans l'application WireGuard Mac
Une fois le fonctionnement validé en ligne de commande :
1. Arrêter d'abord le tunnel lancé en ligne de commande :
sudo wg-quick down ~/.wireguard/bureau.conf
2. Lancer l'application WireGuard.
3. Cliquer sur + pour ajouter/importer un tunnel.
4. Importer :
~/.wireguard/bureau.conf
Si le fichier n'est pas accessible dans le sélecteur de fichiers parce que le répertoire .wireguard est caché, faire temporairement une copie sur le Bureau :
cp ~/.wireguard/bureau.conf ~/Desktop/bureau.conf
Importer cette copie dans WireGuard.
Une fois l'import effectué, supprimer la copie :
rm ~/Desktop/bureau.conf
Cette suppression est importante car bureau.conf contient la clé privée WireGuard.
5. Activer ou désactiver ensuite WireGuard depuis l'application ou depuis l'icône WireGuard de la barre des menus.
IMPORTANT :
Ne pas lancer simultanément le même tunnel avec l'application WireGuard et avec wg-quick.
Utiliser soit l'application, soit :
sudo wg-quick up ~/.wireguard/bureau.conf