Wireguard bleibt auf LTE kleben nach WAN Failover

Started by waterchill, April 03, 2025, 08:56:09 AM

Previous topic - Next topic
Hallo Freunde,
ich bin neu bei OPNsense und hänge gerade an einem Problem fest – vielleicht kann mir ja jemand helfen.

Setup:
  • Frisch installiertes OPNsense 25.1 mit:

    • WAN (primärer Internetzugang)
    • LTE (Huawei USB HiLink Stick, Backup/Failover)
    • WireGuard VPN-Client (Mullvad)
  • Gateway-Gruppe konfiguriert:

    • WAN = Tier 1
    • LTE = Tier 2
  • Policy-basiertes Routing wird verwendet:

    • Zwei bestimmte Clients werden durch den WireGuard-Tunnel geleitet
    • Alle anderen Clients nutzen WAN/LTE, je nach Verfügbarkeit

Problem:
  • Wenn das WAN ausfällt, übernimmt LTE, und sowohl der allgemeine Datenverkehr als auch das VPN funktionieren wie erwartet.
  • Aber wenn WAN wieder online ist:

    • Der allgemeine Datenverkehr wechselt korrekt zurück auf WAN
    • Die beiden WireGuard-Clients bleiben jedoch auf der LTE-Verbindung
    • Der WireGuard-Tunnel bleibt an LTE gebunden und wechselt nicht zurück auf WAN

Einzige funktionierende Lösung:
Das Einzige, was die korrekte Weiterleitung (WireGuard über WAN) wiederherstellt, ist:
  • Navigieren zu

    VPN → WireGuard → Instanzen
  • ,,Aktiviert" abwählen
  • Auf ,,Übernehmen" klicken
  • Die Instanz wieder aktivieren
  • Noch einmal auf ,,Übernehmen" klicken
Danach wird der Tunnel über die WAN-Schnittstelle neu aufgebaut.

Bereits getestete (nicht funktionierende) Lösungen:
  • configctl wireguard restart
    → Startet die Tunnel-Logik neu, löst aber keine Neuzuweisung der Schnittstelle aus
  • Floating Firewall-Regel:
    → Versuch, UDP-Traffic (Port 51820) zur Mullvad-IP über WAN zu erzwingen
    → Keine Wirkung nach LTE-Failover
  • configctl system config reload
    → Lädt die Konfiguration neu, aber ändert keine aktiven Dienste
  • Manuelle Bearbeitung von

    /conf/config.xml (per

    sed, um die Instanz zu deaktivieren/aktivieren)
    → Ohne den GUI-,,Übernehmen"-Schritt werden die Änderungen nicht wirksam
  • service wireguard stop/start
    → Nicht verfügbar; WireGuard wird über das Plugin verwaltet, nicht über klassische rc-Skripte
  • Shell-Skripte mit

    configctl und

    interface reconfigure all
    → Reproduzieren nicht das Verhalten des GUI-,,Übernehmen"-Schritts
  • OPNsense neu starten
    → Ein kompletter Reboot funktioniert, ist aber keine praktikable Lösung

Zusammenfassung:
WireGuard in OPNsense wechselt nach einem Failover auf LTE nicht automatisch zurück auf das primäre WAN-Interface. Der Tunnel bleibt an LTE gebunden, auch wenn WAN wieder verfügbar ist. Es gibt keine CLI- oder API-Methode, die zuverlässig das Verhalten der GUI nachbildet. Die einzige bekannte funktionierende Lösung ist das manuelle Deaktivieren und Reaktivieren der WireGuard-Instanz über die Weboberfläche oder Stick abziehen.


Jemand eine Idee wie man das beheben könnte?