Блокировка нежелательных URL с помощью iptables

Иногда может возникнуть необходимость заблокировать доступ к некоторым сайтам, и внесение их адресов или даже подсетей в фаервол не приносит желаемых результатов, так как продуманные пользователи продолжают посещать их используя веб прокси количество которых так велико что о блокировке их не может быть и речи… Есть конечно и явные минусы этого способа, но в моем случае минусы приниматься во внимание не стали. Из плюсов стоит отметить полную блокировку сайтов, они не будут работать даже через веб и обычные прокси сервера, с них не будет доставлятся почта и тд.

Далее собственно примеры блокировки с небольшим пояснением. Реализовано все на основе patch-o-matic, дополнение к iptables от Netfilter. Используем модуль string для достижения цели.

Первый пример, имеем машинку-шлюз для локальной сети, там создаем правило для блокировки например ресурса vkontakte.ru выглядеть это будет так
iptables -A FORWARD -m string --string "vkontakte.ru" --algo kmp --to 65535 -j DROP
Все запросы пользователей использующих данную машину как шлюз потерпят неудачу при попытке открыть сайт напрямую или через прокси, так же не будет работать ресурс и через веб прокси.

Для блокировки адресов на линукс машине немного отредактируйте правило
iptables -A INPUT -m string --string "vkontakte.ru" --algo kmp --to 65535 -j DROP
Вот собственно и вся настройка блокировки URL адресов с помощью iptables. Минусы данного способа в том что пользователи не смогут окрыть страницы с упоминанием заблокированных ресурсов, прочитать почту например на майл ру если в ящике лежит письмо с сайта который был заблокирован вышеописанным способом…

Мануал по iptables на русском.

Поделиться заметкой:
Узнать версию Linux
Все способы узнать версию дистрибутива Linux (а также FreeBSD, MacOS и прочих)
Права на файлы
Права на файлы и папки в Linux, FreeBSD и MacOS
Настоящий интеллект