martinbln
Goto Top

Unifi-USG-Netz hinter FritzBox nicht erreichbar über S2S-VPN

Werte Foristen!

Vielleicht könnt Ihr einem unbedarftem Amateuer auf die Sprünge helfen, meine bisherigen Recherchen hier und Selbstversuche landen alle im Nirvana...

Problem:
Ich habe zwei Standorte A und B.
A: Fritzbox 7490: 192.168.99.0/24
B: Fritzbox 7490: 192.168.178.0/24, als Internet-Router, dahinter USG-3P Gateway von Unifi 192.168.1.0/24 (Fritzbox-seitig: 192.168.178.139; Seite USG-Netz: 192.168.1.1)

Die Fritten sind mittels Site-to-Site-VPN verbunden, der Zugriff zwischen dem 99er und dem 178er Netz funktioniert. Ich komme auch vom 1er Netz an Standort B ins 99er Netz an Standort A. Nur vom 99er Netz Standort A komme ich nicht ins 1er Netz an Standort B.

Ich habe versucht, mich an aquis Anleitung (aqui Silbertablett) und an der von AVM (Über VPN-Verbindung zwischen zwei FRITZ!Boxen auf mehrere IP-Netzwerke hinter einer FRITZ!Box zugreifen) zu orientieren, aber an irgendeiner Stelle bin ich auch scheinbar für Silbertablett-Anleitungen zu doof.

Route Fritzbox Standort B:
fb route

