IPsec site to site mit 3 Netzen

Started by CoolTux, October 23, 2022, 11:21:23 AM

Previous topic - Next topic
Hallo Leute,

Ich habe eine OPNsense in einem Hetzner Netz, dazu 2 Fritzboxen.

Hetzner 10.6.0.0/16
FritzA 192.168.0.0/24
FritzB 10.100.0.0/27

FritzA und FritzB sind beide mit Hetzner verbunden. Ich kann aus FritzA und FritzB jeweils alle Server in Hetzner anpingen und ich kann aus Hetzner raus alle Server in FritzA und FritzB anpingen.


So nun zu 2 Problemen

1. Aus dem Netz FritzA erreiche ich eine DNS Anfrage im Hetzner Netz (also den DNS Server 10.6.6.1), aus FritzB erreiche ich diese DNS Anfrage nicht (keine Antwort von 10.6.6.1) obwohl beide Fritz Netze per FW Rules es dürften

2. Ich komme aus FritzA nicht ins FritzB, was sicherlich so gewollt ist. Aber wie kann ich das machen das es doch klappt?


DNS wäre aber erstmal vorrangig.
Anbei noch Screens von der FW

Keiner eine Idee?

Das Thema mit den Zugriff von FritzA zu FritzB scheint wohl ein Routing Thema zu sein. Frage ist nur wie genau.

Aber das mit dem Nameserver ist echt suspekt

