incisor2k
Goto Top

VPN Wireguard - OpenWRT auf Fritzbox 4040 stellt keine Verbindung her

Guten Morgen,
Es geht um eine VPN Konfiguration (Wireguard) zwischen Router (Fritzbox 4040 + OpenWRT) und einem Wireguard-Server im Internet mit fester IP.
Derzeit gibt es folgende Konfigurationen, welche, bis auf eine, auch funktionieren.

Wireguard Server: Im Netz mit fester IP erreichbar.
Client 1: Smartphone (im Mobilfunknetz) - funktioniert.
Laptop, verbunden mit einem X86 - OpenWrt Image als Router, Wireguard konfiguriert - Verbindung zum Server steht.
Der X86 OpenWRT-Router hängt an einem LTE-Router, welcher als Internetzugangspunkt dient.
Konfiguration zu Hause:
Fritzbox 7490 (Router + DSL Zugang), Fritzbox 4040 (OpenWRT, DHCP,...) --> Keine Verbindung zum Server möglich.
Alle anderen Clients in diesem Netzwerk (Smartphone, Laptop), welche eine direkte Verbindung zum Server herstellen, funktionieren jedoch, stellen also eine Verbindung zum Server her.
Konfiguriert ist die 4040 identisch (mit Ausnahme der IP Adresse) wie das X86-OpenWRT Image, welches funktioniert.

Hat zufällig jemand eine Idee oder weis, woran es liegen könnte? Falls weitere Daten notwendig sind, füge ich die gern hinzu.

Content-ID: 451025

Url: https://administrator.de/contentid/451025

Ausgedruckt am: 21.11.2024 um 22:11 Uhr

aqui
aqui 12.05.2019, aktualisiert am 12.03.2021 um 22:46:06 Uhr
Goto Top
Siehe auch: Merkzettel: VPN Installation mit Wireguard
Fritzbox 7490 (Router + DSL Zugang), Fritzbox 4040 (OpenWRT, DHCP,...) --> Keine Verbindung zum Server möglich.
Du setzt mit dem OpenWRT Router vermutlich eine sog. Router Kaskade ein:
IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten
oder hast den OpenWRT "one armed" im lokalen Netzwerk wie ein Client, richtig ?
Da gibt es mehrere Dinge die eine Server Verbindung verhindern:
  • Dein Provider Anschluss an der FritzBox ist ein DS-Lite_Anschluss. Dann sind alle weiteren Versuche sinnlos, mit DS-Lite bekommt man das technisch nicht hin durch das CGN Problem.
  • Hast du keinen DS-Lite und eine öffentliche IP hast du vermutlich vergessen den von dir im VPN Server konfigurierten Wireguard Port im Port Forwarding der davor kaskadierten FritzBox freizugeben ! Siehe Kaskaden Tutorial oben !
  • Ist der Wireguard "one armed" angeschlossen im lokalen LAN benötigst du noch eine statische Route auf der FB um das interne VPN Netz erreichen zu können. Das OpenVPN_Tutorial erklärt es im Kaskaden Kapitel im letzten Bild !

Auch solltest du klären ob du im LTE Netzwerk vom Provider private RFC 1918 IP Adressen bekommst:
https://de.wikipedia.org/wiki/Private_IP-Adresse#Adressbereiche
Viele LTE Provider machen das bei billigen nur Surf Accounts. Auch dann kannst du das Thema VPN gleich vergessen, denn dann macht der Provider wie bei DS-Lite CGN und dann hast du keine Chance dessen NAT Firewall zu überwinden !
DS-Lite und RFC 1918 IP Adressen im LTE wären dann das sofortige Aus für dein VPN.
Welche Adressen du am LTE Router im Mobilfunknetz bekommen hast kannst du in dessen Interface Status Übersicht sehen und auch am Smartphone in den dort vergebenen Mobilfunk IP Adressen.

Eins dieser 3 Fehler oder alle 3 hast du irgendwo verbockt ! Oder... den falschen LTE Provider.
incisor2k
incisor2k 12.05.2019 um 12:47:01 Uhr
Goto Top
Danke für deine Antwort. Bin leider eben mobil unterwegs, deshalb hoffe ich, die kurze Antwort wird ausreichen.
Meine Problem-OpenwrtBox ist Teil des Heimnetzes. Diese hängt hinter einer anderen FritzBox (Gateway), und dient also Router für das Netzwerk, DHCP, DNS etc.
Geräte, welche sich ebenfalls in diesem Netzwerk befinden, z.B. Smartphones, verbinden sich ohne Probleme zum Wireguard-Server.
Es handelt sich hier auch um einen normalen DSL Anschluss, nicht DSL light.
Die X86-OpenWrt befindet sich an einem anderen Internet-Anschluss (LTE-Anschluss) - hier funktioniert alles reibungslos, die Verbindung zum Wireguardserver steht.
aqui
aqui 13.05.2019 aktualisiert um 13:18:15 Uhr
Goto Top
Eine simple und klassische Kaskaden Konfig also !?!
IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten

