DNAT auf Zieladresse hinter IPsec Tunnel



  • Hallo Zusammen,

    ich habe an Standort A eine pfsense Firewall welche über einen WAN Port mit fester öffentlicher IP Adresse verfügt.
    An der pfSense ist nur der WAN Port definiert, kein LAN Port.
    Die pfSense baut einen VPN Tunnel zu Standort B per IPsec auf.

    Nun ist es mein Ziel, dass ich über die öffentliche IP von Standort A ein Gerät an Standort B erreichen kann.
    Hierzu habe ich ein NAT angelegt:
    NATinVPN.PNG

    Leider bekomme ich jedoch keine Antwort wenn ich die externe IP der pfSense aufrufe.

    Ich hoffe, dass mir jemand mitteilen kann, wo hier die Herausforderung liegt.

    Auf der Gegenseite ist eine Sophos Firewall die eine entsprechende Firewall Regel eingetragen hat, sodass Traffic aus dem VPN auf das NAT Ziel zugreifen darf.


  • LAYER 8 Moderator

    @c-f said in DNAT auf Zieladresse hinter IPsec Tunnel:

    Die pfSense baut einen VPN Tunnel zu Standort B per IPsec auf.

    Ich nehme an einen IPsec Tunnel weil es in der Überschrift steht, aber zur Klarheit nochmal nachgefragt?

    Ich hoffe, dass mir jemand mitteilen kann, wo hier die Herausforderung liegt.

    Das wird nicht funktionieren wegen IPsec. Mit OpenVPN geht das. Problem daran ist einfach: die Phase 2 deines IPsec Tunnels definiert NUR eine LAN zu LAN Kopplung und definiert daher keinen Rückweg für Pakete, die irgendwo aus dem Internet kommen. Das bei einem Port Forwarding aber die Quelladresse (ein Client aus dem Internet) bestehen bleibt, kommt das Paket mit dieser Quelle an, wird umgeschrieben, durch den Tunnel geschickt, zum Client geliefert und dieser möchte antworten - aber der Rückweg für diese Antwort ist dann das Internet von Seite B. Es gibt schlicht keine Möglichkeit - außer allen Traffic von B über IPsec zu A zu schicken - um das Paket zurückzusenden.

    OpenVPN funktioniert an dieser Stelle anders, da es hier durch Policy Based Rules und durch den PF eigenen Mechanismus "reply-to" einen Weg gibt, der sicherstellt, dass Antworten von gewissen States wieder zurück über den VPN Tunnel laufen. Bei einem OVPN Tunnel kann einfach in der Tunneldefinition selbst ein zweites NATting definiert werden, dass alle Pakete von "nicht LAN A" an LAN B auf die Tunnel-IP NATtet. Dadurch finden die Pakete bei einem OVPN Tunnel den Rückweg wieder und gehen durch den Tunnel zurück zu Site A und von dort aus wieder ins Internet (sofern alles korrekt konfiguriert ist).

    Ohne einen Proxy zu nutzen, wird das also mit IPsec leider nicht funktionieren. Mit Proxy (bspw. HAproxy) kann es klappen wenn man Offloading nutzt, da dann die Verbindung im Proxy terminiert und neu geöffnet wird. Somit kommt für den Client auf Site B die Verbindung von Site A und die Verbindung kann hergestellt werden.


Log in to reply