Новости
Семь Чёрных пятниц на неделе — и все в Serverspace!
Serverspace Black Friday
VB
11 июля 2022
Обновлено 26 августа 2022

Как установить и настроить Squid в Ubuntu 20.04

Введение

Squid — известное решение управления сетевым трафиком. Существует множество ипостасей его применения, самые популярные из которых - улучшение конфиденциальности (анонимизация), повышение безопасности или скорости соединения. Например, вы можете воспользоваться squid чтобы парсить содержимое сайта не «выдавая» свой IP-адрес. Прокси может быть полезен, чтобы избежать «географических» блокировок или исследовать различия в «поведении» целевого хоста в зависимости от местоположения клиента.

Подготовка

Перед началом работ стоит убедиться, что у вас есть компьютер с Ubuntu 20.04, с полномочиями root (sudo тоже сгодится). «Внешний» доступ по доменному имени возможен и удобен, но если его нет – не страшно, достаточно только знать IP сервера.

Настройка службы

Во-первых, авторизуйтесь как root и обновите кэш системных пакетов.


sudo -s
apt-get update

Squid уже давно является частью большинства "мейнстримных" репозиториев Ubuntu, разработчики скомпилировали готовый пакет и есть возможность не собирая его из исходного кода самостоятельно провести установку «в один клик».


apt-get -y install squid

рис.1

Для того, чтобы свежеустановленный squid стартовал как системный демон, при каждой перезагрузке машины, дайте в терминале команду:


systemctl enable squid

Кастомизация

Squid будет "считывать" параметры работы из файла /etc/squid/squid.conf. Стоит несколько подредактировать данный конфиг, найдите параметр http_port и вместо предустановленного значения подставьте любой неиспользуемый сетевой порт, предпочтительно номером выше 1024.

рис.2

Затем перейдите к строчке http_access deny all. Дальнейшие действия зависят от того, что вы хотите в итоге увидеть. Чтобы просто предоставить доступ всем, установите для этого параметра значение "allow all". Несколько более разумным будет проксировать соединения только с некоторых "доверенных" IP-адресов. Для этого вставьте директиву acl whitelist src "/etc/squid/whitelist" перед "http_access deny all".

рис.3

Не забудьте разрешить пропуск трафика squid через системный брандмауэр:


ufw allow squid

Затем добавьте свой настоящий IP в файл /etc/squid/whitelist и перезагрузите сервис.


curl ifconfig.me >> /etc/squid/whitelist
service squid restart

Допуск только авторизованных пользователей
Большинство прокси-сервисов с одной стороны, и многие клиентские приложения, (например, веб-браузеры), с другой стороны, поддерживают тот или иной механизм авторизации. Это могут быть токены или выделенные серверы авторизации, но в основном используется парольный доступ. Устойчивый пароль для squid можно создать с помощью внутренних механизмов операционной системы. Создайте файл с именем /etc/squid/pswds и затем «внесите» его в конфигурацию прокси-сервиса. Первый шаг - установка необходимого инструментария


apt-get install apache2-utils -y

Затем нужно будет создать учетные данные для последующей авторизации. Введите в терминале строку:


htpasswd -c /etc/squid/pswds <имя_пользователя>

 Утилита запросит создаваемый пароль. Придумайте его, затем введите дважды.

рис.4

Впоследствии нужно «интегрировать» только что созданную пару с демоном squid. Снова откройте файл с настройками squid текстовым редактором, раскомментируйте (или создайте, если их не существует) директивы:


auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/pswds
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

рис.5
Помните, что система будет "читать" свои конфиг-файлы "сверху вниз", данные параметры необходимо поместить выше опции "http_access deny all". Следует перезапустить сервис как только закончите редактирование:


service squid restart

Тест сервиса

Самый быстрый способ проверить что в итоге получилось - утилита curl. Просто выполните команду:


curl -v -x http://<имя пользователя>:<пароль>@:<порт> https://google.com

Полученный в итоге "код 200" свидетельствует об успехе:

рис.6
Настройка клиента

Если предыдущий шаг прошел успешно, вы готовы к настройке более "удобного" в использовании клиента. Например, популярный кейс - использование прокси в браузере. Покажу на примере Google Chrome. Чтобы «научить» его работать через прокси, выполните следующие действия:
Откройте настройки браузера (3 точки справа вверху окна, затем Настройки):

рис.7
Перейдите на вкладку «Система» и нажмите "Открыть настройки прокси-сервера для компьютера":

рис.8
Откроются общесистемные настройки. Нажмите "Настройка вручную", затем введите IP-адрес сервера, где вы устанавливали squid, а также порт прокси в соответствующие поля:

рис.9
Запустите Google Chrome и посетите адрес https://whoer.net. Вместо вашего реального IP должен отобразиться IP-адрес squid.

Итоги

Из этого материала вы узнали, как можно легко развернуть стабильный сервис для проксирования трафика практически без накладных расходов. Теперь вы знаете, как защитить его и отклонять подключения от неизвестных пользователей. Также вы умеете использовать веб-браузер в роли прокси-клиента и можете «скрыть» свой реальный IP за собственным анонимайзером.

Оценка:
5 из 5
Аverage rating : 5
Оценок: 1
050000 г. Алматы пр. Сейфуллина, д. 502
+7 (777) 555-36-66
ООО «ИТГЛОБАЛКОМ ЛАБС»