fehmarn
Goto Top

VPN durch 4 Router?

Hi face-smile

Gleich mal zu Anfang - ich frage dies weil ich es wissen will. Ich spiele gerne mit Hardware (Arduino und all so dinge).

Also folendes:

Hier mal meine Hardware in der folgenden Reienfolge:

Fritzbox-TPLINKER605-PFSENSE-OPNSENSE

Kann ich damit ein VPN von vorne bis hinten durchleiten?
Also ich kann im Internet surfen und all das Zeugs wie Netflix und was ich noch brauche - geht alles.
Ich musste die Regeln alle (na logisch) auf den beiden Firewalls erstellen (GOOGLE hilft).
Nur kann ich kein VPN nutzen.
Also ich will auf der letzten Firewall ONSSENSE ankommen. Ich habe da YTVids geschaut und mir einen OPNVPN Server eingrichtet. Mit Zertifikaten und all dem. Dann habe ich das alles wie im VIdeo exportiert und auf dem Handy (Android) installiert.

Auf der FRITZBOx habe ich ein Weiterleitung port 1194 auf den ER605 gemacht. Dort habe ich virtuell Server (scheint wohl das weiterleiten von TPLINK zu sein) für port 80 und 443 gemacht. Dann auf der PFSENSE auch wieder - also Weiterleitung aber da denke ich bin ich falsch. Da hab ich gegoogelt aber das ist ezwas komplizert.

Ich verstehe das so. Diese Ports kommen vom ER605 aus dem WAN der PFSENSE und müssen weitergeleitet werden an die IPAdresse der OPNSENSE - was die WAN Adresse der OPNSENSE ist. Ist das richtig? Ich bekomme keine Verbindung.

Nochmal - ich brauch das nicht zum arbeiten oder so - ich will das nur verstehen. Warum bekomme ich keine Verbindung? Da steht auf dem Handy immer reconnect. Und ich habe klar Dyndns damit das geht von außen.

Vielen lieben Dank !!!!!!

Content-ID: 4377094254

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

Ausgedruckt am: 19.11.2024 um 03:11 Uhr

Drohnald
Drohnald 23.10.2022 aktualisiert um 22:05:11 Uhr
Goto Top
Hi,

Ich verstehe das so. Diese Ports kommen vom ER605 aus dem WAN der PFSENSE und müssen weitergeleitet werden an die IPAdresse der OPNSENSE - was die WAN Adresse der OPNSENSE ist. Ist das richtig?
Nein, du musst nicht 3x weiterleiten.
Es reicht, wenn du in deiner Fritzbox eine Weiterleitung TCP 443 (und/oder 1194 UDP) auf die OPNSense machst.
Voraussetzung dafür ist aber, dass die OPNsense von der Fritzbox aus erreicht werden kann, dort muss also eine statische Route drin sein, damit die Fritze weiß, wohin der Traffic gehen muss und natürlich müssen die Firewalls der Router entsprechend den Traffic erlauben (aber KEIN Portforwarding!)

Kannst du leicht testen: Steck einen Computer direkt an die Fritzbox und versuche die OPNSense zu pingen. Wenn das geht, prüfe ob 443 erreicht werden kann (z.B. mit Powershell
Test-NetConnection hierDieIPDerOPNSense -port 443
)

Zur Erklärung:
Der einzige Grund warum du überhaupt eine Weiterleitung brauchst heißt NAT. Im Internet gibt es keine Routen auf deine LAN-IP bei IPv4, daher geht jeglicher Traffic an die WAN Adresse, die deine Fritze hat.

Wenn also etwas von außen kommt (und zwar ohne, dass es von Innen angefordert wurde), dann bleibt es an der Fritze stehen und fragt dort an "Guten Tag Herr Fritz, ich komme hier mit Port 443, bin ich da richtig"?
Ist die Fritze selbst der VPN-Server, dann sagt er "Jawoll, lass uns VPN machen".
Ist die Fritze das nicht, dann kommt deine Weiterleitung an deinen VPN-Server, in deinem Fall die OPNSense. Die Antwort ist dann "Nein, 443 gehen sie mal zum Kollegen, IP 192.168.80.1".