10.6.6.1 steht hinter der Hetzner OPNsense und ist erreichbar von A aber nicht B? Was sagen denn die Regeln dazu? Müsste ja wenn die beiden Tunnel sauber aufgebaut sind beide Netze Remote auf 10.6.x.y/16 Zugriff haben? Was für ein DNS ist das?`Der der Sense? Wenn ja ist das Unbound? Sind die ACLs dafür korrekt konfiguriert, dass die Remote Netze darauf zugreifen dürfen? etc. etc.

Ohne Regeln und mehr Details wirds beim DNS schwierig :)

Was die Site2Host2Site Verbindung angeht - wird schwierig. Das Problem ist dass die Fritzboxen mit Verlaub Mist sind. Sagt AVM unter der Hand auch. Zusammengedummte UI für Wenignutzer. Daher können die Boxen nur eine Phase 2 und die ist aufgebaut. Wenn du aber von A nach B willst über C, dann müssten beide Boxen eine zweite Phase 2 aufbauen mit dem Remotenetz der anderen Seite drin. Also bspw.

FritzA 192.168.0.0/24  <->  FritzB 10.100.0.0/27
und
FritzB 10.100.0.0/27  <-> FritzA 192.168.0.0/24

damit IPsec den Traffic aufnehmen und korrekt ins VPN schicken kann. Ansonten weiß Seite A mit 10.100.x nichts anzufangen und Seite B kennt 192.168.y nicht.

Man könnte vielleicht(!) was Basteln mit dem 10.6er Netz. Wenn aus dem Subnetz bei Hetzner nicht alles schon aufgeteilt und vergeben ist, könnte man zwei /24er davon abzweigen und vllt. als "1:1 NAT" für die jeweilige Seite mißbrauchen.

Also bspw.
FritzA 192.168.0.0/24  <->  10.6.255.0/24
FritzB 10.100.0.0/27    <->  10.6.254.0/27

Dann müsste man auf der OPNsense "nur"(?) den Stunt hinbekommen, dass eingehend auf dem IPsec Interface 1:1 geNATtet wird wenn die andere Seite erreicht werden will.

Sprich: du würdest dann auf Seite A mit 10.6.254.1 sprechen wenn du eigentlich 10.100.0.1 auf B erreichen willst. Umgekehrt von B würdest du 10.6.255.1 anreden, was dann zu hetzner läuft und von da 1:1 geNATtet wird auf 192.168.0.1. Da also beide Seiten ihren Kram jeweils auf 10.6.y.x umschreiben würde alles immer dank der 10.6.0.0/16er Route zu Hetzner laufen und dort dann durch 1:1 Subnetz NAT zur anderen Seite.

Das wäre aber ziemlich gebastelt und selbst mit zusätzlicher IPsec policy phase bin ich mir gerade unsicher ob es tatsächlich funktionieren würde.

Cheers
"It doesn't work!" is no valid error description! - Don't forget to [applaud] those offering time & brainpower to help you!
Better have some *sense as no(n)sense! ;)

If you're interested in german-speaking business support, feel free to reach out via PM.

Hallo Jens,

Danke erstmal für Deine Antwort.
Tatsächlich meine ich das FritzA nicht zu FritzB kommt.
Also wenn ich im Netz von FritzA sitze und eine Verbindung zu einem Rechner im Netz FritzB aufbauen möchte dann geht das nicht.

Bei der VPN Konfiguration der Fritzboxen habe ich bereits eigene Konfigurationsdateien verwendet. Kann ich hier nicht eine Phase2 einbauen?


Ja ich verwende unbound als DNS und komischer Weise funktioniert der Zugriff auf den DNS vom 192.168.x.x er Netz wunderbar. Nur aus dem 10.100.x.xer Netz kann ich einfach nicht auf den DNS Zugreifen. Unter Rules habe ich für DNS eine Floating Rule welche das Zugriff auf den ubound DNS Service der FW aus PrivatenAdressbereichen erlaubt.



Grüße
Marko

Ich sehe gerade das ich bereits phase 2 für die VPN Fritzbox Konfig verwende


vpncfg {
        connections {
                enabled = yes;
                conn_type = conntype_lan;
                name = "VPN zu opnsense";
                always_renew = yes;
                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;
                remotehostname = "sevrer.bla.blub";
                localid {
                        fqdn = "DynDerFritz";
                }
                remoteid {
                        fqdn = "server.bla.blub";
                }
                mode = phase1_mode_aggressive;
                phase1ss = "ganzsicherpryptopercipheroderso"; 
                keytype = jajasicherkeytyp;
                key = "jolangerkeyistvorhanden"; 
                cert_do_server_auth = no;
                use_nat_t = no; 
                use_xauth = no;
                use_cfgmode = no;
                phase2localid {
                        ipnet {
                                ipaddr = 192.168.240.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2remoteid {
                        ipnet {
                                ipaddr = 10.6.0.0;
                                mask = 255.255.0.0;
                        }
                }
                phase2ss = "vieleschlüsseltotalsicher";
                accesslist = "permit ip any 10.6.0.0 255.255.0.0";
                dns_domains = "mydomain";
        }
        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";
}

So das Problem mit dem DNs Unbound konnte ich lösen. Es gab im Unbound Sektion eine AccessList für IPSec wo ich das neue Netz noch eintragen musste.

> Bei der VPN Konfiguration der Fritzboxen habe ich bereits eigene Konfigurationsdateien verwendet. Kann ich hier nicht eine Phase2 einbauen?

Das hast du mißverstanden oder falsch gelesen. Jedes IPsec VPN besteht aus Tunneldefinition (Phase 1) und Netzdefinitionen (Phase 2). Du bräuchtest aber eine ZWEITE Phase 2, wie man das eben überall sonst machen kann - bis auf FritzBoxen, die davon nichts wissen wollen. Wie du nämlich schon siehst, gibt es nur einen Connections Block in der Config und der hat nur eine phase2localid / phase2remoteid. Du bräuchtest davon aber welche mit mehreren ipnet Blöcken und soweit mir bekannt ist kann das die Fritze nicht, zumal dann auch noch die accesslist angepasst werden müsste, die IMHO auch keine mehreren Netze kann.

Cheers
"It doesn't work!" is no valid error description! - Don't forget to [applaud] those offering time & brainpower to help you!
Better have some *sense as no(n)sense! ;)

If you're interested in german-speaking business support, feel free to reach out via PM.

Du kannst einem echt jegliche Hoffnung rauben. Lach.
Zu mindest bei der AccessList habe ich die Möglichkeit hier mehrere ein zu tragen. Ob das ausgewertet wird kann ich noch nicht sagen. Muss ich noch testen.



accesslist = "permit ip any 10.6.0.0 255.255.0.0",
             "permit ip any 10.100.0.0 255.255.255.224";


So soll das wohl angeblich gehen.

Ich bleibe am Thema dran und werde die Tage berichten.

OK das wäre dann mal wieder unknown/undocumented AVM hack den wie das Cipher Setup manuell (was wir schon durchgespielt haben) keiner wirklich kennt und was je nach Box mal geht und mal nicht ;) Manche Kisten laufen, wenn man manuell über die Config "main mode" und sowas wie IKE2/AES/SHA512/DH14 pusht, andere laufen dann - es ist echt ein Würfelspiel. Daher auch: wird schwer ;)

Ansonsten könnte mans wie gesagt nur mit 1:1 NAT über die Tunnel vielleicht versuchen. Nur dass das Netz beim 1:1 nicht das eigene, sondern das Remote Netz der zweiten Box ist. Aber das wird dann schon sehr esoterisch ;)
"It doesn't work!" is no valid error description! - Don't forget to [applaud] those offering time & brainpower to help you!
Better have some *sense as no(n)sense! ;)

If you're interested in german-speaking business support, feel free to reach out via PM.

Leider hat das nicht so geklappt. Am besten ist wohl man macht ein großes Netz über alle 3 Standorte.

Habe es jetzt anders gelöst. Habe ein Jumphost Server der aus dem Hetzner Netz in beide Fritzboxnetzte kommt. Der Jumphost macht http/s Proxyforwarding und SSH forwarding das reicht mir erstmal aus. So komme ich auf die Dienste von FitzboxB aus FritzboxA Netz.