Verbindung zwischen IPSec und OpenVPN n2n ermöglichen

Das schwierige Thema VPN!
Post Reply
ChrisK
Posts: 86
Joined: November 10th, 2014, 7:19 am

Verbindung zwischen IPSec und OpenVPN n2n ermöglichen

Post by ChrisK » August 27th, 2019, 1:28 pm

Hallo,

ich stehe vor folgendem Rätsel:

Ich habe einen n2n-Tunnel per IPSec und einen per OpenVPN. Beide Tunnel funktionieren für sich alleine über das "grüne" Interface einwandfrei.
Nun möchte ich Zugriff aus dem OpenVPN-Tunnel auf das Netz vom IPSec-Tunnel zulassen. Nur das bekomme ich einfach nicht zum laufen.
Ich habe dazu auf dem IPFire (Gegenseite) eine statische Route zum IPSec-Zielnetz eingetragen und als Gateway die interne OpenVPN-Tunnel IP.
Soweit klappt das auch, allerdings behauptet der "Ziel"-IPFire auf dem die beiden Tunnel eingerichtet sind, er kenne das Netzwerk nicht:

[root@ipfire ~]# ping 172.20.1.1
PING 172.20.1.1 (172.20.1.1) 56(84) bytes of data.
From 10.0.13.1 icmp_seq=1 Destination Net Unreachable
From 10.0.13.1 icmp_seq=2 Destination Net Unreachable
From 10.0.13.1 icmp_seq=3 Destination Net Unreachable

Eintracepath läuft sich auch tot:
[root@ipfire ~]# tracepath 172.20.1.1
1?: [LOCALHOST] pmtu 1500
1: 10.0.13.1 34.571ms
1: 10.0.13.1 34.987ms
2: 10.0.13.1 35.274ms !N
Resume: pmtu 1500

Dabei ist genau dieses Netzwerk (172.20.0.0/16) per IPSec n2n verbunden. Die 10.0.13.1 ist die Tunnel-IP des o.g. IPFire mit den zwei Netzen.

Was muss man noch machen, damit sich diesen beiden n2n Verbindungen "sehen" können?

Vielen Dank! :)

fredym
Posts: 536
Joined: November 14th, 2016, 2:45 pm

Re: Verbindung zwischen IPSec und OpenVPN n2n ermöglichen

Post by fredym » August 27th, 2019, 3:04 pm

Hallo
IPSec muß dein (neues) Zielnetzwerk auch kennen ! (setup)

Fred

ChrisK
Posts: 86
Joined: November 10th, 2014, 7:19 am

Re: Verbindung zwischen IPSec und OpenVPN n2n ermöglichen

Post by ChrisK » August 27th, 2019, 3:12 pm

Hallo Fred,

erstmal Danke für deine Antwort.

Ich habe natürlich ein Source-NAT eingerichtet damit die Zugriffe aus dem OpenVPN-n2n mit dem lokalen Netzwerk beim IPSec-Tunnel auch matchen. Aber das bringt augenscheinlich nix...
Was genau meinst du mit (setup)? Ein paar mehr Details bräuchte ich dann doch :-)

Danke und VG

PS: Ist das überhaupt möglich mit dem IPFire oder spricht irgend etwas architektonisches dagegen dass Daten zwischen OpenVPN n2n und IPSec n2n ausgetauscht werden können? Hat überhaupt jemand das schon mal zum laufen bekommen?
Wenn nicht, wäre das auch kein Beinbruch. Ich würde mir dann nur eine klare Aussage wünschen damit ich mich nach einer Alternativlösung umsehen kann.

fredym
Posts: 536
Joined: November 14th, 2016, 2:45 pm

Re: Verbindung zwischen IPSec und OpenVPN n2n ermöglichen

Post by fredym » August 28th, 2019, 6:51 am

ChrisK wrote:
August 27th, 2019, 3:12 pm
Hallo Fred,

erstmal Danke für deine Antwort.

Ich habe natürlich ein Source-NAT eingerichtet damit die Zugriffe aus dem OpenVPN-n2n mit dem lokalen Netzwerk beim IPSec-Tunnel auch matchen. Aber das bringt augenscheinlich nix...
Was genau meinst du mit (setup)? Ein paar mehr Details bräuchte ich dann doch :-)

Danke und VG
1. setup = Grundeinrichtung
2. du mußt im Setup angeben, für welche Netze dein IPSec Tunnel zuständig ist.
IPSec hat ja nun kein extra Tunneldevice sondern wird vom Kernel behandelt und der sollte wissen, was in den "Tunnel geworfen wird" und was woanders hin. (solbal ich gerouted schreibe...gibt es mindesten einen, der nach dem [nicht vorhandenen ] Routeneintrag sucht ;-)

Ansonsten... wenn man kann, geschickte Netzwahl kann viel Arbeit sparen (Hinweise auch zum IPSec setup lesen).

