[Gelöst] Zugriff auf OPNsense via Wireguard - Auf Handy funktioniert es, am PC nicht

Started by Baender, August 29, 2025, 09:51:01 PM

Previous topic - Next topic
Hallo zusammen,

ich bin nach der offiziellen Dokumentation vorgegangen, um auf ein anderes Netzwerk via VPN zuzugreifen.
Dieses Netzwerk verfügt über eine OPNsense, die via Glasfaser und ONT an das Internet angebunden ist. Die Verbindung ist IPv4-only.

Ich folgte dieser Dokumentation: https://docs.opnsense.org/manual/how-tos/wireguard-client.html

Um das Setup anschließend zu testen, habe ich mir im Wireguard-Abschnitt der OPNsense einen Client erstellt. Den anschließend erstellten QR-Code habe ich mit meinem Handy und der Wireguard-App gescannt und die Verbindung anschließend getestet.

Mit dem Handy ist es mir im Browser möglich, auf die OPNsense via 192.168.1.1:8443 zuzugreifen. Ebenso der Zugriff via SSH auf die OPNsense ist möglich. Am PC konnte ich beides ebenfalls erfolgreich testen, als ich über das Handy ins Internet ging und auf dem Handy der VPN aktiv war.

Ich habe anschließend die Konfiguration aus der Wireguard-App auf dem Handy exportiert und auf meinem Linux-Rechner (Fedora GNOME) wieder importiert.

Anschließend versuchte ich, mit aktiviertem VPN auf die OPNsense via 192.168.1.1:8443 zuzugreifen. Es funktioniert nicht. Die Website wird nicht aufgerufen. Der Zugriff auf die OPNsense via SSH klappt jedoch. Kann es etwas damit zu tun haben, dass ich an meinem zweiten Standort Vodafone Kabel-Internet habe und damit irgendetwas nicht richtig funktioniert? An meinem zweiten Standort verfüge ich lediglich über eine Fritzbox, die via Kabel das Internet bereitstellt.

Habt ihr eine Idee, was das sein kann?

Falls ihr Konfigurationen o. ä. benötigt, sagt gerne Bescheid.

Vielen Dank!

Quote from: Baender on August 29, 2025, 09:51:01 PMhabe ich mir im Wireguard-Abschnitt der OPNsense einen Client erstellt
Am einfachsten ist es, wenn Du für jedes Endgerät eine eigene WG Client-Konfig erstellst. Mit einer Konfig kann nur immer ein Client gleichzeitig aktiv sein.

QuoteAnschließend versuchte ich, mit aktiviertem VPN auf die OPNsense via 192.168.1.1:8443 zuzugreifen.
Welche IP Bereich/Netzwerk hast Du am zweiten Standard? Sollte er auch 192.168.1.1 sein, dann hast Du ein Subnetz Konflikt und damit wird es nicht klappen. Der zweite Standort hätte dann schon Routen für z.B. 192.168.1.1/24 und mit aktiem WG plötzlich zwei Routen für das gleiche Subnet aber über verschiedene Gateways.
Deciso DEC740

Ich konnte das Problem endlich eingrenzen und lösen. Mein Problem ergab sich aus meinem Setup, Flüchtigkeitsfehlern und übersehenen Hinweisen.

Setup

Home: 203.0.113.123
  • Fritzbox
  • PC
    • Eingerichteter VPN Zugang zu Home 2
Home 2: 203.0.113.678
  • OPNsense
    • Wireguard
    • Crowdsec
    • Caddy
  • Nextcloud Host
    • Crowdsec
    • Caddy


  • Zuerst war ich nur in der Lage am PC via SSH auf meine OPNsense zuzugreifen, sofern der VPN aktiviert war. Einige Zeit später war das nicht mehr möglich.
  • Von Anfang an konnte ich vom PC aus jedoch nicht auf das WebGUI der sense zugreifen.
  • Zuerst konnte ich auf dem Handy zumindest mit aktiviertem VPN auf das WebGUI zugreifen. In der nächsten Zeit war aber das nicht mehr möglich.

Den Fehler auf dem Handy konnte ich letztlich an einem fehlenden `s` in der URL ausfindig machen: https://192.168.1.1:8443
Der Handybrowser hatte schlicht das https in ein http geändert. Dann kann natürlich der Zugriff nicht funktionieren.

