Категории
Самые читаемые

Linux - Алексей Стахнов

Читать онлайн Linux - Алексей Стахнов

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 79 80 81 82 83 84 85 86 87 ... 151
Перейти на страницу:

Вариант 1

Простой. На месте баннеров показываются разорванные картинки или перекрещенные прямоугольники (неполученные файлы).

1. Определяем сайты банерных сетей и создаем для них регулярные выражения.

2. Создаем в каталоге /usr/local/Squid/etc следующие файлы:

– banners_path_regex – содержит по одному регулярному выражению на строку;

– banners_regex – содержит по одному регулярному выражению на строку;

– banners_exclusion – это строки, трактуемые в предыдущих файлах как баннеры, но изменять которые не рекомендуется.

3. В Squid.conf добавляем следуюшие правила:

acl banners_path_regex urlpath_regex «/usr/local/Squid/etc/banners_path_regex»

acl banners_regex url_regex "/usr/local/Squid/etc/banners_regex"

acl banners_exclusion url_regex "/usr/local/Squid/etc/banners_exclusion"

http_access deny banners_path_regex !banners_exclusion

http_access deny banners_regex !banners_exclus ion

Вариант 2

Замена рекламных баннеров на свою картинку, которая находится на локальном для proxy-сервера компьютере.

1. Определяем сайты банерных сетей и создаем для них регулярные выражения.

2. На своем сервере создаем «заменитель» рекламных картинок – файл mybanner.gif.

3. Настраиваем перенаправление (редиректор) в файле Squid.conf – redirect_program /usr/local/Squid/bin/banner.pl.

4. Создаем прстой скрипт на Perl – banner.pl:

#!/usr/bin/perl

$|=1;

while (<>)

{

[email protected]регулярное-выражение@httр://www.myhost.оrg/[email protected];

print;

}

Конечно, можно сделать более элегагантно, однако данный метод работает, а настроить proxy-сервер можно за пару минут.

Разделение внешнего канала

Часто бывает так, что у вас есть внешний канал – скажем, 128 Кбит, и есть несколько групп пользователей с определенным приоритетом. И требуется, чтобы группа 1 имела одну фиксированную ширину наружного канала (скажем, 64 Кбит), а группа 2 и 3 – ширину наружного канала по 32 Кбит. Для решения этой непростой задачи мы также можем воспользоваться Squid.

Немного терминологии:

• пул – набор групп «емкостей» определенного класса;

• группа «емкостей» – часть пула, привязанная к хосту, сети или общая для всех;

• «емкость» ограниченного объема – та, в которую с определенной скоростью вливается внешний трафик, и из которой он раздается клиенту.

Определены три класса пулов:

• одна «емкость» на всех из этого класса;

• одна общая «емкость» и 255 отдельных для каждого хоста из сети класса С;

• 255 «емкостей» для каждой сетки класса В и отдельная «емкость» для каждого хоста.

Пример конфигурации Squid для трех классов пулов:

delay_pools 3 #3 poolы

delay_class 1 1 # 1 pool 1 класса

delay_class 2 1 # 2 pool 1 класса

delay_class 3 3 # 3 pool 3 класса

delay_access 1 allow staff

delay_access 1 deny all

delay_access 2 allow students

delay_access 2 deny all

delay_access 3 allow college

delay_access 3 deny all

delay_parameters 1 640000/640000

delay_parameters 2 64000/64000

delay_parameters 3 64000/64000 32000/64000 6400/32000

Строка, определяющая максимальную ширину виртуального канала, имеет следующий вид:

delay_parameters pool total_rest/total_max net_rest/net_max ind_rest/ind_max

где:

• pool – номер пула, для которого определяются каналы;

• total – ширина канала на всех;

• net – ширина канала на подсеть;

• ind – ширина канала на отдельный адрес;

• rest – скорость заполнения (байт/с);

• max – объем «емкости» (байт).

Обработка статистики

В стандартную поставку пакета Squid входят скрипты, написанные на Perl, позволяющие создавать отчеты о работе программы Squid:

• access-extract.pl – скрипт получает на стандартный ввод журнал access.log и выдает на стандартный вывод промежуточный результат;

