Skip to main content

Configuration Clients

Client Mesh

# =============================================================================
# Profil client — Réseau privé mesh uniquement (private-only)
# IP publique vue : INCHANGÉE (la propre connexion du client)
# Accès LAN : AUCUN (ni Marseille ni Albi)
# =============================================================================
#
# USAGE :
#   - Accès aux serveurs du mesh uniquement :
#       http://10.0.0.1:9000  → Portainer UI
#       ssh user@10.0.0.1 / .2 / .3  → SSH sur chaque serveur
#   - Internet du client : passe par sa connexion normale (pas d'exit node)
#   - 192.168.1.x / 192.168.2.x : INACCESSIBLES (UFW DROP côté serveurs)
#
# -----------------------------------------------------------------------------
# CHOIX DU POINT D'ENTRÉE
# -----------------------------------------------------------------------------
# Ce fichier ci-dessous est configuré pour entrer par OVH (cas par défaut).
# Pour entrer par un AUTRE serveur, 3 valeurs changent : Address, PublicKey
# du peer, et Endpoint. AllowedIPs reste TOUJOURS 10.0.0.0/24.
#
# IMPORTANT : chaque point d'entrée utilise une IP mesh DIFFÉRENTE.
# C'est obligatoire pour le routage WireGuard (une IP ne peut être routée
# que par un seul peer par serveur). Générez une paire de clés par variante,
# ou réutilisez la même clé en changeant seulement l'Address selon l'entrée.
#
#   ┌─────────────┬──────────────┬───────────────────────────┬──────────────────────┐
#   │ Entrée par  │ Address       │ [Peer] PublicKey          │ [Peer] Endpoint        │
#   ├─────────────┼──────────────┼───────────────────────────┼──────────────────────┤
#   │ OVH         │ 10.0.0.40/32 │ <CLE_PUBLIQUE_OVH>        │ <IP_PUBLIQUE_OVH>:51820 │
#   │ Marseille   │ 10.0.0.41/32 │ <CLE_PUBLIQUE_MRS>       │ <IP_PUBLIQUE_MRS>:51820 │
#   │ Albi        │ 10.0.0.42/32 │ <CLE_PUBLIQUE_ALBI>      │ <IP_PUBLIQUE_ALBI>:51820│
#   └─────────────┴──────────────┴───────────────────────────┴──────────────────────┘
#
# Rappel côté serveur : la clé publique du client doit être déclarée dans
# le [Peer] correspondant du serveur d'entrée (10.0.0.40 sur OVH,
# 10.0.0.41 sur MRS, 10.0.0.42 sur Albi). C'est déjà prévu dans les
# fichiers serveurs v3.
# =============================================================================

[Interface]
# ---- Entrée OVH (défaut) : 10.0.0.40/32 ----
# ---- Entrée MRS          : 10.0.0.41/32 ----
# ---- Entrée Albi         : 10.0.0.42/32 ----
Address    = 10.0.0.40/32
PrivateKey = <CLE_PRIVEE_CLIENT_PRIVATE>
# Pas de redirection DNS — on garde le DNS habituel du client.
# DNS = 10.0.0.1   ← décommenter si un DNS est déployé dans le mesh

[Peer]
# ---- Entrée OVH (défaut) ----
PublicKey = <CLE_PUBLIQUE_OVH>
Endpoint  = <IP_PUBLIQUE_OVH>:51820
#
# ---- Entrée MRS : remplacer les 2 lignes ci-dessus par ----
# PublicKey = <CLE_PUBLIQUE_MRS>
# Endpoint  = <IP_PUBLIQUE_MRS>:51820
#
# ---- Entrée Albi : remplacer les 2 lignes ci-dessus par ----
# PublicKey = <CLE_PUBLIQUE_ALBI>
# Endpoint  = <IP_PUBLIQUE_ALBI>:51820

# AllowedIPs : identique quel que soit le point d'entrée.
# Seul le mesh, aucun LAN, aucun exit node.
AllowedIPs          = 10.0.0.0/24
PersistentKeepalive = 25

Client Exit Node OVH

# =============================================================================
# Profil client — Exit node OVH
# Fichier : ovh-exitnode.conf   |   IP mesh : 10.0.0.10/32
# IP publique vue : VPS OVH     |   Accès LAN : aucun
# =============================================================================
#
# USAGE :
#   - Tout le trafic internet sort par OVH (IP publique = OVH)
#   - Accès au mesh (Portainer UI sur http://10.0.0.1:9000)
#   - 192.168.1.x et 192.168.2.x INACCESSIBLES (non routés + UFW DROP)
#
# =============================================================================

[Interface]
Address    = 10.0.0.10/32
PrivateKey = <CLE_PRIVEE_CLIENT_OVH>
DNS        = 1.1.1.1, 8.8.8.8

[Peer]
PublicKey           = <CLE_PUBLIQUE_OVH>
Endpoint            = <IP_PUBLIQUE_OVH>:51820
AllowedIPs          = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

Client Exit Node Mrs + LAN

# =============================================================================
# Profil client — Exit node Marseille
# Fichier : mrs-exitnode.conf   |   IP mesh : 10.0.0.20/32
# IP publique vue : box Marseille  |  Accès LAN : 192.168.1.0/24 (LAN MRS)
# =============================================================================
#
# USAGE :
#   - Tout le trafic internet sort par Marseille (IP = box MRS)
#   - Accès complet au LAN de Marseille (NAS, caméras, IoT…)
#   - Accès au mesh (Portainer UI sur http://10.0.0.1:9000)
#   - 192.168.2.x (LAN Albi) INACCESSIBLE
#
# CONNEXION : directe vers Marseille (pas de transit par OVH).
#
# =============================================================================

[Interface]
Address    = 10.0.0.20/32
PrivateKey = <CLE_PRIVEE_CLIENT_MRS>
# DNS local de Marseille en priorité (résolution des noms du LAN), public en secours
DNS        = 192.168.1.53, 1.1.1.1

[Peer]
PublicKey           = <CLE_PUBLIQUE_MRS>
Endpoint            = <IP_PUBLIQUE_MRS>:51820
# 0.0.0.0/0 : tout passe par Marseille. Le LAN 192.168.1.0/24 est inclus
# dedans et son accès est autorisé côté serveur par UFW (uniquement pour
# cette IP 10.0.0.20). L'accès au LAN d'Albi reste bloqué (pas de route MRS
# vers 192.168.2.0/24 + UFW DROP côté Albi).
AllowedIPs          = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

Client Exit Node Albi + LAN

# =============================================================================
# Profil client — Exit node Albi
# Fichier : albi-exitnode.conf   |   IP mesh : 10.0.0.30/32
# IP publique vue : box Albi      |  Accès LAN : 192.168.2.0/24 (LAN Albi)
# =============================================================================
#
# USAGE :
#   - Tout le trafic internet sort par Albi (IP = box Albi)
#   - Accès complet au LAN d'Albi (NAS, caméras Frigate, IoT…)
#   - Accès au mesh (Portainer UI sur http://10.0.0.1:9000)
#   - 192.168.1.x (LAN Marseille) INACCESSIBLE
#
# CONNEXION : directe vers Albi (pas de transit par OVH).
#
# =============================================================================

[Interface]
Address    = 10.0.0.30/32
PrivateKey = <CLE_PRIVEE_CLIENT_ALBI>
DNS        = 192.168.2.53, 1.1.1.1

[Peer]
PublicKey           = <CLE_PUBLIQUE_ALBI>
Endpoint            = <IP_PUBLIQUE_ALBI>:51820
AllowedIPs          = 0.0.0.0/0, ::/0
PersistentKeepalive = 25