VPN cfg FB Standort A:
/*
vpncfg {
        connections {
                enabled = yes;
                conn_type = conntype_lan;
                name = "AAA";  
                always_renew = no;
                reject_not_encrypted = no;
                dont_filter_netbios = yes;
                localip = 0.0.0.0;
                local_virtualip = 0.0.0.0;
                remoteip = 0.0.0.0;
                remote_virtualip = 0.0.0.0;
		keepalive_ip = 192.168.178.1;
                remotehostname = "bbbbbbbbbb.myfritz.net";  
                localid {
                        fqdn = "aaaaaaaaaa.myfritz.net";  
                }
                remoteid {
                        fqdn = "bbbbbbbbbb.myfritz.net";  
                }
                mode = phase1_mode_aggressive;
                phase1ss = "all/all/all";  
                keytype = connkeytype_pre_shared;
                key = ":xyxyxyxyxyxyxyxyxyxy";  
                cert_do_server_auth = no;
                use_nat_t = yes;
                use_xauth = no;
                use_cfgmode = no;
                phase2localid {
                        ipnet {
                                ipaddr = 192.168.99.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2remoteid {
                        ipnet {
                                ipaddr = 192.168.178.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2ss = "esp-all-all/ah-none/comp-all/pfs";  
                accesslist = "permit ip any 192.168.178.0 255.255.255.0",  
		"permit ip any 192.168.1.0 255.255.255.0";  
        }
        ike_forward_rules = "udp 0.0.0.0:500 0.0.0.0:500",   
                            "udp 0.0.0.0:4500 0.0.0.0:4500";  
}


// EOF

VPN cfg FB Standort B:
/*

vpncfg {
        connections {
                enabled = yes;
                conn_type = conntype_lan;
                name = "BBB";  
                always_renew = no;
                reject_not_encrypted = no;
                dont_filter_netbios = yes;
                localip = 0.0.0.0;
                local_virtualip = 0.0.0.0;
                remoteip = 0.0.0.0;
                remote_virtualip = 0.0.0.0;
		keepalive_ip = 192.168.99.1;
                remotehostname = "aaaaaaaaaa.myfritz.net";  
                localid {
                        fqdn = "bbbbbbbbbb.myfritz.net";  
                }
                remoteid {
                        fqdn = "aaaaaaaaaa.myfritz.net";  
                }
                mode = phase1_mode_aggressive;
                phase1ss = "all/all/all";  
                keytype = connkeytype_pre_shared;
                key = "xyxyxyxyxyxyxyxyxyxy";  
                cert_do_server_auth = no;
                use_nat_t = yes;
                use_xauth = no;
                use_cfgmode = no;
                phase2localid {
                        ipnet {
                                ipaddr = 192.168.178.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2remoteid {
                        ipnet {
                                ipaddr = 192.168.99.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2ss = "esp-all-all/ah-none/comp-all/pfs";  
                accesslist = "permit ip any 192.168.99.0 255.255.255.0";  
        }
        ike_forward_rules = "udp 0.0.0.0:500 0.0.0.0:500",   
                            "udp 0.0.0.0:4500 0.0.0.0:4500";  
}


// EOF

Wo kann es denn da noch klemmen? Firewall der USG? Route vermurkst? Gateway an der USG anders einstellen?
Vielen Dank für Eure Hilfe!

Content-ID: 1633709648

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

Ausgedruckt am: 22.11.2024 um 00:11 Uhr

aqui
aqui 18.12.2021 aktualisiert um 15:00:44 Uhr
Goto Top
Werter Forenuser !
Die FB VPN Konfig ist generell richtig. (Siehe auch hier).
Was du aber vermutlich nicht auf dem Radar hattest, ist das deine UniFy Gurke ja mit dem WAN Port, sprich also dem heissen Port, an dem die Firewall und (vermutlich) auch NAT aktiv ist, am FritzBox LAN kaskadiert wie z.B. HIER beschrieben.
Mit anderen Worten: Der FW WAN Port der dahinter kaskadierten Firewall lässt keinerlei eingehende IP Verbindungen zu. Für ihn ist das .178.0er Netz (und auch das per VPN gekoppelte .99.0er) der davor kaskadierten FritzBox ja das böse Internet vor dem es das eigene .1.0er Netz ja zu schützen gilt. Der tiefere Sinn der USG...
Du musst hier also dein FW Regelwerk und das NAT entsprechend im Setup anpassen das diese Pakete passieren dürfen ! Tust du das nicht bleibt dieser, wie zu erwarten, an der Firewall hängen.

Viel sinnvoller wäre es an Standort B nicht die FB zu nutzen sondern das IPsec VPN von Standort A mit Port Forwarding auf die Firewall zu leiten und dort zu terminieren.
Die FritzBox macht ein stinknormales IPsec VPN mit IKEv1 auf was auch jede Firewall supportet. Damit entfällt dann die gesamte Problematik von oben.
https://community.ui.com/questions/Site-to-Site-VPN-with-AVM-FritzBox-fi ...
https://novag.github.io/posts/site-to-site-vpn-usg-fritzbox/
bzw. auch bei anderen FWs:
PFsense VPN tunnel zur FritzBox 7390 (IPSec)
Fritzbox 7590 x opnsense
Fritz!Box VPN Mikrotik als VPN Client
usw. usw.
martinbln
martinbln 18.12.2021 um 15:48:32 Uhr
Goto Top
Wow, das ging ja flott, Dankeschön! face-smile Ich verzweifelte hier schon.
Gucke ich mir am Montag vor Ort an, meine Remote-Desktop ist gerade leider abgeschmiert, jetzt komme ich nicht mehr an den Unifi-Controller.

So erstmal in der FB vor dem USG?
fb ports
fb ports2

Den VPN-Zugang habe ich aus zwei Gründen auf die FB eingerichtet und nicht direkt auf das USG:
-Einfacher Zugriff auf die FB, die bspw. noch Telefonie abwickelt.
-Im Netz hinter dem USG steht ein Konnektor, der nur Anfragen aus dem selben IP-Bereich akzeptiert. Das hätte ich dann ja dank NAT sichergestellt, oder? Bei VPN auf den USG käme ich aus einem anderen Netzbereich, richtig?
aqui
aqui 18.12.2021 aktualisiert um 16:37:50 Uhr
Goto Top
Den VPN-Zugang habe ich aus zwei Gründen auf die FB eingerichtet
Und warum hast du dann völlig unsinnigerweise die VPN Ports auf die FW geforwardet ? Das wäre dann ja Quatsch wenn die FritzBox das VPN bedient. Das ist oben also falsch, denn wenn du das VPN auf der FB bedients ist das Forwarden der VPN Ports ja absolut sinnfrei, da funktionslos.
Bei VPN auf den USG käme ich aus einem anderen Netzbereich, richtig?
Nein ! Denke mal bitte selber etwas nach. face-wink
Deine Absender IP ist ja immer eine .99.x IP wenn du aus dem remoten IP Netz kommst. Ob du den VPN Tunnel nun auf der FB oder der UBQT Gurke terminierst ist dabei doch vollkommen Wumpe. Damit ändert sich ja deine Absender IP nicht. Wie auch...denn der Absender ist ja nun mal im .99.0er IP Netz.
Übrigens auch wenn du das VPN auf der Firewall terminierst kannst du trotzdem auch immer das WebGUI der davor liegenden FritzBox erreichen. Für die USG Firewall ist das ja nichts weiter als eine externe Webseite wie alle anderen auch.
Das Setup würde dir so zumindestens das FW Regelwerk massiv erleichtern bzw. ganz obsolet machen. Wenn du auf der FritzBox terminierst musst du alles was ins .1.0er Netz will einmal per Port Forwarding dort eintragen um das NAT zu überwinden und auch zusätzlich noch im Firewall Regelwerk erlauben.
Wenn du das so machst, dann solltest du zumindestens das NAT auf der USG deaktivieren um wenigstens dann alle Dienste im VPN Netz transparent erreichen zu können. Mit aktivem NAT auf der USG ist das nur sehr eingeschränkt möglich.
Siehe dazu auch hier.
Andersrum wäre es deutlich einfacher und flexibler.
Beide Lösungen sind aber machbar.
martinbln
martinbln 18.12.2021 um 17:14:47 Uhr
Goto Top
Und warum hast du dann völlig unsinnigerweise die VPN Ports auf die FW geforwardet ?
Dieses Bild hatte ich so verstanden, war dann wohl falsch gedacht?
1ded0602d11f28763ba7b7f3cf57f4ce

Nein ! Denke mal bitte selber etwas nach. face-wink face-wink
Ich versuche ja zu denken, aber scheinbar reicht das nicht, schade eigentlich ;)

Ich versuche nochmal zu beschreiben, was ich eigtl erreichen will, vielleicht macht's das einfacher.
Ich will an beiden Standorten drucken können und gelegentlich Dateifreigaben nutzen. Außerdem will ich die Telefonnummern der Fritzbox B auch an Standort A nutzen. Genau das habe ich bisher mit dem sehr einfachen Setup (S2S-VPN zwischen den beiden FB) bewerkstelligt.
Jetzt habe ich die WLAN-Reichweite/-verfügbarkeit dank Unifi AP AC Pro am Standort B verbessert und der USG soll zukünftig das dahinter liegende Netz besser schützen, zB mittels vernünftig konfigurierter Firewall. Das kann dann gerne ein Profi machen, aber ich würde gerne schon vorab ein einigermaßen funktionales Setup haben.
Wäre also die Frage, welches Design diesen Anforderungen am besten genügt? Telefonie muss erhalten bleiben (das ist nun mal alles auf der Fritte eingerichtet) und der Konnektor im Netz am Standort B hinter dem USG soll auch erreichbar sein, will aber eben nur Anfragen aus seinem IP-Bereich akzeptieren. Ich hatte gedacht, letzteres würde ich dank NAT sicherstellen?
Sorry, mein erster Satz mit unbedarfter Amateur war nicht ganz grundlos... Bitte reden Sie langsam face-smile
orcape
orcape 19.12.2021 um 10:53:23 Uhr
Goto Top
Dieses Bild hatte ich so verstanden, war dann wohl falsch gedacht?
Du hast den VPN-Tunnel auf der Fritzbox terminiert, im Bild als NAT-Router bezeichnet.
Dein "USG-3P Gateway von Unifi" wäre im Bild dann vergleichbar mit der pfSense-Firewall.
Da der Tunnel auf der Fritzbox terminiert ist, erklärt sich auch die Unsinnigkeit des Portforwardings dort.
aqui
aqui 19.12.2021 aktualisiert um 11:23:39 Uhr
Goto Top
Dieses Bild hatte ich so verstanden, war dann wohl falsch gedacht?
Kollege @orcape hat es oben ja schon gesagt. Ja, falsch gedacht, denn du terminierst das VPN ja auf dem ersten Router und NICHT, wie im Bild oben gezeigt, auf der dahinter kaskadierten Firewall. Logischerweise entfällt damit dann natürlich auch das Port Forwarding ! Sinnfrei, denn der Router hat ja somit gar nichts mehr zum Port Forwarden.
Fazit:
Falsch gedacht, da nicht nachgedacht ! 🧐
martinbln
martinbln 20.12.2021 um 21:42:48 Uhr
Goto Top
Danke für die Erklärung, das habe ich dann jetzt auch kapiert bzgl. sinnfreiem port forwarding von oben face-smile
Ich hab's aber leider immer noch nicht hinbekommen, das netz hinter der usg per pin zu erreichen.
Was ich versucht habe:
S2S VPN zwischen den FB funktioniert.
Route auf FB B wie oben schon gezeigt.
Die unsinnigen Portweiterleitungen gelöscht.
Das NAT am Unifi USG abgeschaltet (weiß jemand, wie ich am unifi prüfen kann, ob der das auch wirklich gefressen hat?)
FW Regel eingerichtet am USG (ip4 regel am wan):
1

Ergebnis:
2

Mmmh. Und nu? Wo habe ich Mist gebaut?
aqui
aqui 21.12.2021 aktualisiert um 10:57:19 Uhr
Goto Top
Das NAT am Unifi USG abgeschaltet
Das ist aber dann nur die halbe Miete, denn du musst an der USG auch eine Default Route auf die FritzBox einstellen ! (Siehe Routing Tutorial oben !)
FW Regel eingerichtet am USG
Diese Regel ist doch völliger Quatsch. Siehst du doch auch selber. Dort steht Source=LAN und Destination=LAN. Sprich also Source und Destination sind GLEICH. Das ist natürlich unsinnig.
Source, also Absender IP Adresse der Clients, ist ja immer das IP Netz der FritzBox A, sprich also .99.0 /24 und niemals das eigene LAN Netz was ja das Ziel (Destination) ist !
Wenn also, dann müsste dort eine IP Netz Definition für das Fritz A Netz eingerichtet sein 192.168.99.0 /24 und im Regelwerk stehen also Source=192.168.99.0 /24 und Destination=LAN stehen. Das sagt einem doch schon der gesunde Menschenverstand.
Vielleicht solltest du dir mal einen Wireshark Sniffer zur Hand nehmen und dir mal so eine einfache Ping Kommunikation mal Live ansehen damit die die einfache Source und Destination IP Adress Logik einmal verstehst ?!
martinbln
martinbln 21.12.2021 um 14:45:00 Uhr
Goto Top
Yeap, das hatte ich dann auch heute Morgen rausbekommen, das die FW-Regel so keinen Sinn macht. Shame on me. Geändert - und siehe da: kaum macht man's richtig, schon funktioniert's face-smile
Toll! Jetzt habe ich vom Prinzip erstmal alles. Mit Doppel-NAT an der Router-Kaskade und FW-Regeln und fester Route auf FB B. Wer sagt's denn. Vielen Dank für Euren Support! War sehr hilfreich, ist halt nicht mein täglich Brot...
Einzige Frage die jetzt noch neu auftaucht: wie kann ich denn bestimmte IP-Bereiche am Standort A in den VPN-Tunnel zum Netz hinter der USB leiten? Also zB www.spiegel.de soll nicht über FB A im Internet landen, sondern im Netz hinter der USG. Geht das mit der Fritte? Oder muss ich dann sämtliches DNS umlenken, damit der gesamte Internetverkehr über die entfernten Netze geht?
aqui
aqui 21.12.2021 aktualisiert um 18:50:00 Uhr
Goto Top
wie kann ich denn bestimmte IP-Bereiche am Standort A in den VPN-Tunnel zum Netz hinter der USB leiten? Geht das mit der Fritte?
Ja, natürlich !
Das machst du genau wie du das schon für dein .178.0 und dein .1.0er Netz gemacht hast ganz einfach mit einem oder mehreren weiteren "permit ip any 192.168.x.0 255.255.255.0"; Einträgen !
Siehe auch HIER !
Du kannst dort auch etwas mit der Subnetzmaske spielen. Ein permit ip any 192.168.0.0 255.255.0.0"; routet dir mit nur einem Eintrag z.B. ALLE 192.168er IP Netze in den VPN Tunnel statt mehrer Einzeleinträge (was auch ginge). Das ist die Phase 2 bei IPsec. Dieser Thread behandelt das gleiche Thema.
Mit DNS hat das übrigens nicht das Geringste zu tun. Ganz andere Baustelle !
martinbln
martinbln 22.12.2021 um 10:42:54 Uhr
Goto Top
Super! You made my day face-smile Alles läuft wie gewünscht! Vielen Dank nochmal für die wertvolle Unterstützung!
aqui
aqui 22.12.2021 um 11:00:23 Uhr
Goto Top
Immer gerne ! 🙂