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 (<>)
{
s@регулярное-выражение@httр://www.myhost.оrg/mybanner.gif@;
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: