« Kit de dépannage MV2025 » : différence entre les versions
Aucun résumé des modifications |
|||
| (21 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 14 : | Ligne 14 : | ||
Le Pi3 doit établir automatiquement un tunnel VPN (WireGuard) sortant vers le routeur du réseau MV, puisque l’adhérent n’ouvre aucun port entrant sur sa box. | Le Pi3 doit établir automatiquement un tunnel VPN (WireGuard) sortant vers le routeur du réseau MV, puisque l’adhérent n’ouvre aucun port entrant sur sa box. | ||
Pour éviter le conflit d’adressage — X et MV étant tous deux en 192.168.1.x — une | Pour éviter le conflit d’adressage — X et MV étant tous deux en 192.168.1.x — une traduction d’adresses est indispensable. | ||
== Solution globale == | == Solution globale == | ||
| Ligne 27 : | Ligne 27 : | ||
192.168.7.0/24 = représentation du réseau X via le tunnel | 192.168.7.0/24 = représentation du réseau X via le tunnel | ||
Le Pi3 assure une | Le Pi3 assure une traduction d’adresses entre : | ||
192.168.7.x (vu depuis le réseau MV) | 192.168.7.x (vu depuis le réseau MV) | ||
| Ligne 35 : | Ligne 35 : | ||
= 2) Règles générales = | = 2) Règles générales = | ||
== A. NAT de | == A. NAT de traduction pour éviter la confusion d’adresses == | ||
Comme les deux sites utilisent la même plage 192.168.1.0/24, un réseau virtuel 192.168.7.0/24 est créé pour représenter le réseau X depuis le réseau MV. | Comme les deux sites utilisent la même plage 192.168.1.0/24, un réseau virtuel 192.168.7.0/24 est créé pour représenter le réseau X depuis le réseau MV. | ||
| Ligne 51 : | Ligne 51 : | ||
'''Résultat :''' | '''Résultat :''' | ||
Avec cette | Avec cette traduction, toutes les machines du réseau X apparaissent côté réseau MV sous 192.168.7.x, éliminant tout conflit d’adressage. | ||
== B. Routage côté réseau MV == | == B. Routage côté réseau MV == | ||
Pour permettre l’accès au réseau virtuel 192.168.7.x, une route doit être configurée sur le routeur MV : | Pour permettre l’accès au réseau virtuel 192.168.7.x, une route doit être configurée sur le routeur MV : | ||
192.168.7.0/24 → via | 192.168.7.0/24 → via interface wg0 (tunnel Wireguard vers le Pi3) | ||
Cette route vaut pour tous les PC connectés au réseau MV. | |||
Cette route | |||
Autrement, elle peut aussi être définie manuellement sur un PC spécifique connecté au réseau MV. | |||
'''Résultat :''' | '''Résultat :''' | ||
| Ligne 90 : | Ligne 82 : | ||
SNAT : conversion inverse pour les réponses du réseau X | SNAT : conversion inverse pour les réponses du réseau X | ||
ATTENTION : il n'est pas possible de définir ces règles de transformation d'adresses dans le firewall. Il faut installer ceci, | |||
<pre> | |||
opkg update | |||
opkg install iptables-legacy iptables-mod-nat-extra | |||
</pre> | |||
Puis créer le fichier de règles, | |||
nano /etc/firewall.user | |||
<pre> | |||
#!/bin/sh | |||
# NAT 1:1 NETMAP WireGuard | |||
# Traduction 192.168.7.0/24 <-> 192.168.1.0/24 | |||
# Vérifie que l'interface wg0 est active | |||
if ip link show wg0 >/dev/null 2>&1; then | |||
# DNAT : trafic entrant sur wg0 vers 192.168.1.0/24 | |||
iptables -t nat -A PREROUTING -i wg0 -d 192.168.7.0/24 -j NETMAP --to 192.168.1.0/24 | |||
# SNAT : trafic sortant vers wg0 depuis 192.168.1.0/24 | |||
iptables -t nat -A POSTROUTING -o wg0 -s 192.168.1.0/24 -j NETMAP --to 192.168.7.0/24 | |||
fi | |||
</pre> | |||
le rendre exécutable | |||
<pre> | |||
chmod +x /etc/firewall.user | |||
</pre> | |||
le lancer et vérifier | |||
<pre> | |||
/etc/firewall.user | |||
iptables -t nat -L -n -v | |||
</pre> | |||
Et ça doit marcher !! | |||
sinon, regarder ce qui se passe avec tcpdump, | |||
<pre> | |||
tcpdump -i wg0 icmp | |||
</pre> | |||
Cela permet d’accéder à tout le réseau X sous l'identité 192.168.7.x. | Cela permet d’accéder à tout le réseau X sous l'identité 192.168.7.x. | ||
Il faut rentrer dans les fichiers de conf, Luci ne permet PAS de le faire ici, http://192.168.1.222/cgi-bin/luci/admin/network/firewall/snats | |||
== B. Routeur MV (OpenWrt – réseau du dépanneur) == | == B. Routeur MV (OpenWrt – réseau du dépanneur) == | ||
=== Firewall === | |||
Définir un transfert du port 51827 vers l'adresse du routeur (192.168.1.1) | |||
=== Interface WireGuard ''wg0'' === | === Interface WireGuard ''wg0'' === | ||
| Ligne 101 : | Ligne 140 : | ||
Port d’écoute : 51827 | Port d’écoute : 51827 | ||
Sur le routeur MV, le Pi3 est configuré comme peer dans WireGuard | |||
=== Route statique === | === Route statique === | ||
Ajouter : 192.168.7.0/24 via 13.0.0.1 (wg0) | Ajouter : 192.168.7.0/24 via 13.0.0.1 (wg0) | ||
<pre> | |||
interface = wg0 | |||
target = 192.168.7.0/24 | |||
gateway non définie (le routeur MV par défaut) | |||
</pre> | |||
http://192.168.1.1/cgi-bin/luci/admin/network/routes | |||
Vérifier les routes installées, | |||
<pre> | |||
ip route show | |||
</pre> | |||
Cela indique explicitement au routeur MV : | Cela indique explicitement au routeur MV : | ||
| Ligne 114 : | Ligne 165 : | ||
= ✔ Résumé final = | = ✔ Résumé final = | ||
Le Pi3 installé chez l’adhérent établit un tunnel WireGuard vers le routeur du dépanneur, effectue une | Le Pi3 installé chez l’adhérent établit un tunnel WireGuard vers le routeur du dépanneur, effectue une traduction entre 192.168.1.x et 192.168.7.x, et le routeur MV annonce ce réseau virtuel aux PC du dépanneur. | ||
Grâce à cette architecture, l’accès à l’ensemble du réseau X est possible malgré l’usage identique de la plage d’adresses 192.168.1.0/24 sur les deux sites. | Grâce à cette architecture, l’accès à l’ensemble du réseau X est possible malgré l’usage identique de la plage d’adresses 192.168.1.0/24 sur les deux sites. | ||
= | = Paramétrer OpenWRT sur PI3 = | ||
https://wiki.memoirevive79.mooo.com/index.php/Param%C3%A9trer_OpenWRT_sur_PI3_(ou_autre) | |||
Dernière version du 21 novembre 2025 à 23:33
1) Objectif : Kit de dépannage
Contexte
Un Raspberry Pi 3 sous OpenWrt est installé chez l’adhérent. Il est connecté directement derrière sa box et obtient une adresse dans :
Réseau X : 192.168.1.0/24
La majorité des adhérents utilisent la même plage d’adresses que le dépanneur (192.168.1.x), ce qui entraîne naturellement un conflit d’adressage entre les deux sites.
Besoin
Un PC du réseau MV (côté dépanneur) doit pouvoir accéder à n’importe quelle machine du réseau X (chez l’adhérent), depuis l’extérieur.
Le Pi3 doit établir automatiquement un tunnel VPN (WireGuard) sortant vers le routeur du réseau MV, puisque l’adhérent n’ouvre aucun port entrant sur sa box.
Pour éviter le conflit d’adressage — X et MV étant tous deux en 192.168.1.x — une traduction d’adresses est indispensable.
Solution globale
Mise en place d’un tunnel WireGuard avec deux adresses dédiées :
Pi3 (réseau X) : 13.0.0.1/24
Routeur MV (dépanneur) : 13.0.0.2/24
Création d’un réseau virtuel :
192.168.7.0/24 = représentation du réseau X via le tunnel
Le Pi3 assure une traduction d’adresses entre :
192.168.7.x (vu depuis le réseau MV)
192.168.1.x (réseau réel de l’adhérent)
2) Règles générales
A. NAT de traduction pour éviter la confusion d’adresses
Comme les deux sites utilisent la même plage 192.168.1.0/24, un réseau virtuel 192.168.7.0/24 est créé pour représenter le réseau X depuis le réseau MV.
Le Pi3 est configuré pour appliquer :
1. DNAT (PREROUTING)
Lorsque qu’un paquet arrive du tunnel WireGuard vers une destination 192.168.7.x :
→ il est converti en 192.168.1.x, adresse réelle du réseau X.
2. SNAT (POSTROUTING)
Lorsqu’une machine du réseau X répond (source 192.168.1.x) :
→ la source est remplacée par 192.168.7.x avant renvoi dans le tunnel.
Résultat : Avec cette traduction, toutes les machines du réseau X apparaissent côté réseau MV sous 192.168.7.x, éliminant tout conflit d’adressage.
B. Routage côté réseau MV
Pour permettre l’accès au réseau virtuel 192.168.7.x, une route doit être configurée sur le routeur MV :
192.168.7.0/24 → via interface wg0 (tunnel Wireguard vers le Pi3)
Cette route vaut pour tous les PC connectés au réseau MV.
Autrement, elle peut aussi être définie manuellement sur un PC spécifique connecté au réseau MV.
Résultat : Toute tentative d’accès à 192.168.7.x est automatiquement envoyée dans le tunnel WireGuard.
3) Paramétrage
A. Pi3 (OpenWrt – réseau X)
Interface WireGuard wg0
Adresse tunnel : 13.0.0.1/24
Établissement du tunnel vers l’adresse publique du routeur MV
Keepalive activé pour maintenir le tunnel à travers le NAT
NAT (mapping 192.168.7.x ↔ 192.168.1.x)
DNAT : conversion des adresses virtuelles (192.168.7.x) vers les adresses réelles (192.168.1.x)
SNAT : conversion inverse pour les réponses du réseau X
ATTENTION : il n'est pas possible de définir ces règles de transformation d'adresses dans le firewall. Il faut installer ceci,
opkg update opkg install iptables-legacy iptables-mod-nat-extra
Puis créer le fichier de règles,
nano /etc/firewall.user
#!/bin/sh
# NAT 1:1 NETMAP WireGuard
# Traduction 192.168.7.0/24 <-> 192.168.1.0/24
# Vérifie que l'interface wg0 est active
if ip link show wg0 >/dev/null 2>&1; then
# DNAT : trafic entrant sur wg0 vers 192.168.1.0/24
iptables -t nat -A PREROUTING -i wg0 -d 192.168.7.0/24 -j NETMAP --to 192.168.1.0/24
# SNAT : trafic sortant vers wg0 depuis 192.168.1.0/24
iptables -t nat -A POSTROUTING -o wg0 -s 192.168.1.0/24 -j NETMAP --to 192.168.7.0/24
fi
le rendre exécutable
chmod +x /etc/firewall.user
le lancer et vérifier
/etc/firewall.user iptables -t nat -L -n -v
Et ça doit marcher !!
sinon, regarder ce qui se passe avec tcpdump,
tcpdump -i wg0 icmp
Cela permet d’accéder à tout le réseau X sous l'identité 192.168.7.x.
Il faut rentrer dans les fichiers de conf, Luci ne permet PAS de le faire ici, http://192.168.1.222/cgi-bin/luci/admin/network/firewall/snats
B. Routeur MV (OpenWrt – réseau du dépanneur)
Firewall
Définir un transfert du port 51827 vers l'adresse du routeur (192.168.1.1)
Interface WireGuard wg0
Adresse tunnel : 13.0.0.2/24
Port d’écoute : 51827
Sur le routeur MV, le Pi3 est configuré comme peer dans WireGuard
Route statique
Ajouter : 192.168.7.0/24 via 13.0.0.1 (wg0)
interface = wg0 target = 192.168.7.0/24 gateway non définie (le routeur MV par défaut)
http://192.168.1.1/cgi-bin/luci/admin/network/routes
Vérifier les routes installées,
ip route show
Cela indique explicitement au routeur MV :
« Pour atteindre le réseau virtuel 192.168.7.x, emprunter le tunnel WireGuard. »
Ainsi, tout PC du réseau MV peut atteindre les machines du réseau X sans conflit d’adresses.
✔ Résumé final
Le Pi3 installé chez l’adhérent établit un tunnel WireGuard vers le routeur du dépanneur, effectue une traduction entre 192.168.1.x et 192.168.7.x, et le routeur MV annonce ce réseau virtuel aux PC du dépanneur. Grâce à cette architecture, l’accès à l’ensemble du réseau X est possible malgré l’usage identique de la plage d’adresses 192.168.1.0/24 sur les deux sites.
Paramétrer OpenWRT sur PI3
https://wiki.memoirevive79.mooo.com/index.php/Param%C3%A9trer_OpenWRT_sur_PI3_(ou_autre)