Als Nächstes fiel mir auf, dass meine öffentliche IP von Home durch Crowdsec in Home 2 gebannt wurde, sobald ich in Home meinen Computer startete. Nur wenige Minuten reichten aus, in denen der Computer eingeschaltet war und ich landete auf der Blacklist. Das erklärte schon mal, wieso ich aus Home keine VPN-Verbindung zu Home 2 aufbauen konnte. Es erklärt auch, wieso ich vom Handy aus immer noch eine VPN-Verbindung aufbauen konnte, sofern ich per LTE mit dem Internet verbunden war. Befand sich das Handy im WLAN von Home, war da natürlich auch Schluss.

Mit dem Wissen hatte ich zumindest eine Möglichkeit auf die OPNsense zu verbinden. Hierzu ging ich am PC via USB-Tethering und der LTE-Verbindung des Handys ins Internet und verband mich via VPN mit Home 2. Meine Fehlersuche begann dann auf dem Nextcloud Host von Home 2, denn ich vermutete, dass dort die Entscheidung getroffen werden würde.

So sah die Meldung in Crowdsec aus:

- ID           : ID_NUMBER
 - Date         : 2025-09-22T16:10:40Z
 - Machine      : localhost
 - Simulation   : false
 - Remediation  : true
 - Reason       : crowdsecurity/http-crawl-non_statics
 - Events Count : 52
 - Scope:Value  : Ip:203.0.113.123
 - Country      : DE
 - AS           : Vodafone GmbH
 - Begin        : 2025-09-22 16:10:06.918382812 +0000 UTC
 - End          : 2025-09-22 16:10:40.370757375 +0000 UTC
 - UUID         : ***-***-***-***-***

╭──────────────────────────────────────────────────────────────────────────╮
│ Active Decisions                                                         │
├──────────┬──────────────────┬────────┬────────────┬──────────────────────┤
│    ID    │    scope:value   │ action │ expiration │      created_at      │
├──────────┼──────────────────┼────────┼────────────┼──────────────────────┤
│ 59002406 │ Ip:203.0.113.123 │ ban    │ 3h49m41s   │ 2025-09-22T16:10:40Z │
╰──────────┴──────────────────┴────────┴────────────┴──────────────────────╯

 - Context  :
╭────────────┬──────────────────────────────────────────────────────────────╮
│     Key    │                             Value                            │
├────────────┼──────────────────────────────────────────────────────────────┤
│ method     │ GET                                                          │
│ status     │ 200                                                          │
│ target_uri │ /remote.php/dav/files/USERNAME/Dokumente/Finanzen/ARCHIVE/Fi │
│            │ nanzen_Archive/file.ods                                      │
│ user_agent │ Mozilla/5.0 (Linux) mirall/3.17.1daily (Nextcloud,           │
│            │ org.kde.Platform-6.16.2-200.nobara.fc42.x86_64               │
│            │ ClientArchitecture: x86_64 OsArchitecture: x86_64)           │
╰────────────┴──────────────────────────────────────────────────────────────╯

Einige Whitelist-Anpassungen und Tests später wurde ich wieder mit meiner IP von Home gebannt.

Es brauchte etwas, aber dann war es mir klar. Auf dem Nextcloud-Host ist `crowdsecurity/nextcloud-whitelist` installiert. Damit hätten die Events durch die Synchronisation mit dem Nextcloud Client for Linux nicht zu einem Alarm und damit zu einem Bann führen dürfen:
QuoteWhen syncing large amount of files via WebDAV, it could trigger http-probing so the expression also whitelists 200 response codes.

Haben sie auch nicht. Denn der Ursprung der Entscheidung ist `Machine: localhost` und damit ist Crowdsec auf der OPNsense gemeint. Dadurch, dass sowohl Caddy auf der OPNsense läuft, als auch auf dem Nextcloud Host, werden Anfragen via 443 und 80 aus dem Internet an den Firewall-Caddy geleitet und von da aus anhand der FQDN an den Nextcloud-Caddy. Entsprechend führten die Anfragen auf dem Firewall-Caddy bereits zu einem Alarm und damit zu einem Bann.

Die Lösung war so einfach, wie trivial: Ich installierte `crowdsecurity/nextcloud-whitelist` auch auf der OPNsense und seither funktioniert das Synchronisieren ohne Probleme. Damit werde ich auch nicht mehr gebannt und die VPN-Verbindung von Home zu Home 2 funktioniert wie gedacht.