Блокировка сайтов на уровне роутера (Tomato)

Быстрые ссылки
- Что потребуется
- Настройка URL-фильтров в Tomato
- Расширенные сценарии и расписания
- Когда это не сработает
- Альтернативные подходы
- Руководство действий (SOP)
- Чек-листы для ролей
- Критерии приёмки
- Часто задаваемые вопросы
Что потребуется

Коротко: минимум оборудования и ноль дополнительных расходов. Перед началом убедитесь в следующем:
- У вас есть роутер, совместимый с прошивкой Tomato.
- На роутере установлена прошивка Tomato (или вы готовы её установить).
- У вас есть административный доступ к веб-интерфейсу роутера (логин/пароль).
Пояснение: Tomato — это кастомная прошивка роутера, которая расширяет возможности стандартного ПО: фильтры, логирование, дополнительные сервисы. Если у вас другой кастом (DD-WRT, OpenWrt), многие шаги схожи, но интерфейс отличается.
Настройка URL-фильтров в Tomato

Пример: мы создадим два фильтра для Reddit — полный запрет и ограничение по времени (рабочие часы).
- Откройте веб-панель роутера. Обычно это http://192.168.1.1. Введите логин и пароль.
- В левом меню найдите раздел “Access Restriction” и перейдите туда.
- В разделе обзора вы увидите пример правила (если вы никогда не создавали правила).
- Нажмите кнопку “Add” (Добавить), чтобы создать новое правило.
Полный запрет (Reddit Killer)
- В поле Description переименуйте правило в “Reddit Killer”.
- Отметьте “All Day” и “Everyday”.
- В поле “Applies to” оставьте “All Computers/Devices” (или укажите список устройств по MAC/IP).
- Снимите галочку “Block All Internet Access” — это важно: если её оставить, будет блокироваться весь доступ, а не отдельные сайты.

- После снятия галочки появится секция для настройки фильтруемых URL и портов. В поле HTTP Request введите “reddit.com” и нажмите “Save”.
- Вернитесь на главный экран раздела — вы увидите правило “Reddit Killer” со статусом и расписанием.
Проверьте: откройте браузер и перейдите на reddit.com с любого устройства в сети — сайт должен быть недоступен.