Eine kleine Skizze wie dein Netzwerk genau aussieht würde hier sicher immens helfen für das Verständnis deines Designs.
So ist recht unklar was an der FritzBox und was am LTE mit welchen IP Netzen und Gateway Adressen hängt face-sad
incisor2k
incisor2k 14.05.2019 um 07:22:50 Uhr
Goto Top
Völlig korrekt, das macht Sinn. Hoffe damit ist was anzufangen.
Zur Erklärung. Der DSL Standort (Lokation1) und der LTE Standort (Lokation2) sind unabhängig voneinander.
Beide Router (DSL-Router / LTE-Router) stellen den Gateway ins Internet, Firewall ist auf beiden aktiviert.
Die OpenWRT-Router (auf Firtzbox 4040 / X86-Software) stellen DHCP und DNS und stellen das Standardgateway für das Netzwerk. Firewalls sind auf beiden Geräten deaktiviert.
Lokation 2: X86-OpenWRT-Router hat einen Peer zu dem Wireguard Server im Internet. Alle Clients in diesem Netz, können diese Verbindung direkt nutzen, auch ohne Wireguard Software auf den Clients.
Lokation 1: Dieser OpenWRT-Router hat ebenfalls einen Peer zum WG-Server, stellt aber keine Verbindung her. Clients (z.B. PC, Smartphone) welche direkt mit dem Router verbunden sind (LAN/WLAN), und Wireguard-Software nutzen, stellen hingegen problemlos eine Verbindung her.
Ich habe (Lokation1) mal den Netzverkehr am WAN-Port / Routing-Port mitgeschnitten. Man erkennt, dass der OpenWRT-Router einen Handshake versucht, aber keine Antwort vom WG-Server erhält.
Meine Vermutung ist, dass u.U. der Provider dies blockt (ist sowas denkbar?!). Dagegen spricht aber, dass alle Clients direkt an dem Router problemlos eine Verbindung aufbauen können.
Andere VPN-Dienste (z.B. OpenVPN) funtkionieren an dem Anschluss übrigens problemlos, in beide Richtungen.
wg-prob
aqui
Lösung aqui 14.05.2019 um 08:49:37 Uhr
Goto Top
OK, das bringt etwas Klarheit in die Angelegenheit. face-wink
Zwei wichtige Frage bleibt noch die du noch klären müsstest bevor wir ins Eingemachte gehen:
  • Der Wireguard Server, liegt der direkt im Internet mit einer öffentlichen IP Adresse oder auch hinter einem NAT Router ?
  • Die kaskadierten OpenWRT Router arbeiten die als reine Router ohne NAT so wie HIER beschrieben, also mit zusätzlicher statischer Router auf FB und LTE Router. Oder haben die NAT (Adress Translation) aktiviert am Koppelport zum davorliegenden Router ?

Generell ist das ein einfaches und klassisches VPN Szenario, nix besonderes und sollte problemlos laufen. Die Lokation 2 an der alles funktioniert zeigt das ja auch. Bzw. die funktionierenden Einzelclients in Lokation 1.
Das es mit den Clients in Lok.1 klappt zeigt ganz klar das mit der Konfig des VPN Servers alles richtig ist. Da die Verbindung zusatnde kommt und die Wireguard Pakete dann damit auch logischerweise auch von dort via Provider zum Server gehen beweist ja dann eindeutig auch das der Provider diese Pakete NICHT filtert.
Das kann er ja auch gar nicht, denn Wireguard benutzt SSL. Sprich du kannst sogar den Port selber bestimmen.
Hier wäre nochmal interessant welchen Port du benutzt ??

