squid als transparenten Proxy kompilieren

jnappert

Neuer User
Mitglied seit
8 Sep 2008
Beiträge
71
Punkte für Reaktionen
0
Punkte
6
Nachdem ich squid erfolgreich auf meine Box gezaubert habe, möchte ich ihn als transparenten Proxy (mit cache auf dem USB-Stick) betreiben.

Die notwendige Änderung in der squid.conf (http_port 3128 transparent) habe ich vorgenommen. Beim startup wird der squid sauber gestartet ("listening transparent on port 3128"), jedoch häufen sich im cache.log die Meldungen "WARNING: transparent mode not supported".

Lt. Recherche müsste squid mit den optionen --enable-ssl und --enable-linux-netfilter gebaut werden.

Ich habe daher im source-Ordner meiner freetz-stable-1.1 ein ./configure --enable-ssl --enable-linux-netfilter durchgeführt (ohne Fehler).

Ein Build der gesamten stable-1.1 wird jedoch wieder (geprüft mit squid -v) ohne die notwendigen Optionen durchgeführt ;-(

Wo muss ich hier schrauben? Danke für jeden Hinweis.
 

MaxMuster

IPPF-Promi
Mitglied seit
1 Feb 2005
Beiträge
6,932
Punkte für Reaktionen
1
Punkte
36
Ändere an einfachsten make/squid/squid.mk, so dass da steht:
Code:
...
$(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/sbin/squid

$(PKG)_DEPENDS_ON := uclibcxx

[B]$(PKG)_CONFIGURE_OPTIONS += --enable-ssl
$(PKG)_CONFIGURE_OPTIONS += --enable-linux-netfilter
[/B]
$(PKG_SOURCE_DOWNLOAD)
$(PKG_UNPACKED)

...
und baue es dann neu

Jörg
 

McNetic

Mitglied
Mitglied seit
7 Feb 2007
Beiträge
674
Punkte für Reaktionen
0
Punkte
16
Schreib mal, wenns funktioniert, dann könnte man das mal direkt als Option ins menuconfig einbauen.

Übrigens: Daß Du auch iptables für den transparent proxy brauchst, ist Dir klar, oder?
 

jnappert

Neuer User
Mitglied seit
8 Sep 2008
Beiträge
71
Punkte für Reaktionen
0
Punkte
6
Squid wurde nach der Änderung der squid.mk mit der Option --enable-linux-netfilter problemlos gebaut. Somit ist der transparente Betrieb möglich. Super.
Herzlichen Dank @MaxMuster!

Die option --enable-ssl führt jedoch zur Meldung: "ssl was not declared in this scope". In der Folge sind daher keine SSL-Verbindungen cachbar und werden durchgereicht.

Die Box (7170) hängt per LAN1 an meinem Asus Router (=Gateway hinter einem SDSL-Modem), der per iptables und entsprechendem Firewall-Script die Pakete (Port 80) an squid (Port 3128) routet. Somit benötige ich auf der Box keine iptables, richtig?

Interessant wäre für mich auch die Fragen nach unlink_d. Dieses Programm ist auf der Box nicht existent, aber für squid notwendig. Ich habe in der squid.conf daher die Option unlink_program /bin/rm gesetzt, was auch funktioniert, jedoch angeblich langsamer sein soll. Gibts eine Möglichkeit dies mit unlink_d zu realisieren?

Jörg
 

jnappert

Neuer User
Mitglied seit
8 Sep 2008
Beiträge
71
Punkte für Reaktionen
0
Punkte
6
Also ein kleines Update: unlinkd wird im squid package compiliert, jedoch nicht ins image kopiert. Wo kann ich das einstellen? Ebenfalls in der squid.mk?
 

MaxMuster

IPPF-Promi
Mitglied seit
1 Feb 2005
Beiträge
6,932
Punkte für Reaktionen
1
Punkte
36
Im Prinzip schon, das könntest du dir in den anderen .mk-Files mal ansehen, wie das mit mehreren Binaries gemacht wird (z.B. im trunk ganz "exzessiv" im openssh.mk) so in der Art:
Code:
...
$(PKG)_ULINKD_BINARY:=$($(PKG)_DIR)/src/unlinkd   ### oder wie auch immer das heißt
$(PKG)_ULINKD_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/bin/unlinkd
...

$($(PKG)_ULINKD_TARGET_BINARY): $($(PKG)_ULINKD_BINARY)
        $(INSTALL_BINARY_STRIP)
Die etwas einfacherer Variante: Kopiere die Datei händisch in das entsprechende package/squid...-Unterverzeichnis (ggf noch "strippen" mit dem mipsel-strip). Solange du nichts am Paket veränderst, sollte der Inhalt des Ordners ins Image aufgenommen werden, auch wenn es verändert wurde.

Jörg
 

McNetic

Mitglied
Mitglied seit
7 Feb 2007
Beiträge
674
Punkte für Reaktionen
0
Punkte
16
S
Die Box (7170) hängt per LAN1 an meinem Asus Router (=Gateway hinter einem SDSL-Modem), der per iptables und entsprechendem Firewall-Script die Pakete (Port 80) an squid (Port 3128) routet. Somit benötige ich auf der Box keine iptables, richtig?
Klar, richtig. Es sollte an der Stelle aber dazu gesagt werden, da sonst ein falscher Eindruck entsteht - auf der Box allein gehts nicht ohne.
 

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
234,000
Beiträge
2,041,349
Mitglieder
353,265
Neuestes Mitglied
J.R.