OPNsense Forum

International Forums => German - Deutsch => Topic started by: Beleggrodion on August 08, 2019, 01:18:43 pm

Title: Double NAT Problematik mit LAN to DMZ
Post by: Beleggrodion on August 08, 2019, 01:18:43 pm
Ich habe das Problem das ich bei einem Setup nicht um ein Double NAT herum komme.

Auf der ersten Firewall (Sehr mininmal und kaum Einstellmöglichkeiten) habe ich ein DNAT und SNAT von Public IP auf virtuelle IP's der OPNsense eingerichtet. Die wiederum ein 1:1 NAT auf den Host in der DMZ macht. Das funktioniert soweit gut. Ich sehe in der DMZ die richtigen IP's der Clients auf dem Server aber auch wenn ich vom Server ins Internet verbinde, sehe ich die richtige zugewiesene fixe IP Adresse. Die OPNsense Firewall kennt in diesem Szenario die wirkliche Public IP gar nicht, da sie selber am WAN Interface mit Internen virtuellen IP's arbeitet die 1:1 genatted sind auf der ersten Firewall.

Nun ist das Problem aber das ich ein LAN auf der OPNsense habe und die auch auf gewisse Dienste zugreifen müssen und ich würde das ganze wenn möglich mit NAT lösen oder Routing lösen am LAN Interface. (DNS, etc. will ich nicht umbiegen) Braucht es da zwingend eine virtuelle IP der Public IP am LAN Interface, oder geht das auch ohne, das ich einfach eine NAT Regel einrichte, das wenn eine Anfrage vom LAN an die Public IP kommt, die Firewall ein NAT durchführt und das ganze so dann in die DMZ schickt und die DMZ über die FW das wieder zurück, da ich nicht möchte, das der Host der DMZ die LAN IP des Clients sieht.

Ich habe verschiedenes ausprobiert, aber das Gefühl das ich vor Lauter Bäumen den Wald nicht sehe, oder das gewünschte Setup so wirklich nicht geht.
Title: Re: Double NAT Problematik mit LAN to DMZ
Post by: micneu on August 08, 2019, 05:56:25 pm
Mach mal bitte eine Zeichnung, dann kann man es besser verstehen


Gesendet von iPhone mit Tapatalk Pro
Title: Re: Double NAT Problematik mit LAN to DMZ
Post by: Beleggrodion on August 09, 2019, 08:54:20 am
Ok. Ich habe mal versucht das ganze grob aufzuzeichnen.

