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

De AJLSM
Aller à la navigation Aller à la recherche
Ligne 19 : Ligne 19 :


  10.77.0.0/24
  10.77.0.0/24
== En cas de panne du serveur VPN ==
Vpoir http://mw.ajlsm.com/wiki/Raspberry_Pi_VPN_de_secours


= 1. Préparation des clés =
= 1. Préparation des clés =

Version du 8 septembre 2026 à 13:12

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

En cas de panne du serveur VPN

Vpoir http://mw.ajlsm.com/wiki/Raspberry_Pi_VPN_de_secours

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 :

  1. La connexion Internet normale fonctionne.
  2. local.ajlsm.com est résolu.
  3. WireGuard est actif avec sudo wg show.
  4. Un « latest handshake » récent apparaît.
  5. ping 10.77.0.1 répond.
  6. curl -4 ifconfig.me retourne 109.190.129.96.
  7. 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.