Блокировка нежелательных сайтов списком в Squid

Нередко возникает необходимость блокировки доступа для пользователей к отдельным сайтам. Особенно это актуально на рабочих серверах, когда необходимо заблокировать доступ пользователей к социальным сетям, развлекательным порталам, сайтам знакомств и прочему сетевому изобилию отнимающему массу рабочего времени.

К счастью, в 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 замкнуло, ищите где Вы сделали ошибку в двух несчастных конфигурационных строчках.