Linux: Полное руководство
Шрифт:
Пропишите пользователей, которым разрешено пользоваться SQUID (в рассматриваемом примере это den, admin и developer):
Тэги maximum_object_size и maximum_object устанавливают ограничения на размер передаваемых объектов.
Ниже приведен пример запрета доступа к любому URL, который соответствует шаблону games, и разрешения доступа ко всем остальным:
18.4.
Первый раз 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;
♦ tcp_outgoing_address — при отправлении информации указанный адрес будет использован в качестве исходного. Значение по умолчанию: tcp_outgoing_address 255.255.255.255;
♦ udp_outgoing_address —
то же самое, что и предыдущая директива — но только для ICP. Значение по умолчанию: udp_outgoing_address 255.255.255.255. То же, но для ICP при приеме — директива udp_incoming_address со значением по умолчанию 0.0.0.0;♦ passive_ftp on | off — по умолчанию этот режим включен, но если прокси-сервер находится за брандмауэром, то параметр passive_ftp нужно выключить.
18.5.2. Параметры соседей
«Соседи» — это другие кэширующие серверы, в кэшах которых SQUID ищет запрошенный ресурс перед тем, как обратиться к нему напрямую. Так, SQUID-сервер локальной сети может обратиться к серверу провайдера, региона и т.д. в расчете на то, что чем больше пользователей, тем больше шанс найти копию запрошенных данных ближе, чем по оригинальному адресу. Существует два типа «соседей»:
♦ parent (старший): если запрошенных данных не оказалось в кэше у parent, тот пересылает запрос дальше и возвращает подчиненному готовый ответ. Если SQUID получает отказ (TCP_DENIED) от parent, то обращается к ресурсу напрямую;
♦ sibling (равный): если запрошенных данных не оказалось в кэше у sibling, то он просто возвращает сообщение об этом, не предпринимая никаких дальнейших действий.
Каждый «сосед» прописывается отдельной строкой следующего формата:
где: hostname — имя узла-«соседа»;
type — тип соседа: parent — старший, sibling — одного уровня;
proxy-port — порт прокси-сервера;
icp-port — порт ICP;
options — параметры.
18.5.3. Управление кэшем
За управление кэшем отвечают следующие директивы:
♦ cache_mem <число> — задает размер оперативной памяти, отводимой под кэш. Размер этот указывается в байтах, килобайтах, мегабайтах (MB) или гигабайтах (GB). По умолчанию используется значение 8 MB;
♦ cache_dir <тип> <каталог> <размер> <1уровня_кат> <2уровня_кат> — задает местоположение кэша на диске и его параметры:
• тип — тип хранения. Практически всегда используется значение ufs;
• каталог — задает имя каталога, в котором будет храниться кэш;
• размер — размер (в мегабайтах) отводимого под кэш пространства на жестком диске;
• 1уровня_кат — максимальное число подкаталогов 1 уровня, которое может быть в указанном каталоге кэша;
• 2уровня_кат — максимальное количество подкаталогов, которое может быть в каждом из подкаталогов 1 уровня.
Значение по умолчанию: cache_dir ufs /usr/local/squid/cache 100 16 256. Допускается использование нескольких записей с директивой cache_dir для определения нескольких каталогов для размещения кэша;
♦ сасhe_swap_high <число> — процент заполнения кэша, по достижении которого начинается ускоренный процесс удаления старых объектов. Значение по умолчанию равно 95;
♦ cache_swap_low <число> — процент заполнения кэша, по достижении которого прекращается удаление старых объектов. Значение по умолчанию равно 90;
♦ maximum_object_size <число> KB — максимальный размер кэшируемого объекта. Значение по умолчанию равно 4096 KB;
♦ minimum_object_size — файлы меньшего размера не кэшируются. Значение по умолчанию: 0 KB.
18.5.4. Протоколирование
Ниже перечислены режимы протоколирования SQUID с указанием соответствующих журналов. Если какой-то журнал вам не нужен, установите none вместо имени файла.
♦ cache_access_log /usr/lосal/squid/logs/aссеss.log — протоколирование запросов к SQUID:
♦ cache_log /usr/local/squid/logs/cache.log — протоколирование запусков процессов;