VPN sollte eigentlich nie kreuz und quer durchs LAN geroutet werden sondern direkt am WAN-Anschluss hängen.
Aber es soll ja nur Spielerei sein. Trotzdem kein gutes Design, sollte man sich nicht angewöhnen.

Edit: Achso und du brauchst eine echte IPv4 Adresse im Internet. Mit CGN klappt das nicht.

Ich hoffe das war verständlich.

Gruß
Drohnald
108012
108012 24.10.2022 um 10:01:05 Uhr
Goto Top
Hallo,

zum herumspielen ist das ganz nett, aber mehr eben auch nicht.
In Der Regel hast Du einen Router oder eine Firewall und dazu noch einen LAN und/oder DMZ Switch.
In einigen Fällen kann man sicherlich auch eine Dual Homed Lösung benutzen und hat dann zwei Router
oder Firewalls mit im "Spiel" (AVM FB und pfSense dahinter) an die AVM FB kommen dann in der Regel
alle "Petzen" an einen DMZ Switch dran und hinter die pfSense alle LAN Geräte an einen LAN Switch.
Per VPN kann man nun alle Geräte wie RAPI, NAS, oder andere as dem Internet erreichen und die
Geräte hinter der Firewall sind und bleiben alle sicher.

Bei 4 Routern / Firewall kann man auch ein LABOR (LAB) Netz aufsetzen und dann dort "spielen"
und die AVM alleine bzw. mit einer anderen Lösung zusammen als Netzwerk betreiben. Hier bei
mir sind das AVM FB, pfSense und MikroTik und OpenWRT. Aber VPN durch alle 4 Geräte durch
ist irgendwie an der "Sache" voll vorbei.

Dobby
aqui
aqui 24.10.2022 aktualisiert um 10:09:22 Uhr
Goto Top
Kann ich damit ein VPN von vorne bis hinten durchleiten?
Ja!
Würdest du diese Frage auch stellen wenn es um simplen WebBrowser Traffic (HTTP) oder Email Traffic geht?
VPN Traffic ist auch nichts anderes als simpler IP Traffic den du, wenn es sein muss, auch durch 100 Router oder Firewalls bekommst. Es zählt doch einzig und allein nur die Ziel IP Adresse, denn bekanntlich bestimmt nur diese WIE ein IP Paket durch ein oder mehrere Netzzwerke geforwardet wird!
Also ich will auf der letzten Firewall ONSSENSE ankommen.
Was ist ONSSENSE??
Lösung: Port Forwarding auf FritzBox, Port Forwarding auf TP-Link, Port Forwarding auf pfSense mit entsprechender WAN Regel. Fertisch und eine einfache Sache.
Mit einem Wireshark Sniffer kannst du selber in den ganzen Koppelnetzen der Kaskade genau sehen ob deine OVPN Pakete da von Hop zu Hop geforwardet werden. Also Profi Hardware Bastler kommt man doch auf sowas als Allererstes um zu checken das so ein Setup funktioniert wie es soll? Hast du das geprüft so??
und mir einen OPNVPN Server eingrichtet.
Nebenbei: Keine gute Idee bei der miesen Performance von OpenVPN. Besser wären zudem auch die VPN Protokolle der onboard Clients, die das deutlich besser können und dir die überflüssige Frickelei mit zusätzlichen Apps und Software auf den Endgeräten ersparen.
PfSense VPN mit L2TP (IPsec) Protokoll für mobile Nutzer
IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten
Da hab ich gegoogelt aber das ist ezwas komplizert.
Googeln ist kompliziert?? OK, wenn's daran schon scheitert wird's nicht einfach für dich...
Warum bekomme ich keine Verbindung?
Da gibt es unzählige Gründe für. In der Regel sind das fast immer fehlende Routen und fehlende Port Forwardings wenn man mit 3 oder 4fachen NAT Kaskaden arbeitet wie du oben.
Viele Laien haben nicht auf dem Radar das immer NAT im Spiel ist was ohne PFW Regeln nicht per einfachem IP Routing überwindbar ist.
Ein weitere Fehlerschwerpunkt sind falsche oder fehlende Firewall Regel. Eine FW blockt bekanntlich per se alles was nicht explizit erlaubt ist.
In diesem Fehlerdreieck wirst du dich ganz sicher bewegen. Leider sind deine o.a. technischen Angaben viel zu laienhaft und oberflächlich um hier zielführend helfen zu können ohne das es in Kristallkugelei abdriftet.
Wenn, benötigt man detailiertere weitere Infos wie das Port Forwarding und Routing, die IP Adressierung usw. eingerichtet ist. Kollege @Drohnald hat ja schon einige Ansätze genannt.
Weitere Infos zu NAT Kaskaden findest du u.a. auch HIER.
Fehmarn
Fehmarn 25.10.2022 um 20:00:46 Uhr
Goto Top
Hey danke.
Ich werde das alles mal in Ruhe versuchen.
Ich bin etwas verwirrt weil Draohnald schreibt ich muss von der Fritzbox dirkt auf die OPNSENSE gehen.
Und dann aqui - so wie ich das versuchgt habe. Aber ich muss noch mal schauen wo ich da einen Fehler habe.