• access-summaiy.pl – скрипт получает на вход результат работы access-extract.pl и делает из него красивый отчет.

Программа Squid Cache and Web Utilities (SARG)

Программа, обрабатывающая журналы Squid и составляющая на их базе отчеты.

С помощью этой програмы можно получить следующую информацию:

• количество работавших пользователей;

• время их работы;

• трафик по каждому пользователю;

• использование кэша каждым пользователем;

• список Web-серверов, посещаемых пользователем;

• итоговые цифры по трафику и времени.

Существуют также дополнительные отчеты: Top sites и Useragents.

Отчет генерируется за период, интервал которого берется из log-файла Squid. В отчете, кроме зарегистрированных пользователей Squid, отражается информация о попытках незаконного вхождения в сеть и неправильных наборах пароля.

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

Программа MRTG

Еще одна программа, позволяющая получать при соответствующей настройке отчеты о работе Squid. Вывод осуществляется в виде HTML-страниц.

Ссылки

• http://www.Squid-cache.org – официальный сайт Squid.

• http://karjagin.narod.ru/solaris/Squid-iaq-rus.html – русский перевод Squid-faq.

• http://www.nlanr.net/Cache/ICP/ICP-id.txt – протокол Internet Cache Protocol.

• http://Squid.org.ua – зона особого внимания: сайт, полностью посвященный программе Squid.

• http://linux.webclub.ru/security/proxy/Squid.html – Иван Паскаль. Настройка Squid.

• http://www.bog.pp.ru/work/Squid.html – Bog BOS: Squid (кэширующий proxy для HTTP): установка, настройка и использование.

• http://www.nitek.ru/~igor/Squid – борьба с баннерами с помощью Squid.

Глава 23 Синхронизация времени через сеть, настройка временной зоны

Для комфортной работы с компьютером иногда может не хватать такой малости, как нормально настроенное системное время. Плохо, когда приходится ежедневно его подправлять или вручную производить переход на летнее/зимнее время.

Особенно это неприятно, когда компьютеров несколько десятков, и время у всех должно быть синхронизировано. Для синхронизации системного времени создателями Интернета был предусмотрен специальный сервис – сетевой протокол времени (Network time protocol, NTP).

Сетевой протокол времени

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

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

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

Для передачи и хранения времени используется беззнаковое 64-битовое число с фиксированной точкой, которое хранит число секунд в формате UTC. Старшие 32 бита – число секунд, младшие 32 бита – дробная часть секунд. Достижимая точность – 232 пикосекунды. О означает неопределенное время.

Классы обслуживания

Служба точного времени имеет несколько классов обслуживания клиентов:

• multicast – предназначен для использования в быстрой локальной сети со множеством клиентов, где отсутствует необходимость в высокой точности. Принцип действия – один или более NTP-серверов рассылают широковещательное сообщение, клиенты определяют время, предполагая, что задержка составляет несколько миллисекунд. Сервер не принимает ответных NTP-сообщений;

• procedure-call – предназначен для получения высокоточного времени. NTP-клиент посылает запрос на сервер точного времени, который обрабатывает запрос и немедленно посылает ответ. Сервер не синхронизируется с клиентом;

• symmetric – предназначен для использования серверами точного времени. Представляет собой динамически реконфигурируемую иерархию серверов точного времени. Каждый сервер точного времени синхронизирует своих соседей и синхронизируется своими соседями в соответствии с правилами выбора соседей. Активный режим используется серверами точного времени низшего уровня с заранее определенными адресами соседей, пассивный режим используется серверами точного времени, близкими к первому уровню, и взаимодействующими с соседями с заранее неизвестными адресами.

Обеспечение достоверности данных

Алгоритм функционирования сервера точного времени подразумевает несколько способов для обеспечения достоверности данных.

• Если в течение восьми последовательных интервалов опроса от соседнего сервера точного времени не было сообщений, то этот сервер считается недостижимым.

• Осуществляется проверка времени:

– если время передачи совпадает с временем предыдущего сообщения – дублированный пакет;

1 ... 79 80 81 82 83 84 85 86 87 ... 151
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Linux - Алексей Стахнов.
Комментарии