Fred
ps: da war doch vor kurzem ein Thread zu einem ähnlichen Thema hier.

DJ-Melo
Posts: 678
Joined: July 8th, 2014, 7:12 am

Re: Verbindung zwischen IPSec und OpenVPN n2n ermöglichen

Post by DJ-Melo » August 28th, 2019, 7:03 am


ChrisK
Posts: 86
Joined: November 10th, 2014, 7:19 am

Re: Verbindung zwischen IPSec und OpenVPN n2n ermöglichen

Post by ChrisK » August 28th, 2019, 7:18 am

@Fred:
Danke nochmal für die Antwort.
Den Ansatz mit der Erweiterung der Zielnetze im IPSec-Tunnel habe ich verstanden, nur kann ich das so nicht umsetzen. Die Gegenstelle kann nur das bisherige Subnetz bei uns adressieren, mehr geht nicht.
Deswegen kam mir die Idee mit dem Source-NAT auf die "grüne" Schnittstelle. Ich hätte erwartet, dass es damit funktioniert. Wie es scheint, reicht das aber noch nicht damit der Traffic aus dem OpenVPN-Netz beim IPSec Tunnel landet.
Wie bereits geschrieben, es fliegt ein "Destination Net Unreachable" was mich zu der Vermutung bring dass das Problem ist dass IPSec = Kernel und OpenVPN = Userland ist, richtig?
Kann man da "von Außen" per IPTables überhaupt was machen? Oder gehts das prinzipiell nicht?

@DJ-Melo:
Danke, das schaue ich mir mal an!

ChrisK
Posts: 86
Joined: November 10th, 2014, 7:19 am

Re: Verbindung zwischen IPSec und OpenVPN n2n ermöglichen

Post by ChrisK » August 28th, 2019, 7:48 am

Ok, ich habe eine HALBE Lösung:

Wenn man wie hier beschrieben (iptables -F IPSECBLOCK) den IPSECBLOCK aus den IPTables rausnimmt, klappt es in Kombination mit einen SNAT.
Allerdings ist das ja keine optimale Lösung. M.E. nach müsste der IPFire beim Einrichten eines SNAT-Eintrag mit Ziel IPSec-Netzwerk automatisch eine Ausnahme für dieses Netz in den IPSECBLOCK eintragen. Denn ansonsten ist ein SNAT mit Ziel IPSec-Netzwerk im Moment sinnlos.

Solange dies nicht umgesetzt ist, könnte man sich ja mit einer manuellen Ausnahme in den CUSTOM-Rules abhelfen - nur wie genau müsste die aussehen? Und kann man mit CUSTOM-Rules den IPSECBLOCK überhaupt "aushebeln"?

fredym
Posts: 536
Joined: November 14th, 2016, 2:45 pm

Re: Verbindung zwischen IPSec und OpenVPN n2n ermöglichen

Post by fredym » August 28th, 2019, 3:12 pm

Hallo,
NAT heisst eigentlich immer ... es geht nur in eine Richtung! (NAT versteckt ein Netz hinter einer IP ..wenn das der Plan ist?!)

Firewallregeln.. siehe man-pages iptables und beachte einfach die Reihenfolge !

Die GUI kann eigentlich nur "Standard" nicht so was "Ausgefallenes", wie du willst ;-)

Fred

ChrisK
Posts: 86
Joined: November 10th, 2014, 7:19 am

Re: Verbindung zwischen IPSec und OpenVPN n2n ermöglichen

Post by ChrisK » August 28th, 2019, 5:16 pm

Hallo Fred,

Danke, ich weiß was SNAT ist und wie es funktioniert. Und es reicht dass der "Absender" maskiert wird, denn damit passen die Pakete in das vom IPSec gemappte Netzwerk.
Die Ursache warum das nicht geht ist geklärt. Es liegt scheinbar an einer Änderung die mit Core 95 kam (siehe "Reject rules when a tunnel is not established" hier: https://blog.ipfire.org/post/ipfire-2-1 ... 5-released).
Wie es scheint, werden dann auch fälschlicherweise Pakete rejectet die via SNAT von anderen Schnittstellen kommen.
Mit "iptables -F IPSECBLOCK" löscht man die gesamte Chain die durch die Codeänderung dazugekommen ist. Dann funktioniert das SNAT wieder. Nur das ist ja leider eine sehr unelegante Lösung und degradiert ja auch die Sicherheit.
Die man-pages von IPTables bringen mir nicht viel, da dort natürlich nicht die Chains vom IPFire erklärt werden. Das kann nur einer der Entwickler beantworten, denke ich.
Ich finde nicht, dass ein SNAT zwischen zwei Netzen etwas ausgefallenes ist. Normalerweise reichen die Einstellmöglichkeiten der GUI vollens aus dafür. Wie gesagt, meines Erachtens nach ist da was "broken".

Post Reply