Transparenter Squid

Aus BraLUG-Wiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(portiert aus dem Wiki auf Luna)
 
K ("&" ist boese im Kategorienamen :()
Zeile 1: Zeile 1:
[[Category:Tipps & Tricks]]
+
[[Category:Tipps und Tricks]]
  
 
__TOC__
 
__TOC__

Version vom 31. Mai 2005, 11:34 Uhr


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.

'Persönliche Werkzeuge