-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hallo Liste, googeln und Recherchen in der Liste helfen leider nicht weiter. Daher unterbreite ich euch mal mein Problem. Ich möchte eine Art transparent-Reverse-Proxy konfigurieren. Die Fakten: Squid läuft auf einem Host mit ip 192.168.1.1 (NAT) in einer DMZ, Port ist 3128. Zielserver ist ein Webserver auf IP 10.0.0.1, Port 80, außerhalb der DMZ (genattet). Ein externer Client außerhalb der DMZ (sagen wir er befindet sich im Internet) soll nun die (genattete) IP 192.168.1.1,Port 3128, also den Squid, aufrufen. Dieser soll dann einfach die Anfrage an 10.0.0.1, Port 80 weiterleiten (und natürlich zurück zum Client). Ich habe also folgende Einträge in der squid.conf gemacht : Squid lauscht auf http_port 192.168.1.1:3128 Der Zugriff ist (erstmal) unbeschränkt : http_access allow all So, jetzt die "Transparenz"-Einträge : httpd_accel_host 10.0.0.1 httpd_accel_port 80 httpd_accel_single_host on httpd_accel_with_proxy off httpd_accel_uses_host_header on Ich bin der Meinung, daß ich hierfür nicht die iptables-Konfiguration aus dem TransparentProxy-Mini-Howto brauche, die da wären (natürlich dementsprechen parametrisiert): iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT - --to-port 3128 bzw für Weiterleitung an externen WEbserver (i.e:10.0.0.1) iptables -t nat -A PREROUTING -i eth0 -s ! squid-box -p tcp --dport 80 - -j DNAT --to squid-box:3128 iptables -t nat -A POSTROUTING -o eth0 -s local-network -d squid-box -j SNAT --to iptables-box iptables -A FORWARD -s local-network -d squid-box -i eth0 -o eth0 -p tcp - --dport 3128 -j ACCEPT Wie ihr schon ahnt, es funzt einfach nicht,ein wget 192.168.1.1:3128 auf 192.168.1.1 sollte meiner Meinung nach den Request an 10.0.0.1:80 weiterleiten Leider passiert nichts, wget hängt in einem Timeout, der Request wird nie beantwortet. Mein System: Suse 9.0 Squid (Version 2.5.STABLE11) Kernel 2.6.10 (natürlich mit IP-Tables) So, was ist da falsch, die Konfiguration oder meine Idee ? Grüße Harry -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (MingW32) iD8DBQFDTDce7ttRafA1ej8RArXkAKCtlhxRJBSuOH8KyqHDHsCgl3kgeACdFVKE BrwBZtm/qygEJQZDXmzJI6E= =pOjf -----END PGP SIGNATURE-----
Am Mittwoch, 12. Oktober 2005 00:05 schrieb Harry Rüter:
Hallo Liste,
googeln und Recherchen in der Liste helfen leider nicht weiter.
Daher unterbreite ich euch mal mein Problem.
Ich möchte eine Art transparent-Reverse-Proxy konfigurieren.
Die Fakten:
Squid läuft auf einem Host mit ip 192.168.1.1 (NAT) in einer DMZ, Port ist 3128.
Zielserver ist ein Webserver auf IP 10.0.0.1, Port 80, außerhalb der DMZ (genattet).
Ein externer Client außerhalb der DMZ (sagen wir er befindet sich im Internet) soll nun die (genattete) IP 192.168.1.1,Port 3128, also den Squid, aufrufen.
Dieser soll dann einfach die Anfrage an 10.0.0.1, Port 80 weiterleiten (und natürlich zurück zum Client).
Ich habe also folgende Einträge in der squid.conf gemacht :
Squid lauscht auf
http_port 192.168.1.1:3128
Der Zugriff ist (erstmal) unbeschränkt :
http_access allow all
So, jetzt die "Transparenz"-Einträge : httpd_accel_host 10.0.0.1 httpd_accel_port 80 httpd_accel_single_host on httpd_accel_with_proxy off httpd_accel_uses_host_header on
Also ich habe das ja noch nie gemacht, aber laut dieser Anleitung: http://squid.visolve.com/squid/reverseproxy.htm musst du hier, im Gegensatz zu "normalem" transparent Proxy die option httpd_accel_uses_host_header auf "Off" setzen. Mfg, Thomas
participants (2)
-
Harry Rüter
-
Thomas Gräber