Danke auf jeden fall an alle.
Drohnald
Drohnald 25.10.2022 um 20:08:05 Uhr
Goto Top
Wenn die Fritzbox eine Route zur OPNSense hat, KANNST du es direkt machen wie von mir vorgeschlagen, du musst nicht.
Kennt die Fritzbox aber nur das Netz hinter dem TPLink, dann klappt das nicht und du musst wie von aqui erklärt immer wieder die Ports weiterleiten.

Kannst ja beides mal ausprobieren.
Fehmarn
Fehmarn 26.10.2022 um 21:51:14 Uhr
Goto Top
Nabend.
Hab jetzt mal weiter geforscht - und Wireshark getestet. Also ich habe einen Mitschnitt der Fritzbox aifgenommen und in Wireshark geladen. Dort sehe ich vielleicht den Fehler.
Ich sehe dort - wenn ich vom Handy OPENVPN eine Verbindung versuche - in Wireshark:
In Rot Malformed Packet (Exception occured)
Und auch:
P_CONTROL_HARD_RESET_CLIENT_V2(Malformed Packet)
All das steht bei den OPENVPN Einträgen.
Ich habe ein Android Handy Samsung und den OPENVPN Client aus dem Google Playstore.
Wo mache ich denn einen Fehler wenn schon das alles an der Fritzbox geblockt wird?
Das ist doch geblockt oder?

Danke Euch
aqui
aqui 27.10.2022 aktualisiert um 11:35:22 Uhr
Goto Top
Malformed klingt erstmal nicht gut, denn das ist ein kaputtes IP Paket. Mit dem Rest deiner sehr spärlichen Angaben kann man leider nicht viel anfangen.
Idealerweise filterst du die Pakete mal nach UDP 1194 (sofern du mit dem OpenVPN Standardport arbeitest!) denn das selektiert erstmal rein nur den OpenVPN Traffic und postest mal einen anonymisierten Screenshot von diesem Traffic. Idealerweise indem du mal eins dieser malformed Pakets aufklappst um dessen Daten zu sehen.
Fehmarn
Fehmarn 27.10.2022 um 13:09:22 Uhr
Goto Top
Hallo,

ich habe nun mal so gut es geht "anonymisiert" face-smile