Fazit: Es kann also nur am OpenWRT Router in Lok.1 selber liegen.
Entweder stimmen hier so banale Dinge wie User und Passwort nicht was die Einwahl verhindert oder z.B. auch die Uhrzeit und Datum nicht was für die von Wireguard verwendeten Schlüsselverfahren wichtig ist. Auf allen beteiligten VPN Komponenten sollte also ein NTP_Server aktiviert sein.
Es wäre ziemlich unverständlich warum Wireguard VPN Pakete von den Lok.1 Clients problemlos zum Server gelangen und einen Tunnel aufbauen, die des Routers davor aber nicht.
Hier sind dann nochmal Infos wichtig:
  • Welche Absender IP nutzen die VPN Pakete vom OpenWRT
  • Ggf. Filter dafür aktiv in der davor kaskadierten FW
  • Ist OpenWRT mit NAT aktiv oder routet der Router transparent zur FB ?
incisor2k
incisor2k 14.05.2019 aktualisiert um 09:08:41 Uhr
Goto Top
Guten Morgen, danke für deine Antwort. Hatte jetzt schon fast gedacht, es würde sich tatsächlich nur um das banale Problem Zeit handeln, das war es aber leider dann doch nicht face-wink - hier passt alles.
Zu deinen Fragen:
1) Der WG-Server hat ne öffentliche IP, keine NAT Router.
2) Absender IP-Pakete ist die öffentliche IP des Anschlusses
3) OpenWRT hat kein NAT aktiv
4) Benutzername / Kennwort gibts bei Wireguard ja nicht, nur Schlüssel. Die wurden jetzt ca 100x kontrolliert, neu angelegt, neu eingetragen etc.
Zitat von @aqui:
Es wäre ziemlich unverständlich warum Wireguard VPN Pakete von den Lok.1 Clients problemlos zum Server gelangen und einen Tunnel aufbauen, die des Routers davor aber nicht.
Ja, das ist es face-sad
Als Port am Server ist der Standardport 51820 eingetragen.
Ich hatte den OpenWRT Router testweise auch als Exposed Host freigegeben, selbes Ergebnis...

Achso: Filter sind in der FW ebenfalls nicht aktiv.
aqui
Lösung aqui 14.05.2019 um 09:16:34 Uhr
Goto Top
Bei 2.) meinst du den Server, oder ?
Das war aber nicht gemeint sondern die Absender IP Adresse der VPN Pakete des OpenWRT Routers in Lok.1 die du mitgesniffert hast.
3) OpenWRT hat kein NAT aktiv
Hast du dann an die dann zwingend erforderliche statische Route in der FritzBox gedacht ??
Als Port am Server ist der Standardport 51820 eingetragen.
Hast du in den gesnifferten Paketen des OpenWRT auch geprüft das wirklich dieser Port verwendet wird ?
Wenn der Server nicht antwortet dann stimmt irgendwas mit dem Port oder den Schlüsseln nicht.
Perfekt wäre noch wenn du am Server mal einen tcpdump auf dem Port 51820 machen könntest um zu sehen was da vom OpenWRT ankommt.
incisor2k
incisor2k 14.05.2019 um 09:21:52 Uhr
Goto Top
Problem hat sich erledigt. Warum auch immer.
Folgende Einstellung scheint das Problem gewesen zu sein:
Anscheinend war am V-Switch die VLAN Funktionalität aktiviert, die Ports jedoch untagged gesetzt. Also eigentlich hätte das nie Auswirkungen haben dürfen.
Habe diesen Haken jetzt einfach mal entfernt, und es funktioniert.
Sehr seltsam.
Ich danke vielmals für deine Hilfe! face-smile
vlan
incisor2k
incisor2k 14.05.2019 um 09:24:27 Uhr
Goto Top
Zitat von @aqui:

Bei 2.) meinst du den Server, oder ?
Nein, die des DSL-Anschlusses
Das war aber nicht gemeint sondern die Absender IP Adresse der VPN Pakete des OpenWRT Routers in Lok.1 die du mitgesniffert hast.
3) OpenWRT hat kein NAT aktiv
Hast du dann an die dann zwingend erforderliche statische Route in der FritzBox gedacht ??
Da kann ich keine Route definieren. Also können schon, aber macht keinen Sinn. Der UDP Port des OpenWRT "Clients" ist dynamisch, habe ich keinen festen definiert. Deswegen muss ja dieser die 1. Verbindung zum Server aufbauen, damit die Firewall die Verbindung kennt.
Als Port am Server ist der Standardport 51820 eingetragen.
Hast du in den gesnifferten Paketen des OpenWRT auch geprüft das wirklich dieser Port verwendet wird ?
Ja, das hatte ich geprüft, das stimmt.
Wenn der Server nicht antwortet dann stimmt irgendwas mit dem Port oder den Schlüsseln nicht.
Perfekt wäre noch wenn du am Server mal einen tcpdump auf dem Port 51820 machen könntest um zu sehen was da vom OpenWRT ankommt.