How do I install Squid Proxy Server on Ubuntu 22.04 LTS Linux server for web clients? How can I filter out internet traffic for LAN users such as blocking domains, unwanted URLs, office hours for Internet access, and more using Squid running on Ubuntu server?
Squid proxy server is a free and open-source high performance caching and forwarding HTTP web proxy. It is mostly used for speeding up a web server by caching repeated requests, caching DNS and web lookups for a shared network. It also adds a security policy to filter out unwanted traffics for web or office users. This page explains how to install, set up, and configure the Squid proxy server on Ubuntu 22.04 LTS Linux server.
Step 1 – Install Squid proxy server on Ubuntu
update your system using the apt command:
sudo apt update sudo apt upgrade
We can search for the squid package as follow:
apt show squid
Outputs:
Package: squid Version: 4.10-1ubuntu1 Priority: optional Section: web Origin: Ubuntu Maintainer: Ubuntu Developers <[email protected]> Original-Maintainer: Luigi Gangitano <[email protected]> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 8,792 kB Provides: squid3 Pre-Depends: adduser Depends: libc6 (>= 2.29), libcap2 (>= 1:2.10), libcom-err2 (>= 1.43.9), libdb5.3, libecap3 (>= 1.0.1), libexpat1 (>= 2.0.1), libgcc-s1 (>= 3.0), libgnutls30 (>= 3.6.6), libgssapi-krb5-2 (>= 1.17), libkrb5-3 (>= 1.10+dfsg~), libldap-2.4-2 (>= 2.4.7), libltdl7 (>= 2.4.6), libnetfilter-conntrack3 (>= 1.0.7), libnettle7, libpam0g (>= 0.99.7.1), libsasl2-2 (>= 2.1.27+dfsg), libstdc++6 (>= 9), libxml2 (>= 2.7.4), netbase, logrotate (>= 3.5.4-1), squid-common (>= 4.10-1ubuntu1), lsb-base, libdbi-perl, ssl-cert Recommends: libcap2-bin, ca-certificates Suggests: squidclient, squid-cgi, squid-purge, resolvconf (>= 0.40), smbclient, ufw, winbind, apparmor Homepage: http://www.squid-cache.org Download-Size: 2,556 kB APT-Sources: http://mirrors.linode.com/ubuntu focal/main amd64 Packages Description: Full featured Web Proxy cache (HTTP proxy) Squid is a high-performance proxy caching server for web clients, supporting FTP, gopher, ICY and HTTP data objects.
Installing Squid
Now that system software up to date, it is time to install the Squid server, enter:
sudo apt install squid
Step 2 – Configuring Squid server
The squid configuration file is located at /etc/squid/squid.conf and /etc/squid/conf.d/ directory. Let us edit the /etc/squid/squid.conf using a text editor. Make a backup of the original file so that we can go back if something goes wrong using the cp command:
sudo cp -v /etc/squid/squid.conf{,.factory}
Change squid port and listing IP address
By default, squid listens to all IP addresses on all interfaces. The default port is TCP 3128. Find line:
http_port 3128
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxx