Всё не так просто... » acl http://www.lab108.ru Мэрфолог-практик Sat, 10 Sep 2016 19:25:18 +0000 ru-RU hourly 1 http://wordpress.org/?v=3.9.14 Squid блокировка url /2009/02/17/squid-blokirovka-url/ /2009/02/17/squid-blokirovka-url/#comments Tue, 17 Feb 2009 08:16:53 +0000 /?p=1495 Ну это совем просто. Но способов больше одного.



Способ первый, простой.

Есть URL и к нему надо блокировать доступ.

Заводим acl для этого URL

acl badurl dst www.site.foo

и прописываем для него правило

http_access badurl deny

при попытке обратиться к этому URL пользователь получит сообщение, что доступа туда нет.

Способ второй, простой, но модифицированный.

Неожиданно выясняеться, что сайт откликается не только на www.чего-то-там, но и на кучу дополнительный имён 3-го уровня, например те же одноклассники.ru доступны по именам wg##.odnoklassniki.ru и их тоже не грех бы заблокировать. Создаём модифицированный acl

acl badurl url_regex ^http://.*\.odnoklassniki\.ru

то есть применяем регулярное выражение, под которое попадают все URL заканчивающиеся на odnoklassniki.ru

Способ третий, многоURLный

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

acl badurl dst “/etc/squid/badurls”

в файле переписываем све URL, к которым мы блокируем доступ.

vi /etc/squid/badurls

www.odnoklassniri.ru
www.porno.com
www.vkontakte.ru

EOF

точно так же для ргулярных выражений

acl badurl url_regex “/etc/squid/badurls”

vi /etc/squid/badurls

^http://.*\.odnoklassniri\.ru
porno
^http://.*\vkontakte\.ru

EOF

Способ четвёртый, самый весёлый

Не прописываем ни каких acl, а ставим программу редиректа, то есть перенаправления с одного URL на другой. Тут можно использовать squidguard или squid_redirect, прицепить к ним готовые банлисты и какое то время радоваться жизни.

]]>
/2009/02/17/squid-blokirovka-url/feed/ 1
Squid пулы задержки /2009/02/17/squid-puly-zaderzhki/ /2009/02/17/squid-puly-zaderzhki/#comments Tue, 17 Feb 2009 07:33:55 +0000 /?p=1493 Во! Вот такие запросы мне нравятся.

Для чего это надо? Рано или поздно начинаешь понимать, что отдавать на растерзание пользователям весь канал в интернет становится нецелесообразным. Кроме просмотра разных сайтов и скачивания всякой гадости хотелось бы оставить часть канала для чего то более полезного. Для этого в squid есть пулы задержки.

Работают они очень просто – если пользователь попадает в один из пулов задержки, то для него скорость скачивания контента ограничивается в соотвествиии с настройками пула.

Вот что пишут знающие люди в squid howto на NC LUG

#Ограничение трафика
delay_pools 3 #Выделяем 3 пула задержки

delay_class 1 2 #Пул класса 2
delay_class 2 3 #Пул класса 3
delay_class 3 2 #Пул класса 2

Классы пулов задержки:
Класс 1 – одна часть пула на всех из этого класса
Класс 2 – одна общая часть пула и 255 отдельных для каждого хоста из C-сетки
Класс 3 – 255 частей для каждой сетки (класс B) и отдельная для каждого хоста

Формат строки параметрой пула:
delay_parameters [номер пула] [all_downl/all_size] [net_downl/net_size] [one_downl/one_size]
all – на всех
net – на подсеть
one – на отдельный адрес
downl – скорость заполнения части (байт/сек)
size – объем части пула (байт)

Для пула класса 1 используется только all
Для пула класса 2 используется all и net
Для пула класса 3 используется all, net и one

delay_access 1 allow server #Разрешаем серверу ходить через 1-й пул
delay_access 1 deny all #Остальным запрещаем
delay_parameters 1 -1/-1 -1/-1 #Параметры 1-го пула – без ограничений

delay_access 2 allow zal #Разрешаем комп. классу ходить через 2-й пул
delay_access 2 deny all #Остальным запрещаем
delay_parameters 2 8000/8000 8000/8000 4000/4000 #Параметры 2-го пула: канал на все и сеть – 8 кбсек(64 кбитсек) и на каждую машину не более 4 кбсек

delay_access 2 allow bibl #Разрешаем библиотеке ходить через 3-й пул
delay_access 3 deny all #Остальным запрещаем
delay_parameters 3 6000/6000 -1/-1 #Параметры 3-го пула: канал на все – 6 кбсек(56 кбитсек), а как они его поделят – не наши проблемы ;)

Примерно то же самое написано в комментариях к тэгам в squid.conf и в 19-м разделе FAQ по squid в /usr/share/doc/squid. Но там на английском языке.

Пара слов вот об этом: size – объем части пула (байт).

Если я правильно понял, то этот параметр указывает на то, с какого объёма скачанного файла включать ограничения по скорости. Для чего это надо. При обычном сёрфе по сети пользователь качает странички и небольшие картинки, а особо наглые просматривают картинки в высоких разрешениях, ролики с видеохостингов и качают музыку или киношки. Оно надо? Нет. Пулы срабатывают на вот таких наглецов. не надо грузить сеть паразитным трафиком.

И ещё, для delay_access надо прописать ACL со списками кого куда кидаем

Типа,

acl all src 10.1.0.0/16
acl bibl src “/etc/squid/bibl”

ну и так далее…

примерно так.

]]>
/2009/02/17/squid-puly-zaderzhki/feed/ 0