Squid

Debian packages

squid


References

Debian article for configuring squid

http://www.debian-administration.org/articles/71

Homepage

http://www.squid-cache.org/


Configuration

squid

The main configuration file for squid is

/etc/squid/squid.conf

Another configuration file which I am going to ignore because it contains irrelevant settings

/etc/default/squid

By default, squid is listening on port 3128, on all interfaces. I want it to listen on port 8080, and only on interfaces that receive outgoing HTTP connections. This is what it looks like:

http_port 192.168.1.6:8080
http_port 192.168.2.1:8080
http_port 127.0.0.1:8080

(note that squid does not listen for https connections by default, and I also don't want it to cache those)

Allow access from the localhost and the 192.168.0.0 network:

acl localhost src 127.0.0.1/255.255.255.255
acl our_networks src 192.168.0.0/16
http_access allow localhost
http_access allow our_networks

(the localhost rules were already present in the default configuration; the default configuration also contains many more rules which are not listed here)

Administrative information:

cache_mgr webmaster@herzbube.ch

The Debian Administration article mentions a couple of options whose names begin with "httpd_accel". I could not find these options in the default configuration, nor was I able to find out conclusively why they are missing, what their purpose is, etc. The only hint I got so far is this FAQ entry on the Squid homepage which clarifies the terms "accelerator" and "proxy cache". It seems that what I want to do is not an accelerator, so for the moment I am going to ignore the options discusssed in the Debian article since they all seem to refer to accelerator stuff.


Transparent proxying

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port