SIGN IN / UP
    opened image

    Squid is a proxy and caching server that helps improve Internet performance by reducing web page load time and bandwidth.

    Squid is a proxy and caching server that helps improve Internet performance by reducing web page load time and bandwidth.

     

    How does Squid works?

    1. When you (or someone on your network) requests a web page through a browser, the request is first routed to Squid.

    2. Squid checks to see if the requested web page is already stored in its cache (memory). If so, it simply sends the page to you, which is much faster than downloading the page from the Internet.

    3. If the web page is not stored in its cache, Squid requests the page from a server on the Internet on your behalf, then stores a copy of the page in its cache and sends the page to you.

    4. The next time someone requests the same page, Squid can simply retrieve it from its cache, speeding up the process.

    5. And the next time someone requests the same page, Squid can simply retrieve it from its cache, speeding up the process.

    Squid can also be used to filter content, block certain sites, or restrict access to the Internet at certain times.

     

    Installing and configuring the Squid proxy server on Linux

    Installing and configuring the Squid proxy server in Linux may sound complicated, but it's actually a straightforward process. Here are the steps that will help you install and configure Squid in Linux.

    Step 1: Install Squid

    The first step is to install Squid itself. This can be done using your Linux distribution's package manager. For example, on Ubuntu or Debian you can use the apt command:

     sudo apt-get update sudo apt-get install squid

     

    Step 2: Configuring Squid

    After installing Squid, the next step is to configure it. The Squid configuration file is usually found in /etc/squid/squid/squid.conf. You can open this file in a text editor to edit it. For example, using vim:

     sudo vim /etc/squid/squid.conf

    There are many different settings in this file that you can customize depending on your needs. To get started, you will probably want to customize the following settings:

    1. http_port: This parameter defines the port on which Squid will listen for incoming connections. The default is 3128.

    2. acl: This defines the access control lists (ACLs) that can be used to restrict access to the proxy server.

    3. http_access: This parameter defines which ACLs are allowed or denied for access to the proxy server.

    A basic configuration example might look like this:

    http_port 3128
    
    acl localnet src 192.168.1.0/24
    
    http_access allow localnet
    
    http_access deny all
    
     

     Step 3: Restart and test Squid

    After you complete the configuration, you need to restart Squid to apply the changes:

     sudo systemctl restart squid

     

    Now Squid should be configured and running on your server. You can check its status as follows:

     sudo systemctl status squid

     

    If everything is configured correctly, you will see the Squid service running.

     

    Step 4: Configure the client to use Squid

    Now that Squid is configured on your server, you need to configure client computers to use Squid as their proxy server. This can be done in each client's network settings. You need to specify the IP address of your Squid server and the port that you specified in the http_port parameter in the Squid configuration file.

     

    Step 5: Configuring and Enforcing Policies

    Squid offers the flexibility to configure access policies, blocking certain sites, restricting access at certain times, and more. This can be configured using access control lists (ACLs) in the Squid configuration file.

    Here's an example of how you can restrict access to certain sites:

     acl blocked_sites dstdomain .facebook.com .youtube.com
    
    http_access deny blocked_sites

    This will block all requests to facebook.com and youtube.com.

    After making changes to the Squid policy, be sure to restart Squid to apply the changes:

     sudo systemctl restart squid

     

    Closure

    Squid is a powerful and flexible proxy and caching server that can help improve network performance and provide flexible traffic control. I hope this simple tutorial has helped you get started with Squid on Linux.