fenris14
Goto Top

PfSense: NAT vor IPSEC?

Guten Tag,

mal ne kleine Frage. Ich versuche folgendes umzusetzen:

Client hinter einer pfSense => Soll Anfrage an virtuelle IP senden => diese wiederum soll auf einen anderen Rechner hinter einem IPSEC-Tunnel verweisen.

Ich bin mir nicht sicher, aber das Verfahren heißt glaube ich NAT before IPSEC?

Also nochmal vereinfacht:

Rechner1 10.10.0.10 => virtuelle IP 10.20.0.10 => IPSEC-Tunnel => Rechner2 10.30.0.10

Eine virtuelle IP zu erstellen ist kein Problem, aber wie bekomme ich das hin? NAT 1:1 oder Outbound NAT?

Ich denke das schwierige an der ganzen Sache ist, das dies auf der pfSense konfiguriert werden soll, anstatt auf dem gegenüberliegenden Endpoint... den dann wäre es etwas einfacher. Leider ist dies aber nicht möglich (nicht wegen Inkompetenz, sondern weil man einfach keinen Zugriff drauf hat).

Kann mir da jemand helfen?

Gruß

Content-Key: 281635

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

Printed on: April 25, 2024 at 03:04 o'clock

Member: aqui
aqui Aug 31, 2015 updated at 16:00:02 (UTC)
Goto Top
aber das Verfahren heißt glaube ich NAT before IPSEC?
Von NAT steht aber oben gar nichts bei dir ! Fragt sich dann also ob du NAT machst.
Auch solltest du mal klären WAS genau nach deinen Vorstellungen eine "virtuelle IP" ist ??
  • Ist das eine IP auf einer VM ? Oder wo oder was ist die.
  • Liegt sie im lokalen LAN Segment oder in einem anderen IP Segment ?
Ich denke das schwierige an der ganzen Sache ist, das dies auf der pfSense konfiguriert werden soll
Nein, wenn man weiss was man macht...oder machen soll, ist das ne Sache von 4 Mausklicks in 3 Minuten.
Generell sind NAT und IPsec 2 unterschiedliche Baustellen die nichts miteineander zu tune haben. Deshalb gibt es auch kein "Verfahren". Ob du vor oder hinter dem Tunnel oder wo auch immer NAT machst ist rein einenFrage der Konfiguration.
Dein Konstrukt bzw. dein Ziel ist nicht so ganz klar.
Man versteht es so das du die Absender Client IP mit 1:1 NAT umsetzen willst über einen IPsec Tunnel.
Sprich ein Ziel am Ende des IPsec Tunnel soll einen Maschine "sehen" die eine bestimmte IP hat die aber nicht die originale Client IP ist.
Ist das so richtig ?
Mitglied: 108012
108012 Aug 31, 2015 at 17:04:13 (UTC)
Goto Top
Hallo,

@aqui hat ja schon fast alles abgefackelt, aber eines noch von mir dazu;

Wenn man NAT macht und sich dann via VPN mit der pfSense verbindet, kann man in der Regel
auf das gesamte Netzwerk dahinter zugreifen. oder aber man setzt Routen auf die Bereiche auf die
zugegriffen werden soll.

Gruß
Dobby
Member: Fenris14
Fenris14 Aug 31, 2015 updated at 20:10:10 (UTC)
Goto Top
@aqui: Ja genau das meine ich. face-smile

Ich meinte mit virtueller IP den Menü-Punkt unter "Firewall", wo man IP-Adressen konfigurieren kann auf die die pfSense "antworten" soll.
Member: Fenris14
Fenris14 Sep 01, 2015 at 07:48:53 (UTC)
Goto Top
@108012: Ich hätte vielleicht erwähnen sollen das es sich nicht um einen "Mobile Client" handelt, sondern um ein Site-2-Site VPN.

