Bonjour à tous,
J'ai un cas que je pense assez compliqué (pour mon peu d'expérience dans OpnSense & Réseau)
J'ai deux maisons que l'on va nommée site A et site B.
les deux sites ont OpnSense dans la dernières version et à jour.
Pour les faire communiquer, j'ai mis WireGuard.
Je peux accéder du site A vers le site B et inversement. (je ping et est accès à tout le réseau local)
Or pour un besoin spécifique, je souhaite qu'un périphérique du site B (X.X.X.63) sorte par internet du site A. (j'y suis arrivé avec IPSec mais c'est extrêmement lent DL/UP à 100 Mbit max, alors qu'avec WireGuard, je suis entre 500 et 600)
Depuis le .63 sur site B, j'ai bien accès au site B, mais avec la configuration que j'ai mise en place lorsque je ping par exemple 1.1.1.1, je suis en service unreachable.
Auriez vous des conseils pour la configuration ?
d'avance merci de votre aide précieuse. (car je tourne en boucle)
On peut tout à fait faire ce que tu veux avec WireGuard + OPNsense, mais il y a plusieurs points à bien aligner : routage, NAT et règles de firewall sur les deux sites.
Je vais appeler :
Site A = celui par lequel le .63 doit sortir sur Internet
Site B = celui où se trouve le périphérique 192.168.B.63 (j'invente un /24 pour l'exemple)
Tunnel WireGuard :
IP côté A : 10.10.10.1
IP côté B : 10.10.10.2
Adapte les IP à ta config réelle, c'est juste pour illustrer.
1. Principe de ce que tu veux faire
Tu veux du policy-based routing :
Sur le site B :
Tout le trafic LAN → Internet sauf pour 192.168.B.63 sort normalement par la WAN de B
Le trafic de 192.168.B.63 → Internet doit être envoyé dans le tunnel WireGuard vers A
Sur le site A :
Le trafic venant de 192.168.B.63 via le tunnel doit :
Être NATé sur l'IP WAN de A
Être autorisé par le firewall A
Être renvoyé dans le tunnel vers B pour les réponses
C'est exactement ce qu'un routeur d'entreprise ferait avec du PBR (Policy Based Routing).
2. Config côté Site B (où se trouve le .63)
2.1. Peers WireGuard
Sur le Site B, dans VPN > WireGuard > Peers, pour le peer « Site A » :
Tunnel Address : 10.10.10.2/32 (par ex)
Endpoint public de A : OK déjà
Allowed IPs (côté B pour le peer A) doit inclure :
Le réseau du site A (par ex 192.168.A.0/24) – pour accéder au LAN de A
Et 0.0.0.0/0 si tu veux envoyer tout le trafic par A pour certaines machines via des règles de firewall (policy routing)
Exemple :
192.168.A.0/24, 10.10.10.1/32, 0.0.0.0/0
Important : mettre 0.0.0.0/0 dans Allowed IPs NE force pas automatiquement tout à passer par A. Ça dit simplement : « ces destinations sont atteignables via ce peer ». Le choix de ce qui passe par ce tunnel se fait après via les règles du firewall (policy routing).
2.2. Règle de firewall LAN pour le .63
Sur le Site B, va dans Firewall > Rules > LAN et ajoute une règle en haut :
Action : Pass
Interface : LAN
Source : 192.168.B.63
Destination : any
Gateway : la gateway WireGuard (créée auto quand tu actives l'interface WG : par ex. WG_SITEA)
Log : activé temporairement pour debug
Cette règle va forcer tout le trafic de 192.168.B.63 à être routé via le tunnel WireGuard vers A, au lieu de la WAN de B.
Ensuite, assure-toi qu'une autre règle LAN générale (sans gateway) existe en dessous pour le reste du LAN, qui continue d'utiliser l'Internet de B normalement.
3. Config côté Site A (sortie Internet)
Deux choses essentielles :
Le NAT pour la source 192.168.B.63 (vue depuis A via le tunnel)
Les règles firewall sur l'interface WireGuard et sur WAN
3.1. S'assurer que Site A connaît le réseau de B
Sur le Site A, dans WireGuard > Peers pour le peer « Site B » :
Allowed IPs doit contenir le réseau du site B :
par ex. 192.168.B.0/24, 10.10.10.2/32
C'est comme ça qu'A sait : « pour atteindre 192.168.B.0/24, je passe par ce peer/tunnel ».
3.2. NAT (Outbound) côté A
Tu dois t'assurer que lorsque 192.168.B.63 arrive par le tunnel sur A et sort sur Internet, il est NATé avec l'IP WAN de A.
Dans OPNsense Site A :
Va dans Firewall > NAT > Outbound
Mode :
Soit « Hybrid outbound NAT rule generation »
Soit « Manual outbound NAT rule generation »
(Évite « Automatic only » pour ce cas précis)
Ajoute une règle :
Interface : WAN
Source : 192.168.B.63/32 (ou 192.168.B.0/24 si tu veux NATer tout le réseau B via A)
Source Port : any
Destination : any
Translation / target : Interface address (WAN A)
Description : NAT pour B.63 via WG
Sauvegarde + appliquer.
3.3. Règles de firewall côté A (interface WireGuard et WAN)
Sur l'interface WireGuard de A (par ex « WG_SITEB » dans Firewall > Rules > [WG_SITEB]) :
Ajoute une règle :
Action : Pass
Interface : WG_SITEB
Source : 192.168.B.0/24 (ou au minimum 192.168.B.63/32)
Destination : any
Protocol : any
Elle autorise le flux venant du réseau B via le tunnel.
Sur WAN de A :
Normalement, pas besoin de règle spéciale si le firewall de A autorise déjà le trafic sortant initié par le LAN/Tunnel. Vérifie que tu as une règle du type :
Interface : WAN
Direction : Outbound / ou IPv4 depuis A vers internet autorisé (selon ta politique)
Dans la majorité des configs « par défaut », c'est déjà OK : c'est l'interface LAN/WG qui décide ce qu'elle laisse sortir.
4. Diagnostic : pourquoi tu as « Destination host unreachable »
Quand tu ping 1.1.1.1 depuis 192.168.B.63 et que tu obtiens « Destination host unreachable », il y a 3 causes classiques :
Le paquet ne part pas dans le tunnel (PBR mal appliqué)
Vérifie sur B : dans Firewall > Log > Live View :
Filtre par source = 192.168.B.63
Tu dois voir la règle LAN avec gateway WG_SITEA matche ce trafic.
Site A ne connaît pas 192.168.B.0/24 comme étant derrière le tunnel
Allowed IPs mal configuré sur le peer côté A, ou interface WG mal montée.
NAT ou firewall côté A bloque
Paquets arrivent bien sur A via WG, mais :
soit pas de NAT Outbound correspondant → trafic sort avec IP privée du réseau B → drop par le FAI
soit firewall sur interface WG ou WAN refuse.
Tu peux confirmer que le trafic arrive sur A via :
Firewall > Log > Live View sur A
Filtrer source 192.168.B.63
Si tu vois des paquets entrants sur interface WG → le routage tunnel est OK
5. Résumé rapide des points clés
Sur B :
Peer vers A : Allowed IPs inclut 0.0.0.0/0
Règle LAN en haut pour 192.168.B.63 → Gateway = WG_SITEA
Sur A :
Peer vers B : Allowed IPs inclut 192.168.B.0/24
Firewall > Rules > [WG_INTERFACE] : autoriser source 192.168.B.0/24 vers any
Firewall > NAT > Outbound sur WAN : NAT source 192.168.B.63/32 (ou B.0/24) vers IP WAN A
j'utilise ca sur mon opnsense mais ca ne ce decrit pas vraiment fait ci fait ca et ca va fonctionner tu dois compprendre un minimum ce que tu fais chauqe reseau est specifique