• store_avg_object_size 13 KB – предполагаемый средний размер объекта, используемый для расчетов;
• store_objects_per_bucket 20 – число объектов на хэш-корзину;
• client_db on | off – сбор статистики о клиентах;
• netdb_iow 900 – нижняя граница для базы данных измерения ICMP;
• netdbjiigh 1000 – верхняя граница для базы данных измерения ICMP;
• netdb_ping_period 5 minutes – минимальное время между посылок ping-пакетов в одну и ту же сеть;
• query_icmp on | off – должны ли соседи в IСР-ответы включать ICMP-данные;
• test_reachabiiity on | off – если включить, то ответ icpjmiss будет заменяться на icp_miss_nofetch, если сервер отсутствует в базе данных ICMP или RTT равен нулю;
• buffered_iogs on | off – при включении запись в журнал буферизуется;
• always_direct allow| deny [!] aclname. – запросы, удовлеворяющие данным ACL, не кэшировать, а всегда направлять к первоисточнику;
• never_direct allow| deny [!] aclname. – запросы, удовлеворяющие данным ACL, всегда кэшировать;
• anonymize_headers allow| deny header_name.. – перечень заголовков, которые нуждаются в анонимизации;
• fake_user_agent none – если заголовок User-Agent фильтруется с помощью анонимизатора, то подставляется эта строка;
• minimum_retry_timeout 5 seconds – если сервер имеет несколько IP-адресов, то тайм-аут соединения делится на их количество;
• maximum_singie_addr_tries 3 – сколько раз пытаться соединиться с сервером, имеющим один IP-адрес; если сервер имеет несколько IP-адресов, то каждый из них будет опробован один раз;
• snmp_port 3401 – порт, который слушает Squid для SNMP-запросов;
• snmp_access allow| deny [!] aclname… – определяет, кто будет допущен к SNMP-порту;
• offiine_mode on | off – если включить, то Squid будет брать объекты только из кэша и не будет пытаться обращаться к первоисточникам;
• uri_whitespace strip – что делать с запросами, имеющими пробелы в URI; возможные варианты:
– strip – удалять пробелы;
– deny – сообщать Invalid Request (ошибочный запрос);
– allow – передавать как есть;
– encode – кодировать в соответствии с RFC 1738, передавать дальше;
– chop – остаток после первого же пробела отбрасывать;
• mcast_miss_addr адрес – по этому multicast-адресу посылается сообщение при каждом «непопадании» в кэш;
• mcast_miss_port порт – этот порт не пользуется для посылки сообщения;
• strip_query_terms on – удалять параметры запроса перед записью в журнал;
• ignore_unknown_nameservers on – игнорировать сообщения от DNS-серверов, с которыми Squid не работает.
Пример конфигурации Squid
Как вы уже заметили, опций для конфигурации Squid очень много. Для быстрой настройки proxy-сервера можно воспользоваться приведенными ниже параметрами. Конечно они не являються идеальными, наверняка тонкая настройка поможет вам оптимизировать сервер как с точки зрения увеличения производительности, так и с точки зрения безопасности.
Возьмем стандартный файл Squid.conf и отредактируем только нижеприведенные строки:
• http_port 3128 – номер порта, на котором Squid будет слушать команды от клиентов;
• hierarchy_stoplist cgi-bin, chat – слова в URL, при обнаружении которых proxy-сервер будет не кэшировать объекты, а напрямую перенаправлять запрос серверу;
• cache_mem 16 MB – сколько оперативной памяти Squid может забрать под свои нужды. Чем больше выделить памяти – тем быстрее будут обрабатываться запросы. Весьма зависит от количества клиентов;
• maximum_object_size 16384 KB – максимальный размер объектов, которые будут сохранены в кэше. Размер специфичен для ваших задач и объема жесткого диска;
• cache_dir /usr/local/Squid/cache 2048 16 256 – указывает proxy-серверу, где сохранять кэшируемые файлы. Под кэш выделяется два гигабайта и создается 16 и 256 каталогов 1-го и 2-го уровня;
• ftp_user anonymous@vasya.ru – задает proxy-серверу, под каким паролем регистрироваться на анонимных FTP-серверах;
• negative_ttl 1 minutes – время жизни страничек с ошибкой;
• positive_dns_tti 6 hours – время жизни удачного преобразования DNS-имен в IP-адреса;
• negat ive_dns_tt 1 5 minutes – время жизни соответственно удачного и неудачного преобразования DNS-имен в IP-адреса.
Дальнейшие наши действия касаются разграничения прав пользователей.
Сначала необходимо определить ACL (Access Control List, список управления доступом). Сначала закомментируем все строчки в файле Squid.conf, начинающиеся на aci. Затем пишем свои правила. К примеру:
• acl users proxy_auth vasya tolik petya nina – этой строчкой мы указываем proxy-серверу правило, по которому разрешаем пускать вышеперечисленных пользователей с использованием авторизующей программы через Squid;
• acl BANNER url_regex banner reklama linkexch banpics us\.yimg\.com [\./]ad[s]? [\./] – это правило определяет адреса, содержащие рекламу. Интересна для тех, кто хочет отказаться от получения разнообразных баннеров. Позволяет экономить сетевой трафик;
Читать дальше
Конец ознакомительного отрывка
Купить книгу