пятница, 8 октября 2010 г.

Дополнительная настройка Squid

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

Использованные ссылки:
1) RED HAT клуб, тема форума "Запрет посещения сайтов в SQUID";
2) Статья "Фаршировка кальмара" Сергея «grinder» Яремчука в журнале "Хакер" (#115, стр. 115-122-1);
3) Статья "Ограничение скорости в SQUID (squid example limit delay)" на сайте opennet.ru;
4) Статья "Настройка Squid для начинающих (squid proxy acl)" на сайте opennet.ru;
5) FAQ "Зона особого внимания: Squid" на сайте opennet.ru.

Часть 1. Запрет посещения определенных сайтов


1) В каталоге squid создаем файл, в котором будем писать имена вражеских сайтов:
gedit /etc/quid3/siteban
В открывшемся текстовом редакторе пишем имена сайтов в таком виде:
.odnoklassniki.ru
.vkontakte.ru
.mail.ru
и так далее. После этого файл сохраняем, текстовый редактор gedit закрываем.
2) Редактируем конфигурационный файл squi'да:
gedit /etc/squid3/squid.conf
добавляем строки перед "http_access allow users":
acl siteban url_regex -i "/etc/quid3/siteban"
http_access deny users siteban

Должно получиться вот что:

http_port 3128
auth_param basic program /usr/lib/squid3/ncsa_auth /usr/local/squid/passwd
acl users proxy_auth REQUIRED
acl siteban url_regex -i "/etc/quid3/siteban"
http_access deny users siteban
http_access allow users
http_access deny all

3) Перезапускаем squid - в терминале пишем: /etc/init.d/squid3 restart

Часть 2. Распределение скорости
Допустим, в squid заведен пользователь user для обычных пользователей и boss1, boss2 для начальника отдела и начальника всего предприятия соответственно. Требуется сделать так, чтобы обычный клерк Вася, вдруг захотев скачать фильм, не лишил начальников удовольствия быстро открывать страницы.
1) Редактируем конфигурационный файл squi'да:
gedit /etc/squid3/squid.conf
Вместо строки "acl users proxy_auth REQUIRED" пишем
acl users proxy_auth user
acl usersboss proxy_auth boss1 boss2
2) Создаем пул для управления скоростью. Ниже пишем:
delay_pools 1
теперь задаем для него свойства:
delay_class 1 1 
3) Пусть весь Интернет-канал обладает скоростью 512 Kbit/s.
Дадим обычным пользователям 200 Kbit/s. Задаем ограничение скорости для пользователя user:
delay_parameters 1 25000/25000 
delay_access 1 allow users
delay_access 1 deny all
Получается, что мы дали всем обычным пользователям сети, которые ходят в Интернет с логином user, всего 200 Kbit/s.
К начальникам ограничений не применяем для того, чтобы они могли при желании забивать весь Интернет-канал. Но, при необходимости, им тоже можно ввести ограничение.
В итоге конфигурационный файл Squid выгладит следующим образом:
http_port 3128
auth_param basic program /usr/lib/squid3/ncsa_auth /usr/local/squid/passwd
acl users proxy_auth user
acl usersboss proxy_auth boss1 boss2
delay_pools 1
delay_class 1 1 
delay_parameters 1 25000/25000 
delay_access 1 allow users
delay_access 1 deny all 
http_access allow users
http_access allow boss
http_access deny all

3) Перезапускаем squid - в терминале пишем: /etc/init.d/squid3 restart

1 комментарий:

  1. Для блокировок я бы посоветовал DansGuardian http://dansguardian.org/

    Статью неплохая, но я обыскал весь Интернет и не нашёл ничего настолько простого и понятного как нижеприведенных статей:
    http://libreportal.net/advice/squid-proxy-server.html
    http://libreportal.net/advice/setup-squid.html
    http://libreportal.net/advice/Squid-NCSA.html
    http://libreportal.net/advice/squid-IP-autorization.html

    ОтветитьУдалить