Установка и настройка Squid в Ubuntu

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

Типы прокси-серверов

Прокси-сервер Веб-браузер на клиенте настроен на указание IP-адреса прокси-сервера. Клиент может обойти прокси-сервер, удалив или изменив конфигурацию адреса прокси. Администратор может предотвратить это, создав объект групповой политики в Active Directory, который блокирует доступ к настройкам веб-браузера. Прокси-сервер также может функционировать как кеширующий сервер.
Прозрачный прокси-серверМаршрутизатор отправляет весь трафик через определенные порты на прозрачный прокси-сервер, поэтому клиенты не могут обойти прокси-сервер. Прозрачный прокси-сервер также может функционировать как сервер кэширования.
Обратный прокси-сервер (кеширование)Обратный прокси-сервер или сервер кэширования размещаются перед веб-сервером или перед ним, чтобы ускорить доставку часто запрашиваемых страниц и защитить веб-сервер путем создания слоя разделения и избыточность.
схема сценариев прокси-сервера

Squid — один из самых популярных и популярных прокси-серверов в мире. Он бесплатен для скачивания, прост в установке и может быть реализован на любом дистрибутиве Linux. Вот шаги по установке и настройке Squid в дистрибутиве Ubuntu Linux.

Установка Squid

Откройте терминал и введите следующие команды для установки:

sudo apt-get update
sudo apt-get install squid squid-common

Способы запуска и остановки Squid:

sudo service squid start (stop|restart|status)
sudo /usr/sbin/squid (запуск программы)
sudo pkill -9 squid (принудительное завершение процесса)

Настройка Squid

Перейдите в папку Squid, чтобы найти файл конфигурации squid.conf

cd /etc/squid
ls (вы должны увидеть файл squid.conf)

Создайте резервную копию файла squid.conf

sudo cp squid.conf squid.conf.bak

В целях тестирования откройте Firefox и настройте его на отправку веб-запросов на прокси-сервер Squid (узнать свой IP-адрес можно при помощи команды ifconfig)

Откройте Firefox

Правка> Настройки, Дополнительно> Вкладка Сеть> Настройки соединения:

Ручная настройка прокси: HTTP-прокси: ваш IP-адрес или loopback адрес 127.0.0.1, порт: 3128
Нажмите Ok и Закрыть

Теперь, если вы попытаетесь зайти на такой сайт, как Google, вы должны увидеть сообщение об ошибке — Отказ в доступе от Squid. Это означает, что Squid активно фильтрует трафик.

Далее нам нужно настроить Squid для разрешения веб-трафика через прокси-сервер. Откройте squid.conf в текстовом редакторе:

sudo nano squid.conf

Измените имя вашего прокси-сервера Squid (строка 3399).

TAG: visible_hostname

visible_hostname YourNameProxyServer

Вы можете настроить правила доступа для вашего прокси-сервера Squid (строки с 331 по 831 предназначены для контроля доступа). Обратите внимание, что в строках 606-630 определены локальные сети и используемые порты (службы). Строки активной конфигурации — это строки, которые не закомментированы, то есть они не начинаются со знака #.

Для повторного включения веб-доступа раскомментируйте строку 676

http_access allow localnet

Чтобы убедиться, что сеть теперь работает, сохраните изменения в файле squid.conf и перезапустите сервер Squid.

sudo service squid restart

Обновите ваш браузер Firefox, и ваша домашняя страница должна быть видна.

Собственный ACL

Теперь мы можем попрактиковаться в написании собственного ACL (списка доступа) в файле squid.conf для блокировки определенных доменов и веб-сайтов. Мы можем написать свой собственный ACL в конце строки acl вокруг строки 631. Из пустой строки напишите следующие строки, чтобы проверить блокировку домена.

acl blocked_websites dstdomain .msn.com .yahoo.com
http_access deny blocked_websites

Перезапустите сервер Squid и проверьте, запрещает ли Squid доступ к вашим заблокированным доменам / веб-сайтам в Firefox.