Linux: Полное руководство
Шрифт:
Прокси-сервер SQUID образуют несколько программ, в числе которых сам демон squid, а также программа dnsserver — программа обработки DNS-запросов. Когда запускается squid, то сначала он запускает заданное количество процессов dnsserver, каждый из которых работает самостоятельно и может осуществлять только один поиск в системе DNS. За счет этого уменьшается общее время ожидания ответа DNS.
18.2. Установка SQUID
Я использую версию squid 2.5. Пакет 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 использует файл конфигурации
Укажите прокси-провайдера (тот сервер, который станет вашим «соседом» (neighbour, peer)):
Установите объем памяти, разрешенный для кэша squid, в байтах, и каталог для дискового кэша:
где 1024 — количество мегабайтов, отводимое под кэш в указанном каталоге. В этом каталоге будут храниться кэшированные файлы. Стоит ли говорить, что если у вас несколько жестких дисков, то кэш нужно разместить на самом быстром из них.
Укажите узлы, которым разрешен доступ к прокси-серверу:
Укажите разрешенные SSL-порты:
Запретите метод CONNECT для всех портов, кроме указанных в acl SSL_ports:
Запретите доступ всем, кроме тех, кому можно:
Пропишите пользователей, которым разрешено пользоваться SQUID (в рассматриваемом примере это den, admin и developer):
Тэги maximum_object_size
Ниже приведен пример запрета доступа к любому URL, который соответствует шаблону games, и разрешения доступа ко всем остальным:
18.4. Запуск SQUID
Первый раз squid нужно запускать с ключом -z, чтобы создать и очистить каталог кэша:
Еще несколько полезных ключей, с которыми можно запускать squid, перечислены в таблице 18.2.
Ключи запуска squid Таблица 18.2
Ключ | Назначение |
---|---|
– а порт | Задает альтернативный порт для входящих HTTP-запросов |
– d | Включает ражим вывода отладочной информации в стандартный поток ошибок |
– f файл | Задает альтернативный файл конфигурации, который должен будет использоваться вместо стандартного squid.conf |
– h | Выдает справочную информацию |
– k reconfigure | Посылает сигнал HUP, что приводит к тому, что SQUID заново прочитает свой конфигурационный файл |
– k shutdown | Завершение работы прокси-сервера. При этом он подождет, пока будут завершены все соединения |
– k interrupt | Немедленно завершить работу прокси-сервера, без ожидания завершения соединений |
– k kill | Завершение без закрытия журналов |
– u порт | Задает альтернативный порт для входящих ICP-запросов |
– s | Включает журналирование с помощью syslog |
– v | Выдает информацию о версии SQUID |
– z | Очищает каталог кэша |
– D | Запрещает DNS-тест при запуске |
– N | Запрещает становиться демоном (фоновым процессом) |
– Y | Более быстрое восстановление после сбоев |
18.5. Расширенные настройки SQUID. Конфигурационный файл squid.conf
18.5.1. Параметры сети
В файле squid.conf могут быть заданы следующие параметры сети:
♦ http_port — порт для запросов клиентов. С этого порта прокси-сервер будет ожидать и обрабатывать запросы клиентов. Значение по умолчанию равно 3128;
♦ icp_port — порт для общения с соседями через ICP. Если «соседей» (peer) нет, то установите icp_port 0. По умолчанию используется значение 3130. При использовании этого параметра нужно установить ключ --enable-htcp для директивы htcp_port 4827;