Лайфхаки

Маленькие, полезные хитрости

Настройка прокси сервера Ubuntu. О Squid

21.07.2022 в 10:52

Настройка прокси сервера Ubuntu. О Squid

Это кэширующий прокси-сервер для интернета, поддерживающий HTTP, HTTPS, FTP и не только. Он снижает пропускную способность и улучшает время отклика за счет кэширования и повторного использования часто запрашиваемых веб-страниц.

У Squid широкие возможности контроля доступа и он является отличным ускорителем сервера. Он работает на большинстве доступных операционных систем, включая Windows, и лицензируется по лицензии GNU GPL.

По-простому 一 это прокси-сервер, посредник между клиентом (компьютером пользователя) и ресурсом (сайтом, сервером). Клиент отправляет запрос к ресурсу через прокси-сервер, который, в свою очередь, либо делает запрос от своего имени и возвращает ответ клиенту, либо берет его из кэша.

Пример
Отец отправляет ребенка в конкретный магазин за хлебом. Ребенок знает, где расположен магазин, идет и покупает хлеб от своего имени и несет хлеб домой. Это пример работы прокси-сервера с использованием кэша. Если немного изменить ситуацию и ребенок не знает, где магазин, он его находит и возвращается домой с хлебом. Это пример работы прокси-сервера без использования кэша. При правильной настройке ребенок запомнит местоположение магазина, а мы получим кэширующий прокси-сервер.

Теперь следует немного разобраться с настройками сети в Ubuntu 20.04. В случае простой настройки прокси-сервера для анонимизации нам потребуется сервер с одним сетевым интерфейсом. В нашем случае сервер будет настроен как простой шлюз, через который будут проходить запросы клиентов, поэтому сетевых интерфейсов потребуется 2.

3proxy Ubuntu. Введение

Прокси-сервер (от англ. proxy — «представитель, уполномоченный») выступает в роли посредника в коммуникациях между вашим ПК/мобильным и Интернетом.

Настройка прокси сервера Ubuntu. О Squid

Причин использовать его может быть множество, включая:

  • Обход ограничений доступа к определенным веб-ресурсам установленным администратором локальной сети.
  • Обход региональных ограничений доступа у определённых веб-ресурсов.
  • Анонимный доступ к веб-ресурсам путём сокрытия реального IP-адреса.

Среди альтернатив можно выделить Squid, но он:

  • Сложен в настройках.
  • Потребляет больше ресурсов.
  • Не скомпилирован с поддержкой SSL по умолчанию и сложен для компиляции.

Преимущества и недостатки

Он включает в себя:

  • HTTP прокси с поддержкой HTTPS и FTP.
  • SOCKSv4/SOCKSv4.5/SOCKSv5 прокси.
  • POP3 прокси.
  • SMTP прокси.
  • AIM/ICQ прокси.
  • MSN messenger / Live messenger прокси.
  • FTP прокси.
  • Кэширующий DNS прокси.
  • TCP и UDP портмапперы.

Так же доступны дополнительные возможности, такие как:

  • Управление доступом.
  • Ограничение ширины потребляемого канала.
  • Ограничение трафика на день, неделю и месяц.
  • Перенаправление соединений.
  • Построение цепочек соединений.
  • Ротация лог-файлов.
  • Ведение журналов через ODBC и syslog.
  • Поддержка IPv6.

и ряд других.

К недостаткам можно отнести:

  • Отсутствие поддержки кеширования веб-страниц.
  • Отсутствие в официальных репозиториях некоторых linux-дистрибутивов (включая Debian и Ubuntu), но в репозиториях Gentoo, RedHat, Alt Linux присутствует.

Технические требования

  • Операционная система Debian GNU/Linux (версии с 7 по 9) или Ubuntu (версии с 14.04 по 17.04) любой разрядности (32/64 бита).
  • Пользователь с привилегиями root (как вариант доступ через sudo).

Подготовка, скачивание, компиляция

Подготовка

В связи с отсутствием данного ПО в официальных репозиториях Debian и Ubuntu, установка будет происходить из исходников.

Предварительно установим всё необходимое для дальнейшей работы.

Прокси-сервер Ubuntu. How to Install and Configure Squid Proxy on Ubunt. 04

Это руководство проведет вас через процесс настройки прокси-сервера Squid в Ubuntu 18.04 и настройки веб-браузеров Firefox и Google Chrome для его использования.

Squid - это полнофункциональный прокси-сервер для кеширования, поддерживающий популярные сетевые протоколы, такие как HTTP, HTTPS, FTP и другие. Squid в основном используется для повышения производительности веб-сервера путем кэширования повторяющихся запросов, фильтрации веб-трафика и доступа к контенту с географическим ограничением.

Установка Squid на Ubuntu

Пакет Squid включен в репозитории Ubuntu 18.04 по умолчанию. Чтобы установить его, введите следующие команды от имени пользователя sudo :

sudo apt updatesudo apt install squid

После завершения установки служба Squid запустится автоматически.

Чтобы убедиться, что установка прошла успешно и служба Squid запущена, введите следующую команду, которая распечатает статус службы:

sudo systemctl status squid

● squid.service - LSB: Squid HTTP Proxy version 3.x Loaded: loaded (/etc/init.d/squid; generated) Active: active (running) since Thu 2019-06-27 11:45:17 UTC …

Настройка Squid

Squid можно настроить, отредактировав/etc/squid/squid.confфайл. Вы также можете использовать отдельные файлы с параметрами конфигурации, которые можно включить с помощью директивы «include».

Linux Proxy Server. How to Install & Configure Squid Linux Proxy Server

Linux proxy server or proxy server generally is a server that saves the visited web pages for later requests, so if you try to visit the same web page or anyone else, you’ll get the page from the proxy server.

This is very useful, it makes web surfing much faster and reduces traffic, which means less cost. Caching servers can decrease external traffic to 45%.

Another main advantage for proxy servers, you can configure the proxy with some settings for access control. For example, you can restrict access to specific websites.

If you surf the web before from an anonymous proxy, this is a proxy server. You can choose any of the available Linux proxy servers out there like Squid, Varnish, Polipo, TinyProxy, and more. In this post, we will discuss the most common Linux proxy server, which is Squid.

Install Squid

Installing squid proxy server is very simple. For Red Hat based distro, you can install it like this:

$ dnf -y install squid

Or if you are using Debian based distro, you can install it like this:

$ apt-get -y install squid

Now you can start squid service and enable it at startup:

$ systemctl start squid $ systemctl enable squid

To squid proxy server, you can check the configuration file in

/etc/squid/squid.conf

Before we dig into the configuration, let’s see the proxy server in action.

Just change the proxy setting on your browser to the IP address of the proxy and the port 3128 since this is the squid default port. You can change the default port by changing the http_port  option in the configuration file.

As shown in the image, I’ve pointed my browser to my Linux proxy server, and I can browse the web without any problems.

If you are using the iptables firewall , don’t forget to open the squid server port.

Allow IP address range

If you open the configuration file /etc/squid/squid.conf , you will see the rules that allow IP addresses to connect to the proxy server like this:

acl localnet src 192.168.0.0/16

However, you can add a new ACL entry to allow a range of IP addresses to connect to your proxy server:

acl localnet src 212.80.113.0/16

Then save the file and restart squid service:

$ systemctl restart squid

Very easy, right?

Also, if you remove any ACL from the file, all IP addresses from that range will not be able to connect to the proxy server.