Frame 74: 136 bytes on wire (1088 bits), 136 bytes captured (1088 bits)
    Encapsulation type: Ethernet (1)
    Arrival Time: Oct 26, 2022 21:40:54.933912000 Mitteleuropäische Sommerzeit
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1666813254.933912000 seconds
    [Time delta from previous captured frame: 0.791535000 seconds]
    [Time delta from previous displayed frame: 0.968002000 seconds]
    [Time since reference or first frame: 4.127493000 seconds]
    Frame Number: 74
    Frame Length: 136 bytes (1088 bits)
    Capture Length: 136 bytes (1088 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ethertype:pppoes:ppp:ip:udp:openvpn]
    [Coloring Rule Name: UDP]
    [Coloring Rule String: udp]
Ethernet II, Src: JuniperN_XXXXXX (XXXXXXXXX), Dst: AVMAudio_XXXXXX (XXXXXXXXXXX)
    Destination: AVMAudio_XXXXXX (XXXXXXXXXX)
        Address: AVMAudio_XXXXXXXX (XXXXXXXXXXX)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: JuniperN_XXXXXXXX (XXXXXXXXXXXX)
        Address: JuniperN_XXXXXXX (XXXXXXXXXXXXXX)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: PPPoE Session (0xXXXX)
PPP-over-Ethernet Session
    0001 .... = Version: 1
    .... 0001 = Type: 1
    Code: Session Data (0x00)
    Session ID: 0xXXXX
    Payload Length: 116
Point-to-Point Protocol
    Protocol: Internet Protocol version 4 (0xXXXX)
Internet Protocol Version 4, Src: XX.XX.XX.XX, Dst: XX.XX.XX.XX
    0100 .... = Version: 4
    .... 0101 = Header Length: 20 bytes (5)
    Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
        0000 00.. = Differentiated Services Codepoint: Default (0)
        .... ..00 = Explicit Congestion Notification: Not ECN-Capable Transport (0)
    Total Length: 114
    Identification: 0xXXXX (XXXXX)
    010. .... = Flags: 0x2, Don't fragment  
        0... .... = Reserved bit: Not set
        .1.. .... = Don't fragment: Set  
        ..0. .... = More fragments: Not set
    ...0 0000 0000 0000 = Fragment Offset: 0
    Time to Live: 57
    Protocol: UDP (17)
    Header Checksum: 0xXXXX [validation disabled]
    [Header checksum status: Unverified]
    Source Address: XX.XX.XX.XX
    Destination Address: XX.XX.XX.XX
User Datagram Protocol, Src Port: 31254, Dst Port: 1194
    Source Port: 31254
    Destination Port: 1194
    Length: 94
    Checksum: 0x4cd9 [unverified]
    [Checksum Status: Unverified]
    [Stream index: 8]
    [Timestamps]
        [Time since first frame: 0.993491000 seconds]
        [Time since previous frame: 0.993491000 seconds]
    UDP payload (86 bytes)
OpenVPN Protocol
    Type: 0x38 [opcode/key_id]
        0011 1... = Opcode: P_CONTROL_HARD_RESET_CLIENT_V2 (0x07)
        .... .000 = Key ID: 0
    Session ID: XXXXXXXXXXXXXXXXXXX
    HMAC: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    Replay-Packet-ID: XXXXXXXXXXXXX
    Net Time: Aug 12, 2041 16:55:04.000000000 Mitteleuropäische Sommerzeit
    Message Packet-ID Array Length: 155
    Packet-ID Array
        Message Packet-ID Array Element: 190704574
        Message Packet-ID Array Element: 1120050874
        Message Packet-ID Array Element: 4070016196
        Message Packet-ID Array Element: 3070612566
        Message Packet-ID Array Element: 1353493514
        Message Packet-ID Array Element: 349301746
        Message Packet-ID Array Element: 852520192
        Message Packet-ID Array Element: 2073738869
        Message Packet-ID Array Element: 195958272
        Message Packet-ID Array Element: 355
        Message Packet-ID Array Element: 1502429952
        Message Packet-ID Array Element: 0
[Malformed Packet: OpenVPN]
    [Expert Info (Error/Malformed): Malformed Packet (Exception occurred)]
        [Malformed Packet (Exception occurred)]
        [Severity level: Error]
        [Group: Malformed]
