Нередко возникает необходимость блокировки доступа для пользователей к отдельным сайтам. Особенно это актуально на рабочих серверах, когда необходимо заблокировать доступ пользователей к социальным сетям, развлекательным порталам, сайтам знакомств и прочему сетевому изобилию отнимающему массу рабочего времени.
К счастью, в Squid это делается довольно легко и быстро.
Пути к конфигурационным файлам, описываемые в статье относятся в первую очередь к дистрибутиву Linux Debian. Если у Вас другой, то они могут немного отличаться.
Создаем файл /etc/squid/block.acl. И заполняем его сайтами, которые подлежат блокировке:
odnoklassniki.ru vkontakte.ru vk.com facebook.com fishki.net
Теперь открываем конфигурационный файл Squid /etc/squid/squid.conf. В секции acl добавляем строку:
acl block dstdomain "/etc/squid/block.acl"
Важно не забыть поставить в кавычки путь к файлу с заблокированными сайтами!
В секцию http_access добавляем строку:
http_access deny block
Важно поставить эту строку раньше всех остальных инструкций http_access!
Теперь перезагружаем Squid:
/etc/init.d/squid restart
Все должно заработать, точнее — сайты указанные в списке у пользователей не должны открываться. Если все еще открываются или при перезапуске Squid замкнуло, ищите где Вы сделали ошибку в двух несчастных конфигурационных строчках.
Источник: http://www.msav.ru/blog/145-blocking-unwanted-sites-list-in-the-squid