Also soll ich eine Route erstellen, um dem Client auf meiner Seite zu sagen das er das gesuchte Ziel hinter dem VPN-Tunnel findet?
Member: aqui
aqui Sep 01, 2015 at 08:07:57 (UTC)
Goto Top
Die Route muss auf dem Client immer erstellt werden wenn er das IP Netz nicht kennt in dem diese virtuelle IP ist. Ist ja auch klar, wie sollte er sonst Traffic für diese Ziel IP in den Tunnel senden ?
Am besten ist man checkt die Routing Tabelle des Clients immer mit route print wenn der Client ein aktiven VPN Tunnel aufgebaut hat.
Dann kann man sofort sehen welche IP Netze über den VPN Tunnel sprich das VPN Interface geroutet werden und welche nicht und das entsprechend anpassen.
Eigentlich ganz einfach...
Member: Fenris14
Fenris14 Sep 01, 2015 updated at 08:46:31 (UTC)
Goto Top
Ich habe eine Route auf demClient mit dem zu erreichenden Netzwerk bereits an die pfSense erstellt. Jetzt müsste ich doch auf der pfSense konfigurieren was mit dieser Anfrage passieren soll. Also müsste ich doch jetzt per Nat eine Übersetzung konfigurieren, das er auf die originale IP in das originale Netz kommt, oder?

Nochmals ein Beispiel:

Subnetz der pfSense 192.168.100.0/24
Rechner in diesem Subnetz 192.168.100.2
|
Stellt Anfrage an bspw. 10.20.0.0/24 (die auf der Pfsense als "Virtual IP" konfiguriert ist)
|
PFsense 192.168.100.1
|
IPSEC-Tunnel
|
Cisco 192.168.1.1
|
und soll somit schließlich einen Rechner im Subnetz 192.168.1.0/24 ereichen
|
Zum Beispiel 192.168.1.2


Jetzt ist die Frage: Mit was wird dieses Problem gelöst? NAT? Statische Route?

Edit: Die Route des Clients 192.168.100.2 würde demnach folgendermaßen geaddet werden - route add 10.20.0.0 mask 255.255.255.0 192.168.100.1 - Richtig?
Member: aqui
aqui Sep 01, 2015 at 09:28:23 (UTC)
Goto Top
ch habe eine Route auf demClient mit dem zu erreichenden Netzwerk bereits an die pfSense erstellt.
Sorry, aber das ist technischer Blödsinn. Wie soll den einen Client Route wirken wenn diese nicht auf dem Client konfiguriert ist ?
Oder hast du gedacht das diese Route dynmaisch beim VPN Dialin auf den Client übergeht. Das könnte sein, ist aber unwahrscheinlich, da das eine völlig am Routing unbeteiligte IP ist und die auch auf keinem Interface vergeben ist.
Sehr fraglich also das die dynamisch auf den Client gepusht wird.
Aaaaber...das kannst du ja wasserdicht kontrollieren. Um es nochmal zu wiederholen....
Du checkst die aktuelle Routing Tabelle des Clients immer mit route print wenn der Client einen aktiven VPN Tunnel aufgebaut hat !!

WAS also ergibt dieser Output ??
Kannst du das IP Netz der virtuellen IP in der Client Routing Tabelle sehen ??
Und....ist als next Hop das VPN Tunnelinterface dort angegeben ?
Das ist die zentrale Frage die zu beantworten ist !
Stellt Anfrage an bspw. 10.20.0.0/24 (die auf der Pfsense als "Virtual IP" konfiguriert ist)
Auch das ist leider Blödsinn, denn hier hast du eine Netzwerk IP Adresse angegeben (alle Hostbits auf 0) aber keine virtuelle Hostadresse !!
Member: Fenris14
Fenris14 Sep 01, 2015 at 09:41:04 (UTC)
Goto Top
Also jetzt nochmals: Die Route (10.20.0.0/24) auf dem CLient-Rechner ist bereits eingerichtet und diese funktioniert auch.

