This is a brief introduction to Squid proxy that covers Setting up Squid on Ubuntu/Debian with a single network card, and routing traffic through it. I use this for testing websites remotely before putting them live, but it would also be possible to setup a similar box to monitor network traffic.
Before you begin you should have a computer setup with Ubuntu/Debian. I am using Ubuntu 10.04 LTS for my proxy. The rest of these instructions will assume that this is installed and configured on your network as you want it. Also note that Debian users should su to root instead of typing sudo.
1. Get squid
First thing’s first, we need to get squid. This can be achieved by typing the following into the terminal:
sudo apt-get install squid
This will download squid from the repositories and set it up on your machine.
2. Setup Squid
This is easy if you know what you’re doing. The squid config file is in the /etc/squid/ directory, so open it up in a text editor:
sudo nano /etc/squid/squid.conf
Now we need to add the lines to allow access to your network. If you’re in nano you can use
Ctrl+w and type acl all src all
Since I’m setting this up as a remote server I have to allow my IP address for work to be able to access the proxy. Here’s the lines I added:
acl remotenet src 123.123.123.123 #Work’s external IP address
If you don’t know your external IP address go to: sirnet.co.uk/ip.php
further down the script there’s a line that reads http_access allow localnet, under this line add:
http_access allow remotenet #allow connections to this proxy server from “remotenet”
Understanding this process
ACL is an access control list, which you’re assigning IP addresses to. in the above two lines you’ve allowed the IP address 123.123.123.123 access to the proxy server. You can continue adding IP addresses to the remotenet group my copying and pasting the first line you entered but with different IP addresses.
At the end to the file you’ll also need to add the following line of code:
visible_hostname someProxyServerName
Exit and save the squid.conf file by pressing Ctrl+x and pressing Y when asked if you want to save changes, followed by enter to overwrite the file.
restart squid: sudo service squid restart
3. Setting Up Your Web Browser
You should now be able to access your server by setting the proxy details up in your browser as the following:
Proxy: your squid IP address/DNS name
Port: 3128