Squid + Privoxy + HAVP - Parent-Proxy Problem

redled

New Member
Folgendes ist gegeben:

Ein Router(Gateway[Clark-Connect2.1]) unter Redhat9. Einwahl über pppoe (Fritzbox als reines Modem). Der System wurde von mir umfangreich updatet(Postix 2.4.x, clamsmtp, SA 3.2.4, mailfilter, policyd-weight, postagrey, fetchmail). Indianer neu kompiliert ( 2.2.8 ) + PHP ( 4.4.8 ) + weitere Updates bzw Erweiterungen. Der Server fungiert ua. als Internetgateway, Firewall, Mailserver + Spamfilter bzw. als Fileserver(samba + samba-vscan), Zeitserver, Popupblocker, FTP u. Streamserver.

Auf der Maschine läuft Squid ( 2.5.STABLE1 ), Privoxy ( v3.0.6 ) und HAVP ( 0.87 ) als Echtzeitvirenscanner für HTTP. Folgendes Problem:

Squid + Privoxy funktionieren einwandfrei.
Squid + HAVP funktioniert auch prima.

Aber ich schaffe es einfach nicht alle drei Proxys miteinander zu verbinden. Auf Privoxy möchte ich allerdings nicht verzichten=).
Privoxy läuft auf Port 8118, Squid auf 3128(Transparenter Mode zuschaltbar und aktiv)
HAVP läuft auf Port 8005, dieser lässt sich auch als transparenter Proxy betreiben, nur weiss ich nicht genau wie. Folgende Schalter in der havp.conf:

Code:
# Default:
# TRANSPARENT false
#
# Specify a parent proxy (e.g. Squid) HAVP should use.
#
# Default: NONE
#PARENTPROXY 127.0.0.1
#PARENTPORT 3128
#
# Write X-Forwarded-For: to log instead of connecters IP?
#
# If HAVP is used as parent proxy by some other proxy, this allows
# to write the real users IP to log, instead of proxy IP.
#
# Default:
FORWARDED_IP true

# Port HAVP is listening on.
#
# Default:
PORT 8005

Drei Proxys verwirren mich dann doch...:confused:

squid.conf

Code:
cache_peer 127.0.0.1 parent 8118 0 no-query default no-netdb-exchange
cache_peer 127.0.0.1 parent 8005 0 no-query proxy-only no-digest no-netdb-exchange

Aktiviere ich beide parent-caches, wird lediglich einer durchlaufen. Auch das Spielen mit dem default-Schalter nützt da nichts. Habe auch schon versucht, den Traffic über Privoxy an HAVP mittels forward weiterzuleiten. Es gibt etliche Anleitungen bzw. Infos zu Squid mit anderen parent Caches, nur beziehen diese sich auf Lastenverteilung oder auf einen zweiten Cache. Ich möchte allerdings alle drei hintereinander betreiben.

privoxy.conf

Code:
forward   /  .
forward   /.*\.(exe|com|dll|zip|tar|gz|bz2|cab)$    127.0.0.1:8005

Dann läuft hin und wieder TOR für Experimentierzwecke auf dem Server, deshalb noch diese Zeile:

Code:
forward-socks4a / 127.0.0.1:9050  .

Im Mozilla schalte ich dann einfach per "TORBUTTON" auf den SocksProxy um(Port 9100).

Folgende Reihenfolge hätte ich gerne für die Proxys:

Firewall -> Squid -> Privoxy -> HAVP

oder auch

Squid -> HAVP -> Privoxy

Wer kann helfen?
 
Last edited by a moderator:
Nun habe ich mir diverse Tutorials bezüglich parent- und sibling- Caches aus dem Net reingezogen. So geht das schon mal nicht.

Hat denn keiner eine Idee?? Könnte ich in Privoxy eine Art parent-cache definieren?

Gruss Rico
 
Nach einiger Rumbastelei(Sourcen kompilieren) mit verschiedenen Versionen
von Privoxy und Squid funktioniert die Kette endlich. Zumindest mit folgenen
Versionen von Privoxy und Squid:

Privoxy: 3.0.10
Squid: 3.0 stable10
HAVP: 0.89
ClamAV:0.94

Die Kette sieht so aus:

Squid -> Privoxy > HAVP

squid.conf

Code:
http_port 3128 transparent
cache_peer 127.0.0.1 parent 8118 7 default no-query

privoxy.conf

Code:
listen-address  127.0.0.1:8118
listen-address  [lan_ip]:8118

permit-access  [lan-net]/24
permit-access  127.0.0.1

forward   /      127.0.0.1:8082   # Parent -> HAVP

havp.config

Code:
PARENTPROXY localhost
PARENTPORT 3128
PORT 8082
BIND_ADDRESS 127.0.0.1

#####
##### ClamAV Library Scanner (libclamav)
##### (Sollte man nutzen, weniger Overhead! als am clamd, dafür mehr RAM zur Laufzeit..etwa 54MB)

ENABLECLAMLIB true

Auf den Clientrechnern trage ich den Privoxy-Port als Proxy für HTTP ein.
HTTPS-Verbindungen laufen über den transparenten Proxy ohne HAVP! (Squid Port 3128)
Das war notwendig, da auf dem Server sonst die lokalen HTTPS-Adminoberflächen nicht erreichbar sind.
Trage ich den HAVP als Parent in Squid und in HAVP "Privoxy" als Parent ein, dann funktioniert die Editorfunktion in Privoxy nicht mehr. Alles andere funktioniert einwandfrei.

mein ./configure von squid:

Code:
configure options:  '--host=i686-pc-linux-gnu' '--build=i686-pc-linux-gnu' '--target=i386-redhat-linux' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--exec_prefix=/usr' '--bindir=/usr/sbin' '--libexecdir=/usr/lib/squid' '--localstatedir=/var' '--sysconfdir=/etc/squid' '--enable-poll' '--enable-snmp' '--enable-removal-policies=heap,lru' '--enable-storeio=aufs,diskd,ufs' '--enable-ssl' '--with-openssl=/usr/kerberos' '--enable-delay-pools' '--enable-linux-netfilter' '--with-pthreads' '--enable-basic-auth-helpers=LDAP,NCSA,PAM,SMB,SASL,MSNT' '--enable-ntlm-auth-helpers=SMB' '--enable-external-acl-helpers=ip_user,ldap_group,unix_group,wbinfo_group' '--with-samba-sources=/usr/src/samba-2.2.7'

Ja, Samba ist alt :rolleyes: Was solls...
 
Last edited by a moderator:
Back
Top