@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.