13  /  16

Конфигурация SQUID

Proxy Server

Прокси-сервер — это дополнительное звено между вами и интернетом. Некий посредник, который отделяет человека от посещаемого сайта.

Такие посредники довольно многофункциональны и используются в локальных сетях при сценариях:

  1. Для повышения уровня безопасности при выходе в сеть. Базовые атаки будут направлены именно на прокси.
  2. Чтобы ускорить доступ к некоторым ресурсам в интернете за счет кэширования трафика.
  3. Для мониторинга использования ресурса
  4. Собирать статистику часто посещаемых ресурсов
  5. Ну и для того, чтобы контролировать использования трафика, блокировка определенного контента (сайтов, мессенджеров, ограничение на типы файлов при закачке).

Все за счет того, что прокси подменяет IP-адрес, а трафик проходит через дополнительный сервер, на котором могут быть кэшированные данные или организованы дополнительные механизмы защиты данных. 

Подробный мануал

Конфигурация SQUID

Рассмотрим пример конфигурации по топологии:



Задача: Выпустить в интернет три локальной сети, общая скорость интернета 30 Мб/ceк, каждой сети выделить по 10 Mb/sec ширины канала, заблокировать социальные сети ( ok.ru, odnoklassniki.ru, vk.com, facebook.com ), ограничения действительны в рабочее время с 9:00 до 18:00 так же по рабочим дням (пяти дневка), работать в интернете разрешена только по портам: 80, 443, 8080, 110 и 25

Установка необходимых пакетов:

sudo apt install squid

Если произошла ошибка при установки, значит нужно просто добавить рабочий репозиторий, я использую:

deb http://http.us.debian.org/debian/ bullseye main contrib non-free

Статус службы можно посмотреть с помощью команды:

systemctl status squid

Первым делом сделаем бэкап конфигурационного файла:

sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.ORIG

Обнуляем содержимое (только в учебном процессе):

echo "" |sudo tee /etc/squid/squid.conf

Настраиваем конфигурационный файл:

sudo nano /etc/squid/squid.conf

Содержимое:

visible_hostname Proxy
http_port 3128

acl lan1 src 192.168.1.0/24
acl lan2 src 192.168.2.0/24
acl lan3 src 192.168.3.0/24

acl lan src 192.168.0.0/16

acl safe_ports  port 80 443 8080 110 25 53
acl block_url dstdomain "/etc/squid/block_url.txt"
acl WorkTime  time MTWHF  09:00-18:00

delay_pools 3

delay_class 1 1
delay_access 1 allow lan1
delay_parameters 1 1280000/1280000

delay_class 2 1
delay_access 2 allow lan2
delay_parameters 2 1280000/1280000

delay_class 3 1
delay_access 3 allow lan3
delay_parameters 3 1280000/1280000

http_access deny lan block_url
http_access allow lan safe_ports WorkTime
http_access deny all

Создаем файл для блокировки заданных url:

sudo nano /etc/squid/block_url.txt 

содержимое:

ok.ru
odnoklassniki.ru
vk.com
facebook.com

Перечитать конфиг файл (не перезапуская тем самым не тратя время на остановку):

sudo squid -k reconfigure

Минус ограничение скорости в squid — это то, что пользователей Вы можете ограничить только по HTTP/S трафику. Все, что проходит мимо Squid — не ограничивается.