aqui
aqui 27.10.2022 aktualisiert um 13:21:36 Uhr
Goto Top
Hast du das direkt mit der FritzBox gemessen??
Das wäre nicht ganz so hilfreich weil das direkt der PPPoE Frame ist.

Besser ist es wenn du den Kabelhai in die Verbindung Fritzbox--x--TPLINK_ER605 packst.
In der FritzBox ist ja Port Forwarding für UDP 1194 aktiv.
Damit hast du dann gleich ein Indiz das dein FritzBox Port Forwarding von OpenVPN aus dem Internet sauber rennt und du hast den nackten Ethernet Frame ohne PPPoE Overhead!!
Siehe dazu auch hier.
Du hast 2 Optionen das zu messen:
  • Entweder die Port Forwarding IP in der FB auf die Wireshark IP umbiegen
  • Oder Port Forwarding IP in der FB belassen und TPLINK ER605 abziehen und stattessen den Kabelhai mit gleicher IP aufstecken.
rzlbrnft
rzlbrnft 27.10.2022 aktualisiert um 13:29:02 Uhr
Goto Top
Teste doch dein VPN erst mal direkt mit OPNSense an der Fritzbox, bevor du dir noch zwei Fehlerquellen dazwischen einbaust, klingt sinnig, oder?
Für dieses Szenario gibt es in der Realität genau NULL Einsatzgebiete, das macht kein Mensch so.

Also bau doch erst mal ein funktionierendes VPN auf, und dann kannst du Spielereien dazu bauen.
Fritte an OPNSense, ESP, TCP500 und TCP4500 an die OPN Kiste weiterleiten, VPN einrichten, Einwahl testen.
Wenn es da schon scheitert, liegt der Fehler in deiner VPN Config.
Fehmarn
Fehmarn 02.11.2022 um 20:58:32 Uhr
Goto Top
Hallo,

das hatte ich ja schon so weit. Also hab ich jetzt auch wieder. Hab nun die OPNSENSE an die Fritzbix gehängt. Ich kann von unterwegs zugreifen mit VPN. Aber ich will ja noch weiter. Im Moment nur von außen über die FRITZBOX auf die OPNSENSE. Ich werde nun auch mal den VPNSERVER auf der PFSENSE installieren. Und das dann mit einer Weiterleitung von OPNSENSE an PFSENSE versuchen.
Ich hatte inzwischen Wiregard versucht - aber da bin ich schon am Anfang gescheitert weil ich nur eine IPAdresse eingeben konnte und keine DYNDNS Adresse. Also hab ich das wieder gelöscht.

Danke
aqui
Lösung aqui 03.11.2022 aktualisiert um 08:48:02 Uhr
Goto Top
Ich werde nun auch mal den VPNSERVER auf der PFSENSE installieren.
Dann beachte unbedingt das Port Forwarding auf der FB. Dieses Tutorial erklärt dir alle Details dazu und wie man das umsetzt:
IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten
Wie man den VPN Server auf der Firewall einrichtet wenn man bordeigene VPN Clients in Windows, Apple und Smartphones nutzt findest du...
für L2TP hier:
PfSense VPN mit L2TP (IPsec) Protokoll für mobile Nutzer
für IKEv2 hier:
IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten

Wenn du dann vom VPN Server den Client VPN Traffic weiterrouten willst achte auf die entsprechenden statischen Routen (und auch Rückrouten!) in den Routern die diese Netze dann transportieren!
Im Grunde ist dein Setup ein einfaches und stinknormales Routing was in max. 10 Minuten zum Fliegen zu bringen ist.

Nebenbei:
Bei Wireguard hättest du einfach deinen DynDNS Hostnamen statt der IP bei "Endpoint" eintragen müssen. Hier hast du wohl einfach nur "zu kurz" gedacht... face-wink
Siehe dazu auch HIER. Nachteil zu oben ist aber das du auf jedem Endgerät dann mit einem (überflüssigen) extra VPN Client rumfrickeln musst was das Management unnötig aufwändiger macht.