Ja bei der virtuellen IP habe ich ausversehen falsch geschrieben, dort könnte beispielsweise stehen 10.20.0.2 whatever. Diese kann wiederum durch die eingetragene Route jetzt vom Client-Rechner angepingt werden, es antwortet aber jedoch nicht das eigentliche Ziel sondern die pfSense selbst. Sie routet also entweder nicht durch das IPSEC oder etwas stimmt mit NAT nicht. Wenn ich ohne NAT versuche das Ziel mit seiner originalen IP zu erreichen funktioniert das ebenfalls ohne Probleme.
Member: Fenris14
Fenris14 Sep 01, 2015 updated at 12:11:44 (UTC)
Goto Top
Ok. ich habe herausgefunden wie es funktioniert und scheinbar gab es da noch ein etwas komisches Problem. Die Konfiguration des NAT war soweit in Ordnung, aus irgendeinem Grund hat die IP die ich durch den Tunnel routen wollte, einen Routeneintrag der auf der PFsense auf sich selbst zeigt. Dadurch konnte ich absolut keine Verbindung aufbauen. Komischerweise kann ich diesen auch nicht löschen. Nachdem ich nun die Virtuelle IP auf etwas anderes geändert hatte funktionierte es.

route: writing to routing socket: Address already in use
del net x.x.x.x fib 0: gateway uses the same route

Vielleicht kann jemand nochmal was zu dem Fehler sagen.
Member: aqui
aqui Sep 02, 2015 at 11:55:47 (UTC)
Goto Top
Also jetzt nochmals: Die Route (10.20.0.0/24) auf dem CLient-Rechner ist bereits eingerichtet und diese funktioniert auch.
Ja ? Woran siehst du das bzw. was macht dich da so sicher ? Hast du Traceroute oder Pathping getestet ??
dort könnte beispielsweise stehen 10.20.0.2 whatever. Diese kann wiederum durch die eingetragene Route jetzt vom Client-Rechner angepingt werden
OK, hoffentlich hast du dann auch eine statische Hostroute mit einer 32 Bit Maske verwendet ?
es antwortet aber jedoch nicht das eigentliche Ziel sondern die pfSense selbst.
Das ist möglich wenn du in den NAT Regeln kein ICMP Protokoll forwardest. Ping = ICMP.
Du musst ja zwangsweise Port Forwarding machen wenn du NAT machst. Ansonsten bleibst du inbound an der NAT Firewall hängen.
einen Routeneintrag der auf der PFsense auf sich selbst zeigt.
Woran siehst du das ?? Hast du die Routing Tabelle der pfSense angesehen (Unter Diagnostics )
Member: Fenris14
Fenris14 Sep 02, 2015 at 12:52:19 (UTC)
Goto Top
zu 1.: Ich habe die Route eingetragen und mit "route print" kontrolliert. Danach konnte ich die IP anpingen. Zum testen habe ich immer einen tcpdump auf dem Zielrechner und dem pfSense mitlaufen lassen.

zu 2.: Ja ich habe einer 32er verwendet.

zu 3.: Ja und das ist der springende Punkt mit dem Port Forward hat es dann auch letztendlich funktioniert, ich hatte ursprünglich gedacht es würde normales NAT reichen. Ich hatte das dann nochmals abgeändert, es funktionierte aber immer noch nicht... bis ich dann den Fehler mit der Route festgestellt habe.

zu 4.: Komischerweise konnte ich unter Diagnostics>Routes nichts finden. Also bin ich auf die Kommandozeile und habe dort die Routen abgefragt, siehe da... da war dieser eigenartige Eintrag. Diesen habe ich versucht zu löschen, dabei kam der obengenannte Fehler. Daraufhin habe ich die IP der Port-Forward-Regel geändert und die virtuelle IP gelöscht und siehe da es funktionierte.
Member: Fenris14
Fenris14 Sep 02, 2015 at 14:05:27 (UTC)
Goto Top
Ok. ich habe diese komische Route weg bekommen. Das eigenartige ist, das ich sie weder bei System>Routing noch bei Diagnostics>Routes sehen konnte. Selbst auf der Kommandozeile konnte ich sie nicht entfernen. Ich habe eifanch mal einen Neustart getätigt, jetzt ist sie weg.