Transparenter Squid

Aus BraLUG-Wiki

Version vom 4. April 2007, 08:46 Uhr von MaD (Diskussion | Beiträge)

(Unterschied) Nächstältere Version-> | Aktuelle Version (Unterschied) | <-Nächstjüngere Version (Unterschied)
Wechseln zu: Navigation, Suche


Inhaltsverzeichnis


Idee

In Ermangelung einer geeigneteten Möglichkeit, unbekannten Rechnern die lokalen Proxy-Einstellungen überzuhelfen und zur Erfüllung des Wunsches nach einem Proxy innerhalb des BraLUG-Netzes hier die Konfiguration für einen transparenten HTTP-Proxy. Per DHCP wird der Proxy-Server als Default-Gateway verbreitet, weitere Einstellungen sind nicht notwendig.

Getestet wurde das Konzept mit einem Squid 3.0-PRE3-20050309 und Linux Kernel 2.6.11.2.

IPTables-Konfiguration

TRANSSQUID=127.0.0.1:3128

# enable ip forwarding
sysctl -w net.ipv4.ip_forward=1

# flush output chain
iptables -t nat -F OUTPUT

# local network
iptables -t nat -A OUTPUT -p tcp --destination 192.168.0.0/16 -j ACCEPT
iptables -t nat -A OUTPUT -p tcp --destination 195.37.0.0/22 -j ACCEPT

# redirect outgoing, non-local traffic on port 80 to local, transparent squid
iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to $TRANSSQUID

# source nat (masquerading, tbd)

Squid-Konfiguration

die relevanten Stellen aus der $PREFIX/etc/squid.conf

http_port 3128 transparent
cache_peer proxy.fh-brandenburg.de  parent  3128  3130  no-query default

# das sollte etwas eingeschraenkt werden
http_access allow all

# dieser Teil funktioniert nicht wie erwartet und wird jetzt durch iptables-Regeln erschlagen
acl local-domain dstdomain .fh-brandenburg.de
always_direct allow local-domain
always_direct deny !local-domain
never_direct deny local-domain
never_direct allow !local-domain

HTTPS/FTP

Wider Erwarten funktioniert das nicht transparent, gleiches Problem also wie SSH.

SSH

offen
Was jetzt noch fehlt, ist SSH nach außen. Es steht ein Socks5-Server zur Verfügung, allerdings habe ich noch keinen transparenten Socks-Proxy gefunden.

wie wäre es denn damit:

http://weblog.christoph-probst.com/article.php/20061121233948297

  • das wäre Socks über SSH, gesucht wurde damals SSH über Socks (und zwar, ohne dass die Clients umkonfiguriert werden müssen --MaD 09:46, 4. Apr. 2007 (CEST)
'Persönliche Werkzeuge