Настройка кэширующего прокси сервера Squid на платформе Linux Debian

В данной статье приводится пример быстрой настройки кэширующего прокси сервера Squid в Linux Debian. Результатом настройки станет возможность выхода в Интернет через данный сервер по протоколам: http, https и ftp.

Сразу оговорюсь, что полученный сервер не является сетевым фильтром и потенциально уязвим для сетевых атак. О том как настраивать firewall буду рассказывать чуть позже. А пока приступим к настройке нашего Squid.

Настройка сервера осуществляется на базе ОС Linux Debian 5.0. Все приводимые ниже команды должны выполняться с правами суперпользователя (root).

Если Вы пользуетесь Apteture с загрузкой пакетов из сети, рекомендую перед установкой обновить списки актуальных пакетов:

# apt-get update

Запускаем установку Squid:

# apt-get install squid

После установки, требуется небольшая настройка. Открываем в редакторе конфигурационный файл Squid, который должен располагаться в /etc/squid/squid.conf. В этом файле находим строки:

acl localnet src 10.0.0.0/8
acl localnet src 172.16.0.0/12
acl localnet src 192.168.0.0/16

Эти строки необходимо закоментировать. И добавить свою строку с параметрами собственной локальной сети. Должно получиться так:

# acl localnet src 10.0.0.0/8
# acl localnet src 172.16.0.0/12
# acl localnet src 192.168.0.0/16
acl localnet src 192.168.1.0/24 # Собственная локальная сеть

В последней строке вместо 192.168.1.0/24 нужно подставить параметры Вашей сети.

Чуть ниже комментария # TAG: http_access необходимо найти строку:

http_access allow localhost

или

http_access allow manager localhost

Сразу после этой строки добавляем строку:

http_access allow localnet

Разрешая тем самым доступ в сеть всем компьютерам из локальной сети. После этого сохраняем файл squid.conf и перезапускаем Squid сервер:

# /etc/init.d/squid restart

Если Вы с конфигурационный файл внесли изменения из ошибок, то Squid должен успешно перезагрузиться. При возникновении ошибки можно узнать из-за чего она произошла в Log-файле: /var/log/squid/cache.log

Настройка обозревателя на работу через Proxy-сервер

В данном варианте настройки наш сервер не может автоматически маршрутизировать сетевые запросы на порт прокси сервера. Поэтому обозревателям нужно указывать явно адрес нашего сервера.

Важно, чтобы прокси сервер в локальной сети имел фиксированный IP-адрес. Предположим, что у Вас это 192.168.1.1. Например для настройки Internet Explorer требуется открыть Сервис-Свойства обозревателя-Подключения-Настройка сети. В открывшемся окне поставить галочку в поле Использовать прокси-сервер для локальных подключений. Поставить галочку на Не использовать прокси-сервер для локальных адресов. В поле Адрес ввести IP-адрес нашего прокси сервера: 192.168.1.1. В поле Порт ввести порт, применяемый Squid по-умолчанию: 3128.

После этих настроек Ваш обозреватель будет выходить в сеть через наш новый прокси-сервер. В других обозревателях настройка аналогичная приведенной выше для Microsoft Internet Explorer.

Порт прокси-сервера можно поменять по своему усмотрению в файле /etc/squid/squid.conf. Он задан в строке:

http_port 3128

Заключение

Установка и настройка кэширующего прокси сервера на базе Squid это всего лишь первый этап в создании производительного шлюза в Интернет. Чуть позже я расскажу как настроить «Прозрачный прокси сервер», Firewall, как можно вести статистику посещений пользователями сайтов пользователями локальной сети и как блокировать доступ к отдельным сайтам.