Ограничение по времени (Reddit Tonight)
- Откройте правило “Reddit Killer” для редактирования.
- Снимите “All Day” и “Everyday”.
- В появившихся опциях выберите диапазон времени, например 08:00–17:00, и дни Monday–Friday (понедельник–пятница).
- Переименуйте правило, например, в “Reddit Tonight” или «Reddit рабочее время».
- Нажмите “Save”.
Теперь правило действует только в указанные часы и дни. При необходимости в поле “Applies to” можно выбрать отдельные компьютеры или создать белый список.
Расширение фильтра
- Добавляйте в HTTP Request несколько доменов: reddit.com, facebook.com, example.com.
- Используйте ключевые слова (keyword filter), если нужно блокировать часть URL.
- Не меняйте раздел Port/Applications, если не уверены: это позволяет блокировать сервисы по портам (например, BitTorrent).
Полезные сценарии и примеры
- “Учебное время” — блокировка соцсетей с 19:00 до 21:00 для всех детских устройств.
- “Рабочие часы” — блокировка развлекательных сайтов с 09:00 до 18:00 для рабочих машин, исключая менеджеров.
- “На выходные — свобода” — правило, которое выключено по расписанию в субботу и воскресенье.
Когда такой подход не сработает
Important: фильтрация по HTTP Request в Tomato полагается на совпадение в HTTP-запросе. Есть ситуации, когда блокировка может оказаться неполной:
- Защищённые HTTPS-сайты. При использовании HTTPS домен может всё ещё резолвиться и подключаться через TLS; простая строка в HTTP Request может не поймать все варианты, особенно при использовании CDNs, шортенеров или поддоменов.
- Приложения и мобильные клиенты. Многие мобильные приложения используют API на других доменах, прокси-сервисы или шифрование, обходя простую фильтрацию URL.
- DNS-over-HTTPS / DNS-over-TLS. Если устройства используют внешний защищённый DNS (DoH/DoT), они могут обходить локальные фильтры.
- Пользователь с административным доступом к устройству или конфигурации сети может изменить настройки и снять блокировки.
Контрмеры: для надёжной фильтрации рассматривайте DNS-фильтрацию на уровне локального DNS (Pi-hole, Unbound), сетевые прокси (Squid с SSL Bump) или коммерческие UTM/NGFW.
Альтернативные подходы (кратко)
- Pi-hole: DNS-блокировка на домашнем сервере или Raspberry Pi. Блокирует по спискам доменов, легко управляется.
- OpenDNS (Cisco Umbrella): облачная DNS-фильтрация с политиками и отчётностью.
- DD-WRT / OpenWrt: сходные возможности, разные интерфейсы; OpenWrt даёт гибкость через iptables и пакеты.
- Прокси/фильтр контента (Squid, DansGuardian): для фильтрации HTTPS потребуется дополнительная настройка (MITM/SSL Bump).
- Родительский контроль в роутере производителя: простой интерфейс, но может быть менее гибким.
Mermaid диаграмма выбора метода:
flowchart TD
A[Нужно заблокировать несколько сайтов?] -->|Да, просто домены| B[Использовать Tomato Access Restriction]
A -->|Множество устройств и надежная отчётность| C[Pi-hole или OpenDNS]
A -->|Глубокая фильтрация HTTPS| D[Прокси 'Squid' + SSL Bump]
A -->|Коммерческое решение| E[UTM/NGFW]SOP: Пошаговое руководство для администратора (чтобы быстро повторить)
- Войти в веб-интерфейс роутера (http://192.168.1.1).
- Перейти в Access Restriction.
- Нажать Add и задать имя правила.
- Снять “Block All Internet Access”.
- Ввести домены в HTTP Request (по одному на строку или через запятую).
- Выставить расписание (All Day/Everyday или временные слоты).
- Применить к нужным устройствам через “Applies to”.
- Save и сразу проверять с нескольких устройств.
- Документировать правило: имя, цель, автор, дата создания, расписание.
Чек-лист по ролям
Администратор:
- Имеет доступ к панели, проверил версию Tomato.
- Создал правило и протестировал с нескольких устройств.
- Задокументировал настройки.
Родитель:
- Проверил, что детские девайсы в списке “Applies to”.
- Установил расписание, согласованное с домом.
- Объяснил детям правила использования сети.
Пользователь (с ограничениями):
- Понял, когда и какие сайты недоступны.
- Знает контакт администратора для вопросов.
Критерии приёмки
- Сайт(ы) не открываются с устройств, к которым применено правило в назначенное время.
- Другие сайты доступны (тест: example.com открывается).
- Правило логируется в интерфейсе Tomato или в системном логе.
- Изменения можно быстро включить/выключить при необходимости.
Тестовые случаи
- Тест 1: Проверка полного запрета — сайт должен быть недоступен в любое время.
- Тест 2: Проверка расписания — сайт доступен вне рабочего времени и недоступен в часы запрета.
- Тест 3: Белый список — устройство в белом списке должно обходить правило.
- Тест 4: HTTPS-проверка — убедитесь, что доступ к защищённой версии сайта также блокируется/ограничивается.
Технические заметки и советы по устранению проблем
- Если HTTPS-сайты всё ещё доступны, проверьте, не используют ли устройства альтернативный DNS (DoH/DoT). Отключите DoH на клиенте или перехватите DNS на уровне сети.
- Для устройств, которые «обходят» фильтр, проверьте VPN-клиенты и прокси — они можем скрывать трафик.
- После изменения правил очистите кэш DNS на клиенте:
ipconfig /flushdns(Windows) или перезапустите сеть на мобильном устройстве. - Логи Tomato помогут найти, применяются ли правила: проверьте /syslog или раздел логов.
Совместимость и миграция
- DD-WRT: есть похожие механизмы (Access Restrictions, URL Filter). Переход требует адаптации настроек.
- OpenWrt: более гибкая платформа (iptables, nftables). Миграция полезна для продвинутых сценариев.
- Firmware: всегда делайте резервную копию настроек перед прошивкой или изменением критичных правил.
Конфиденциальность и безопасность
- Блокировка на уровне роутера не должна прослушивать содержимое трафика (без SSL Bump). Она ограничивает доступ к доменам и URL.
- Не применяйте MITM без согласия пользователей — это нарушает конфиденциальность и может вызвать проблемы с сертификатами.
- Документируйте, кто имеет административный доступ и как восстанавливается прежняя конфигурация.
Если у вас есть свой трюк, как улучшить фильтрацию в Tomato — опишите в комментариях. Ниже — краткая сводка ключевых выводов.
Краткое резюме
- Для быстрой блокировки нескольких сайтов достаточно функции Access Restriction в Tomato.
- Для надёжной фильтрации HTTPS и мобильных приложений лучше использовать DNS-фильтрацию или прокси.
- Документируйте правила, тестируйте их и учитывайте обходные пути (VPN, DoH).
Часто задаваемые вопросы
Работает ли это с HTTPS?
Фильтрация по URL в Tomato базируется на совпадениях в HTTP/запросах. HTTPS может требовать дополнительных мер (DNS-блокировка, прокси с SSL Bump) для 100% надёжности.
Могут ли дети обойти это через телефон?
Да, они могут использовать VPN, прокси или внешний DNS. Для этого настраивайте ограничения на уровне клиента или блокируйте VPN-порт/сервисы.
Можно ли применить фильтр только к конкретным устройствам?
Да. В поле “Applies to” выберите нужные устройства по IP или MAC.
Как быстро включить/выключить правило?
В интерфейсе Access Restriction у каждой записи есть переключатель. Также можно создать правило “kill switch” для мгновенного отключения Интернета по расписанию.
Похожие материалы
Как создать групповую беседу в iMessage
Исправить просмотрщик PDF в Chrome
Настроить панель Finder на Mac
Скрыть папку в Windows 11 и открыть через клавиши