[fli4l] Port 80-Anfragen auf anderen fli4l-Port zwingen?
Christoph Schulz
fli4l at kristov.de
Sa Feb 7 20:46:37 CET 2015
Hallo!
K. Dreier schrieb:
> Wenn ich will, daß Anfragen auf Port 80 an den fli4l von diesem auf
> z.B. den Port 3128 umgebogen werden - wie mache ich das? Es geht
> letztlich um einen transparenten Proxy.
> Es ist kein Portforwarding, da
> 1.] die Anfragen aus dem internen (z.B.] NET_3 kommen und
> 2.] der Dienst, der auf Port 3128 lauscht, auf dem fli4l liegt und nicht
> etwa auf einem client in irgendeinem internen Netz.
Das ist ein spezielles "Destination NAT" (DNAT), nämlich ein REDIRECT.
> Die Doku nennt letzteres als Bsp, was mir leider nicht hilft. Ein
> redirect scheint auch nicht das richtige zu sein, wenn ich die Doku
> richtig verstehe, auch wenn es immerhin einen Fehler auswirft. Diverse
> Suchen bringen mich ebenfalls nicht weiter.
Das verstehe ich nicht. Ein REDIRECT ist doch genau das, was du willst. Was
funktioniert da nicht und welche Meldung erhältst du? Wie hast du deine
Firewall mit REDIRECT konfiguriert, so dass es _nicht_ lief, wie du es dir
vorgestellt hast?
> Wahrscheinlich bin ich mit
> PF_PREROUTING_x='tmpl:http @client REDIRECT:3128' # for client1: port 80
> redirected to Squid
> doch auf dem richtigen Weg, aber einfach noch nicht da. (client1 hat via
> Input-Regel Zugriff auf die Squid-Ports)
Das sieht doch richtig aus. Bist du sicher, dass du squid nicht
versehentlich "verkonfiguriert" hast? Meines Wissens gibt es auch bei squid
Einstellungen, mit denen man angeben muss, welche Netzen squid bedient und
welche nicht.
Außerdem muss squid natürlich auf der Schnittstelle horchen, von der die
Anfrage kommt. Ein REDIRECT ändert die Zieladresse auf die Adresse der
Schnittstelle, auf der das Paket hereinkommt. Wenn dein Client also in
IP_NET_3 ist, dann muss squid auf IP_NET_3_IPADDR (also der Adresse, die
Netzmaske ignorierend, die in IP_NET_3 angegeben ist) horchen.
Viele Grüße,
--
Christoph Schulz
[fli4l-Team]
Mehr Informationen über die Mailingliste Fli4L