Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
« Accès VPN au réseau du bureau » : différence entre les versions
| Ligne 191 : | Ligne 191 : | ||
AllowedIPs = 0.0.0.0/0 | AllowedIPs = 0.0.0.0/0 | ||
PersistentKeepalive = 25 | PersistentKeepalive = 25 | ||
La ligne : | |||
DNS = 1.1.1.1 | |||
est nécessaire sur macOS. Sans elle, lors de l'activation du tunnel complet | |||
(<code>AllowedIPs = 0.0.0.0/0</code>), 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 | |||
Exemple pour le Mac de mdia : | Exemple pour le Mac de mdia : | ||
Version du 7 septembre 2026 à 15:36
Accès VPN au réseau du bureau
Voir aussi : http://mw.ajlsm.com/wiki/VPN_AJLSM_par_WireGuard
Objectif
Ce VPN permet à un poste distant de faire transiter son trafic Internet par le réseau du bureau.
Une fois connecté, l'adresse IP publique utilisée pour accéder à Internet doit être :
109.190.129.96
Le VPN WireGuard peut être utilisé simultanément avec le VPN OpenVPN habituel donnant accès aux réseaux privés de l'infrastructure.
Le serveur VPN est accessible à l'adresse :
local.ajlsm.com:51820
Le VPN utilise le réseau privé :
10.77.0.0/24
1. Préparation des clés
Chaque machine doit disposer de sa propre clé WireGuard.
Les clés privées ne doivent jamais être transmises.
1.1. Clé SSH
Si une clé SSH ED25519 existe déjà sur la machine, il n'est pas nécessaire d'en créer une nouvelle.
Pour voir les clés existantes :
ls -la ~/.ssh/*.pub
Pour afficher la clé publique utilisée :
cat ~/.ssh/id_ed25519.pub
Si aucune clé ED25519 n'existe :
ssh-keygen -t ed25519
La clé publique peut ensuite être affichée avec :
cat ~/.ssh/id_ed25519.pub
Transmettre uniquement la ligne commençant par :
ssh-ed25519 ...
Ne jamais transmettre le fichier sans extension « .pub » : il contient la clé privée.
1.2. Clé WireGuard
macOS
Vérifier si WireGuard est installé :
wg --version
Créer le répertoire :
mkdir -p ~/.wireguard chmod 700 ~/.wireguard
Générer les clés :
umask 077 wg genkey | tee ~/.wireguard/private.key | wg pubkey > ~/.wireguard/public.key
Afficher la clé publique :
cat ~/.wireguard/public.key
Linux
Installer WireGuard si nécessaire, par exemple sous Debian/Ubuntu :
sudo apt update sudo apt install wireguard
Puis :
mkdir -p ~/.wireguard chmod 700 ~/.wireguard umask 077 wg genkey | tee ~/.wireguard/private.key | wg pubkey > ~/.wireguard/public.key
Afficher la clé publique :
cat ~/.wireguard/public.key
1.3. Informations à transmettre à l'administrateur
Pour chaque machine, transmettre :
- le nom de la machine ;
- le système : macOS ou Linux ;
- la clé publique WireGuard ;
- la clé publique SSH.
Ne transmettre aucune clé privée.
2. Configuration par l'administrateur
Le serveur VPN est :
vpn1 192.168.100.196 VPN : 10.77.0.1
Le premier poste existant utilise :
10.77.0.2
Les adresses suivantes peuvent par exemple être attribuées :
Mac collaborateur : 10.77.0.3 Linux collaborateur : 10.77.0.4
2.1. Ajouter la clé SSH
Sur vpn1 :
nano /home/ajlsm/.ssh/authorized_keys
Ajouter la clé publique SSH reçue sur une nouvelle ligne.
Vérifier les permissions :
chmod 700 /home/ajlsm/.ssh chmod 600 /home/ajlsm/.ssh/authorized_keys chown -R ajlsm:ajlsm /home/ajlsm/.ssh
L'authentification SSH par mot de passe est désactivée sur vpn1.
2.2. Ajouter le poste dans WireGuard
Éditer :
sudo nano /etc/wireguard/wg0.conf
Pour le Mac :
# mdia - Mac [Peer] PublicKey = CLE_PUBLIQUE_WIREGUARD_MAC AllowedIPs = 10.77.0.3/32
Pour Linux :
# mdia - Linux [Peer] PublicKey = CLE_PUBLIQUE_WIREGUARD_LINUX AllowedIPs = 10.77.0.4/32
Recharger la configuration sans interrompre les connexions existantes :
sudo wg syncconf wg0 <(sudo wg-quick strip wg0)
Vérifier :
sudo wg
3. Configuration du client
L'administrateur communique à l'utilisateur l'adresse VPN attribuée à sa machine.
Créer :
~/.wireguard/bureau.conf
avec :
[Interface] PrivateKey = CLE_PRIVEE_DE_LA_MACHINE Address = ADRESSE_VPN/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
Exemple pour le Mac de mdia :
Address = 10.77.0.3/32
La valeur PrivateKey est obtenue localement avec :
cat ~/.wireguard/private.key
Cette clé privée reste exclusivement sur la machine.
4. Connexion
macOS
sudo wg-quick up ~/.wireguard/bureau.conf
Linux
sudo wg-quick up ~/.wireguard/bureau.conf
5. Vérifications =
Vérifier WireGuard :
sudo wg show
Une connexion correcte doit afficher notamment :
latest handshake: ...
ainsi que des octets reçus et envoyés.
Vérification de l'adresse IP publique
curl -4 ifconfig.me
Le résultat attendu est :
109.190.129.96
Test du serveur VPN
ping 10.77.0.1
Le serveur doit répondre.
Accès SSH au serveur VPN
ssh ajlsm@10.77.0.1
L'authentification s'effectue obligatoirement par clé SSH.
6. Utilisation avec OpenVPN =
WireGuard est destiné à faire sortir le trafic Internet par l'adresse IP du bureau.
OpenVPN reste utilisé pour accéder aux réseaux privés de l'infrastructure.
Les deux VPN peuvent fonctionner simultanément.
Sur macOS, WireGuard installe notamment les routes :
0.0.0.0/1 128.0.0.0/1
Le tunnel OpenVPN conserve ses routes spécifiques vers les réseaux privés.
Après activation des deux VPN, vérifier :
curl -4 ifconfig.me
qui doit toujours retourner :
109.190.129.96
Puis vérifier l'accès aux machines des réseaux privés normalement accessibles par OpenVPN.
7. Déconnexion de WireGuard
macOS / Linux
sudo wg-quick down ~/.wireguard/bureau.conf
8. Diagnostic rapide =
En cas de problème, vérifier dans cet ordre :
- La connexion Internet normale fonctionne.
local.ajlsm.comest résolu.- WireGuard est actif avec
sudo wg show. - Un « latest handshake » récent apparaît.
ping 10.77.0.1répond.curl -4 ifconfig.meretourne109.190.129.96.- OpenVPN est actif si l'accès aux réseaux privés est nécessaire.
Si aucun handshake WireGuard n'apparaît, transmettre à l'administrateur le résultat de :
sudo wg show
Ne jamais transmettre la clé privée WireGuard.