OPNsense Forum

International Forums => German - Deutsch => Topic started by: opnsense_user12123 on March 17, 2018, 08:18:21 pm

Title: Proxy - NAT reflection - was macht das genau ?
Post by: opnsense_user12123 on March 17, 2018, 08:18:21 pm
Bei der config meines Squid Proxy soll man laut opnsense Anleitung, nat reflection in der nat rule aktivieren.
Was für Auswirkungen hat es wenn man es nicht aktivieren würde bzw was macht nat reflection genau?

Title: Re: Proxy - NAT reflection - was macht das genau ?
Post by: JeGr on March 20, 2018, 10:11:44 am
NAT Reflection ist dafür zuständig, dass eine NAT Regel nicht nur auf dem Interface verfügbar ist/greift, auf dem sie konfiguriert wird, sondern auch auf der/den anderen Seiten.

Typisches Beispiel was der normale User meistens nicht versteht:

Port Weiterleitung auf WAN Seite: Auf WAN Adresse / Port 80 -> weiterleiten auf LAN Webserver Port 80.
Probiert man das Ganze jetzt vom Internet aus mit der externen Adresse oder der (oft der Dyn)DNS-URL, klappt das auch. Versucht man das ganze jetzt mit einem Client vom LAN aus klappt es nicht. Warum? Weil die RDR Regel von PF nur gilt, wenn das Paket VOM WAN auf die WAN Adresse ankommt. Das Paket kommt aber vom LAN über das LAN Interface in die Sense rein. Daher gilt der RDR nicht, damit auch kein Rewrite.

Reflection ist jetzt die (IMHO) häßliche Ergänzung zum unschönen NAT ;) und dafür zuständig, dass genau das trotzdem funktioniert. Also wenn vom LAN aus die externe IP/(Dyn)DNS Adresse aufgerufen wird, wird über den einen oder anderen Mechanismus sichergestellt, dass der Redirect durchgeführt wird. Entweder über zusätzliche RDR Regeln oder einen Behelfsproxy der die Verbindung umleitet.

Alles nicht schön, deshalb ist für obiges Beispiel auch ein interner DNS sauberer, der einfach intern mit der LAN Adresse, extern mit der WAN Adresse auflöst und somit den Client einfach direkt verbinden lässt.

Das in groben Zügen macht NAT Reflection.
Title: Re: Proxy - NAT reflection - was macht das genau ?
Post by: opnsense_user12123 on March 22, 2018, 06:10:22 am
NAT Reflection ist dafür zuständig, dass eine NAT Regel nicht nur auf dem Interface verfügbar ist/greift, auf dem sie konfiguriert wird, sondern auch auf der/den anderen Seiten.

Typisches Beispiel was der normale User meistens nicht versteht:

Port Weiterleitung auf WAN Seite: Auf WAN Adresse / Port 80 -> weiterleiten auf LAN Webserver Port 80.
Probiert man das Ganze jetzt vom Internet aus mit der externen Adresse oder der (oft der Dyn)DNS-URL, klappt das auch. Versucht man das ganze jetzt mit einem Client vom LAN aus klappt es nicht. Warum? Weil die RDR Regel von PF nur gilt, wenn das Paket VOM WAN auf die WAN Adresse ankommt. Das Paket kommt aber vom LAN über das LAN Interface in die Sense rein. Daher gilt der RDR nicht, damit auch kein Rewrite.

Reflection ist jetzt die (IMHO) häßliche Ergänzung zum unschönen NAT ;) und dafür zuständig, dass genau das trotzdem funktioniert. Also wenn vom LAN aus die externe IP/(Dyn)DNS Adresse aufgerufen wird, wird über den einen oder anderen Mechanismus sichergestellt, dass der Redirect durchgeführt wird. Entweder über zusätzliche RDR Regeln oder einen Behelfsproxy der die Verbindung umleitet.

Alles nicht schön, deshalb ist für obiges Beispiel auch ein interner DNS sauberer, der einfach intern mit der LAN Adresse, extern mit der WAN Adresse auflöst und somit den Client einfach direkt verbinden lässt.

Das in groben Zügen macht NAT Reflection.

Super, danke für die Erklärung. Jetzt haben sich wieder ein paar Dinge für mich zumindest geklärt! :-)

Quote
Alles nicht schön, deshalb ist für obiges Beispiel auch ein interner DNS sauberer, der einfach intern mit der LAN Adresse, extern mit der WAN Adresse auflöst und somit den Client einfach direkt verbinden lässt.

Welches Plugin wäre hier für Opnsense als DNS Server am besten geeignet ?
Title: Re: Proxy - NAT reflection - was macht das genau ?
Post by: JeGr on March 22, 2018, 10:45:24 am
Du brauchst keinen kompletten DNS Server. Es genügt ein Override im DNS Forwarder oder DNS Resolver. Dafür sind die da :)
Title: Re: Proxy - NAT reflection - was macht das genau ?
Post by: opnsense_user12123 on March 22, 2018, 11:11:26 am
Wie würde denn als Bespiel so ein override für eine Proxy nat Regel (127.0.0.1) ausschauen?
Title: Re: Proxy - NAT reflection - was macht das genau ?
Post by: JeGr on March 22, 2018, 11:13:31 am
Das DNS Beispiel oben bezog sich auch auf das genannte Beispiel mit dem WebServer und der Erreichbarkeit von innen - das lässt sich nicht 1:1 auf den Proxy und seine Redirection Rule beziehen. Ich bezweifle, dass hier eine DNS Einstellung helfen würde :)
Title: Re: Proxy - NAT reflection - was macht das genau ?
Post by: opnsense_user12123 on March 22, 2018, 12:46:23 pm
Das DNS Beispiel oben bezog sich auch auf das genannte Beispiel mit dem WebServer und der Erreichbarkeit von innen - das lässt sich nicht 1:1 auf den Proxy und seine Redirection Rule beziehen. Ich bezweifle, dass hier eine DNS Einstellung helfen würde :)

Sorry, aber ich steh gerade auf der Leitung. Also ist dein Beispiel für Proxy Squid nat 127.0.0.1 rule nicht anwendbar.

Title: Re: Proxy - NAT reflection - was macht das genau ?
Post by: JeGr on March 22, 2018, 01:17:18 pm
Das Beispiel war genau das. Ein Beispiel für NAT Reflection, das (bei den *Sensen zumindest) sehr häufig auftritt und nachgefragt wird. Daran kann man das auch m.E. ganz gut darstellen, was es tut. Der Proxy macht m.E. an der Stelle etwas anderes bzw. braucht die Reflection aus anderem Grund, aber in Squid stecke ich jetzt gerade nicht so irrsinnig tief drin.