6.Настройка кэширования и логов в прокси-сервере Squid

 

Настройка логирования

Squid имеет мощную систему подробного логирования для контроля проходящего через прокси-сервер траффика. Логи делятся на три различных журнала:

  • access.log - содержит записи о запросах клиентов;
  • store.log - содержит записи, относящиеся к действиям с кэшем;
  • cache.log - содержит сообщения об ошибках, возникающих при работе Squid.

Чаще всего используется журнал access.log. Укажем в конфигурации собственный путь для его хранения:

access_log daemon:/etc/squid3/logs/access.log squid

Параметр, имеющий в примере значение “squid” определяет формат лог-файла. Можно задать формат лога “common” для того, чтобы можно было обрабатывать полученный журнал сторонними программами, но в таком случае стоит помнить, что этот формат лога не содержит всей информации, которая есть в логе по умолчанию. Помимо стандартных вариантов имеется возможность создать собственный формат лог-файла, используя директиву logformat. Подробную информацию о работе этой директивы можно найти в документации к продукту.

Директивы cache_log и cache_store_log позволяют указать путь к файлам cache.log и store.log соответственно. Они не требуют указания формата:

cache_log daemon:/etc/squid3/logs/cache.log 
cache_store_log daemon:/etc/squid3/logs/store.log 

Помимо различных видов журналов Squid имеет настройку уровней логирования. За глубину отладки отвечает директива debug_options. У неё два обязательных параметра - секция и глубина отладки:

debug_options ALL,1 # секция “ALL”, глубина отладки 1

Значение секции рекомендуется оставлять ALL (либо осторожно выбирать конкретную секцию из списка). Уровень логирования же может менятся в диапазоне от 1 до 9, где с ростом уровня увеличивается подробность логов, и, соответственно, количество записей в журнале. Как правило, уровень выше 5 редко используется в реальной жизни, потому что выводит уже слишком много “избыточной” информации для каждого произошедшего события.

Для того чтобы всегда иметь возможность начать новый файл логов и упорядочить их существует параметр количества ротаций:

logfile_rotate 31

Значение 31 означает, что при создании нового файла логов старый получит расширение от 0 до 30 и дальнейшая запись в него вестись не будет. Создание нового файла логов производится с помощью команды:

squid -k rotate

Таким образом, добавив в cron задачу каждый день создавать новый файл логов, можно иметь упорядоченный отчет обо всём прошедшем через прокси-сервер трафике за прошедший месяц.

Если даже с самым низким уровнем логирования объем логов возрастает до нежелательных масштабов - стоит применить дополнительные средства, вроде автоматического сжатия журналов или переноса их в отдельное хранилище. Так же можно изменить количество или частоту ротаций в зависимости от задачи. Можно хранить меньшее количество логов, либо чаще создавать свежий журнал, а старый архивировать и перемещать. Для прокси-сервера Squid есть множество надстроек и сторонних программ, упрощающих все этапы работы с лог-файлами.

Оставим без изменений остальные параметры и проверим файл настроек с помощью команды:

squid3 -k check

Эта команда предназначена для поиска ошибок в конфигурационном файле, если она ничего не выводит - значит ошибок нет.

Теперь осталось применить новые параметры:

service squid3 reload

После завершения настройки прокси-сервера перенаправим на него весь трафик локальной сети, внеся изменения в файл /etc/nat командой:

nano /etc/nat

Добавим в самый низ файла следующую строку:

#Перенаправление всего http-трафика на прокси-сервер
iptables -t nat -A PREROUTING -i eth1 ! -d 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.1:3128

После этого перезагрузим сервер для автоматического применения новых настроек:

reboot

Таким образом, несмотря на большое общее количество параметров настройки Squid, минимальный набор для начала работы достаточно скромен. Использование прокси-сервера Squid позволит вам быстро реализовать политику доступа групп пользователей или отдельных клиентов к ресурсам сети интернет, а так же мониторинг их деятельности и сбор статистики об использовании канала.

Настройка кэширования

Прокси-сервер Squid поддерживает два вида кэширования - кэш в оперативной памяти и на жестком диске. При их настройке стоит помнить, что кэширование в принципе может ускорить скорость обработки запросов, но может вызвать и обратный эффект - в случае неверно подобранных параметров конфигурации. Также немаловажным является тот факт, что любое кэширование влечет дополнительную нагрузку на ресурсы сервера, в частности, слишком большой объем кэша в RAM может полностью парализовать работу сервера, спровоцировав нехватку оперативной памяти.

В стандартной конфигурации Squid включен только RAM кэш, объем используемой памяти установлен на 256Мб. Увеличим объем кэша и установим максимальный размер кэшированного объекта с помощью соответствующих директив:

cache_mem 1024 MB # объем доступной для кэширования памяти
maximum_object_size_in_memory 512 KB # максимальный размер объекта в кэше 

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

За использование HDD кэша отвечает директива cache_dir, имеющая формат:

cache_dir тип_хранилища путь_к_хранилищу размер L1 L2

cache_dir ufs /var/squid_cache 1024 16 256 

Размер кэша на диске указывается в мегабайтах, в примере выше кэш с максимальным размером 1 Гб будет хранится в папке /var/squid_cache. Тип хранилища ufs стандартный. Параметры 16 и 256 указывают количество директорий первого и второго уровня, эти значения так же прописаны в документации как стандартные.

Максимальный размер объекта в дисковом кэше также можно указать:

maximum_object_size 2 MB

  • 0 Los Usuarios han Encontrado Esto Útil
¿Fue útil la respuesta?

Artículos Relacionados

3. Настройка DHCP и NAT

Настройка DHCP На данном этапе уже есть возможность указать на локальной машине статический...

5. Ограничения по скорости Proxy server Squid

Ограничения по скорости На сегодняшний день, когда ушли в прошлое каналы с пропускной...

2. Настройка локальной сети для прокси-сервера Squid

Настройка локальной сети Прежде чем переходить к установке и настройке прокси-сервера Squid,...

7. Анонимный прокси-сервер Squid на базе LХС Ubuntu 20.04

#Обновим репозиторий нашей системы: apt-get updateapt-get dist-upgrade Перезагружаемся с...

8. Анонимный free-proxy сервер от sytes.ru !

Если вы это читаете значит Вас интересует тема анонимного прокси сервера "Anonymous proxy...