Прокси-сервер SQUID образуют несколько программ, в числе которых сам демон squid, а также программа dnsserver — программа обработки DNS-запросов. Когда запускается squid, то сначала он запускает заданное количество процессов dnsserver, каждый из которых работает самостоятельно и может осуществлять только один поиск в системе DNS. За счет этого уменьшается общее время ожидания ответа DNS.
18.2. Установка SQUID
Я использую версию squid 2.5. Пакет squid входит в состав современных дистрибутивов, а если его у вас почему-то нет, то скачать можно с www.squid-cache.org
.
При сборке SQUID из исходных кодов первым шагом должна быть команда
# ./configure --prefix=/usr/local/squid
SQUID будет установлен в каталог, заданный ключом prefix. Другие ключи сценария configure перечислены в таблице 18.1.
Ключи сценария configure Таблица 18.1
Ключ | Назначение |
---|---|
--enable-icmp | Измерить путь до каждого HTTP-сервера при запросах с помощью ICMP |
--enable-snmp | Включить SNMP-мониторинг |
--enable-delay-pools | Управление трафиком |
--disable-weep | Отключить Web Cache Coordination Protocol |
--enable-kill-parent-hack | Более корректный shutdown |
--enable-splaytree | Позволяет увеличить скорость обработки ACL |
18.3. Настройка SQUID
Сервер SQUID использует файл конфигурации squid.conf
, который обычно располагается в каталоге /etc/squid
(или /usr/local/squid/etc
— более ранние версии). Подробнее на отдельных настройках мы остановимся чуть позже. А сейчас просто по шагам произведем настройку SQUID. Отредактируйте в этом файле следующие строки.
Укажите прокси-провайдера (тот сервер, который станет вашим «соседом» (neighbour, peer)):
cache_peer proxy.isp.ru
Установите объем памяти, разрешенный для кэша squid, в байтах, и каталог для дискового кэша:
cache_mem 65536
cache_dir ufs /usr/local/squid/cache 1024 16 256
где 1024 — количество мегабайтов, отводимое под кэш в указанном каталоге. В этом каталоге будут храниться кэшированные файлы. Стоит ли говорить, что если у вас несколько жестких дисков, то кэш нужно разместить на самом быстром из них.
Укажите узлы, которым разрешен доступ к прокси-серверу:
acl allowed_hosts src 192.168.1.0/255.255.255.0
acl localhost src 127.0.0.1/255.255.255.255
Укажите разрешенные SSL-порты:
acl SSL_ports port 443 563
Запретите метод CONNECT для всех портов, кроме указанных в acl SSL_ports:
http_access deny CONNECT !SSL_ports
Запретите доступ всем, кроме тех, кому можно:
http_access allow localhost
http_access allow allowed_hosts
http_access allow SSL_ports http_access deny all
Пропишите пользователей, которым разрешено пользоваться SQUID (в рассматриваемом примере это den, admin и developer):
ident_lookup on
acl allowed_users user den admin developer
http_access allow allowed_users
http_access deny all
Тэги maximum_object_size и maximum_object устанавливают ограничения на размер передаваемых объектов.
Ниже приведен пример запрета доступа к любому URL, который соответствует шаблону games, и разрешения доступа ко всем остальным:
acl GaMS url_regex games
http_access deny GaMS
http_access allow all
18.4. Запуск SQUID
Первый раз squid нужно запускать с ключом -z, чтобы создать и очистить каталог кэша:
# /usr/local/squid/bin/squid -z
Еще несколько полезных ключей, с которыми можно запускать squid, перечислены в таблице 18.2.
Ключи запуска squid Таблица 18.2
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии