Подробный гайд с пояснениями как заблокировать доступ к сайтам OpenWRT. Блокировка работает через IP sets в OpenWRT 23.05.0 Инструкция позволяет блокировать доступ к сайтам по доменным именам на уровне маршрутизатора. В отличие от простого прописывания хостов в /etc/hosts, данный метод работает даже при использовании внешних DNS-серверов и блокирует весь трафик.

Создаём набор IP-адресов в IP set

IP set это временное хранилище IP адресов, куда будет попадать ваш заблокированный домен после его разрешения DNS.

  • Зайдите в веб-интерфейс роутера Luci

  • Перейдите в Network → Firewall → вкладка IP sets

  • Нажмите кнопку Add внизу страницы

  • Заполните поля

    Name: blocksite (можно любое латиницей, но запомните)
    Family: IPv4 (или IPv4+IPv6, если нужно блокировать и шестую версию)
    Packet Field Match: dest_ip → Destination IP (блокируем трафик по IP назначения)
  • Нажмите Save.

IP set хранится в памяти роутера OpenWRT и работает очень быстро, так как это не перебор правил, а хеш-таблица. Это снижает нагрузку на процессор маршрутизатора.

Создаём правило файрвола Traffic Rule

Теперь заставим файрвол применять блокировку к нашему IP set.

  • Оставаясь в разделе Firewall, перейдите на вкладку Traffic Rules.

  • Нажмите Add внизу.

  • В открывшейся форме заполните

    Name: block_sites_by_ipset название
    Protocol: Any блокируем и TCP, и UDP
    Source zone: lan откуда идёт запрос локальная сеть
    Destination zone: wan куда идёт запрос интернет
    Action: reject отправляет обратно сообщение об ошибке; можно drop тихо отбрасывает пакеты, но может вызвать таймауты
  • Перейдите на соседнюю вкладку Advanced Settings.

    Найдите поле Use ipset
    Выберите из списка blocksite тот, что создали на шаге 1
  • Нажмите Save

reject лучше для приложений, ведь браузер сразу поймёт, что страница недоступна. drop полезен, если вы не хотите показывать факт существования блокировки например, при борьбе с назойливыми трекерами из отдела маркетинга.

Настраиваем DNS-привязку в DHCP and DNS

Продолжаем узнавать как заблокировать доступ к сайтам OpenWRT. Чтобы доменные имена превращались в IP-адреса и попадали в наш IP set, нужно подключить DNS-сервер роутера dnsmasq.

  • Перейдите в Network → DHCP and DNS

  • Откройте вкладку IP Sets внутри этого раздела

  • Нажмите Add

  • Заполните

    IP set: blocksite имя вашего набора
    Domain: здесь укажите домен, который хотите заблокировать
    Можно один домен например youtube.com
    Можно с маской: *.facebook.com заблокирует все поддомены
    Можно несколько, добавляя новые записи кнопкой Add
  • Нажмите Save & Apply

При таком подходе блокировка работает только если клиенты используют роутер как DNS-сервер. Если на компьютере прописан ручной DNS например 1.1.1.1, то обход возможен. Чтобы это предотвратить, добавьте правило в файрвол: перенаправлять весь DNS-трафик (порт 53) с LAN на сам роутер (DNAT).

Применяем изменения и проверяем

Обязательно перезагрузите роутер

через System → Reboot или просто перезапустите службы:

bash
service dnsmasq restart
service firewall restart

 

Проверка

  • Откройте заблокированный сайт в браузере, где должно появиться сообщение об ошибке соединения.

  • Проверьте через командную строку роутера SSH

bash
ipset list blocksite

Вы увидите список IP-адресов, на которые преобразовались заблокированные домены.

Вот робот и рассказал вам как заблокировать доступ к сайтам OpenWRT. Но помните, что этот метод не блокирует сайты, которые используют технологию ECH Encrypted Client Hello или обходят DNS через DoH/DoT на стороне клиента. Для тотальной блокировки нужно также перехватывать и перенаправлять DoH-запросы, но это уже другая тема.

4 1 голос
Article Rating
Подписаться
Уведомить о

0 Комментарий
Популярные
Новые Старые
Межтекстовые Отзывы
Посмотреть все комментарии
Oxistudio
Обзор конфиденциальности

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