(https://i.ibb.co/8X0gGXr/DC-Schema.jpg)

Und eben das Problem ist halt z.b das wenn ich von 192.168.18.20 auf 123.123.123.123 zugreifen möchte,
halt dann bei Firewall A wohl lande. Da habe ich leider keine Möglichkeit tcpdump zu machen aber sehe den Traffic halt bei Firewall B rausgehen über em0, und es kommt dann auf dem Interface auch was zurück aber wohl komplett schief. Weil halt z.b Port 80, 443 was offen ist von Extern z.b fürs Webmail, nicht funktioniert. Ebenso IMAP.  Aber wenn ich halt vom WAN komme, daher nicht vom Terminal Server geht alles wie gewünscht.
Title: Re: Double NAT Problematik mit LAN to DMZ
Post by: banym on August 11, 2019, 10:55:03 pm
Hi,

also Du versuchst von intern also auf die externe IP zuzugriefen die an Firewall A anliegt?
Split-DNS ist für dich keine Option wenn du es so beschreibst?

Was siehts du denn auf der OPNsense als Antwort einkommen die "total schief" ist? Fehlt der Firewall-A die Rückroute in deine Netze hinter der Firewall B?
Werden die Pakete von diener Firewall B im NAT auf die 192.168.16.2 übersetzt und finden dann evtl. deswegen den Weg nicht zurück?

Ist Hybrid-Nat / Outgoing-NAT konfiguriert und wenn ja wie?

VG,

Dominik
Title: Re: Double NAT Problematik mit LAN to DMZ
Post by: Beleggrodion on August 14, 2019, 10:40:14 am
Genau. Ein User der auf 192.168.18.20 ist versucht auf 123.123.123.123 zuzugreifen.

Ok. In meiner Grafik fehlt noch die virtuelle IP die ich für die Public IP genommen habe.
Daher wenn 192.168.18.20 ins Internet geht, sehen alle Server im Internet die IP 123.123.123.111 (Auch jeder andere Server egal ob LAN oder DMZ der kein 1:1 NAT hat, hat dann diese IP)

(https://i.ibb.co/0yTjpjH/DC-Schema2.jpg)

Nein Split-DNS ist für uns keine Option, da sich das ganze in einem kleinen DC abspielt und die Grafik nur ein Beispiel ist und das ganze aus noch etwas mehr als nur die beiden Server besteht und somit die Möglichkeit besteht, das in der DMZ Server stehen, auf denen Domains auf den Public IP's laufen, von denen wir nicht wissen (Kunde A) und jemand anderes der nicht weiss, das diese Public IP's in der DMZ ist, dann darauf zugreifen möchte (Kunde B).

Die Antwort z.b wegen schief gehen ist z.b das IMAP Clients nicht verbinden können, oder z.b Firefox eine Meldung bringt wie: "Fehler: Gesicherte Verbindung fehlgeschlagen. Beim Verbinden mit 123.123.123.123 trat ein Fehler auf. PR_END_OF_FILE_ERROR."

Ich sehe halt  auf der Firewall B am Interface em2, das Traffic raus geht und  auch eine Antwort von dieser IP reinkommt. Ebneso sehe ich auf dem Interface em0 der Firewall das Traffic genatted rausgeht und auch, wohl von Firewall B, Traffic reinkommt.

Jedoch sehe ich keinen Traffic wenn ich auf em0 ein tcpdump mache auf 192.168.16.123 und z.b Port 443. Daher irgendwo läuft was auf Firewall A, wo ich keinen Einfluss habe ,und würde daher Regeln auf Firewall B für diesen Fall erfassen, so dass es mir egal sein kann was auf Firewall A läuft wenn ich von Intern mit Public IP in die DMZ möchte.

tcpdump auf em2
Code: [Select]
root@fwl01:~ # tcpdump -ni em2 host 123.123.123.123
10:11:12.008560 IP 192.168.18.20.52432 > 123.123.123.123.443: Flags [SEW], seq 1018338325, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
10:11:12.008781 IP 123.123.123.123.443 > 192.168.18.20.52432: Flags [R.], seq 0, ack 1018338326, win 0, length 0
10:11:12.010486 IP 192.168.18.20.52434 > 123.123.123.123.443: Flags [SEW], seq 432463161, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
10:11:12.010630 IP 123.123.123.123.443 > 192.168.18.20.52434: Flags [R.], seq 0, ack 432463162, win 0, length 0
10:11:12.505816 IP 192.168.18.20.52434 > 123.123.123.123.443: Flags [S], seq 432463161, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
10:11:12.506073 IP 123.123.123.123.443 > 192.168.18.20.52434: Flags [R.], seq 0, ack 1, win 0, length 0
10:11:12.507836 IP 192.168.18.20.52432 > 123.123.123.123.443: Flags [S], seq 1018338325, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
10:11:12.507986 IP 123.123.123.123.443 > 192.168.18.20.52432: Flags [R.], seq 0, ack 1, win 0, length 0
10:11:13.007915 IP 192.168.18.20.52432 > 123.123.123.123.443: Flags [S], seq 1018338325, win 8192, options [mss 1460,nop,nop,sackOK], length 0
10:11:13.008166 IP 123.123.123.123.443 > 192.168.18.20.52432: Flags [R.], seq 0, ack 1, win 0, length 0
10:11:13.011887 IP 192.168.18.20.52434 > 123.123.123.123.443: Flags [S], seq 432463161, win 8192, options [mss 1460,nop,nop,sackOK], length 0
10:11:13.012054 IP 123.123.123.123.443 > 192.168.18.20.52434: Flags [R.], seq 0, ack 1, win 0, length 0

tcpdump auf em0
Code: [Select]
root@4fwl01:~ # tcpdump -ni em0 host 123.123.123.123
10:11:12.008630 IP 192.168.16.2.51745 > 123.123.123.123.443: Flags [SEW], seq 1018338325, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
10:11:12.008764 IP 123.123.123.123.443 > 192.168.16.2.51745: Flags [R.], seq 0, ack 1018338326, win 0, length 0
10:11:12.010519 IP 192.168.16.2.17102 > 123.123.123.123.443: Flags [SEW], seq 432463161, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
10:11:12.010618 IP 123.123.123.123.443 > 192.168.16.2.17102: Flags [R.], seq 0, ack 432463162, win 0, length 0
10:11:12.505872 IP 192.168.16.2.13774 > 123.123.123.123.443: Flags [S], seq 432463161, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
10:11:12.506053 IP 123.123.123.123.443 > 192.168.16.2.13774: Flags [R.], seq 0, ack 432463162, win 0, length 0
10:11:12.507874 IP 192.168.16.2.31987 > 123.123.123.123.443: Flags [S], seq 1018338325, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
10:11:12.507974 IP 123.123.123.123.443 > 192.168.16.2.31987: Flags [R.], seq 0, ack 1018338326, win 0, length 0
10:11:13.007983 IP 192.168.16.2.11287 > 123.123.123.123.443: Flags [S], seq 1018338325, win 8192, options [mss 1460,nop,nop,sackOK], length 0
10:11:13.008137 IP 123.123.123.123.443 > 192.168.16.2.11287: Flags [R.], seq 0, ack 1018338326, win 0, length 0
10:11:13.011922 IP 192.168.16.2.55533 > 123.123.123.123.443: Flags [S], seq 432463161, win 8192, options [mss 1460,nop,nop,sackOK], length 0
10:11:13.012037 IP 123.123.123.123.443 > 192.168.16.2.55533: Flags [R.], seq 0, ack 432463162, win 0, length 0

Hier noch die FW Regeln von Firewall A:

(https://i.ibb.co/SVYTtgV/firewall-a-out.png)
(https://i.ibb.co/M1Cm1hQ/firewall-a-in.png)

Edit:  In der Grafik ist die falsche IP drauf, weil ich die falsch editiert habe, müsste schon die selbe sein.

Wegen Hybrid NAT, das ist aktuell auf Standard mit nur die automatischen Regeln (Könnte manuelle erfassen), da meine Versuche alle nicht gefruchtet hatten und ich darum die Regeln wieder gelöscht hatte, nicht das dadurch dann andere Dinge, die aktuell funktionieren, nicht mehr funktionieren.