Блокировка сайтов на OpenWrt через dnsmasq.
Сразу оговорюсь, что данный метод вполне себе примитивный, но для малых удалённых офисов подойдёт.
На свежей версии OpenWrt (на момент статьи это OpenWrt 23.05) легко делается в вэб-интерфейсе. Иду в Network → DHCP and DNS:
Ну и там прописываются сайты вот в таком формате:
где 91.хх.хх.251 - это какой-нибудь левый ip. Можно использовать локальный ip. Ну, в моём случае, это ip центрального офиса с http страничкой-заглушкой.
На версиях OpenWrt 19.07 и ниже придётся делать вручную. Понадобится программа WinSCP. Коннекчусь с помощью неё к нужному роутеру:
Предварительно, на этом роутере нужно для себя открыть 22-ой порт.
Значит, законнектился и иду в каталог /etc/config. Там меня интересует файл dhcp. Открываю его для редактирования двойным щелчком. В этом файле меня интересует секция config dnsmasq:
В эту секцию добавляю следующие записи:
list address '/ok.ru/91.хх.хх.251'
list address '/vk.com/91.хх.хх.251'
list address '/whatsapp.com/91.хх.хх.251'
list address '/viber.com/91.хх.хх.251'
list address '/e.mail.ru/91.хх.хх.251'
list address '/mail.yandex.ru/91.хх.хх.251'
list address '/skype.com/91.хх.хх.251'
list address '/telegram.org/91.хх.хх.251'
list address '/icq.com/91.хх.хх.251'
list address '/gmail.com/91.хх.хх.251'
list address '/web.whatsapp.com/91.хх.хх.251'
Где 91.хх.хх.251 - это какой-нибудь ip-адрес, на который заворачиваются пользователи при попытке зайти на запрещённый админом сайт.
Получится вот так:
Сохраняю. Затем перезагружаю роутер:
Возможно есть какая-то команда для применения этих настроек без перезагрузки, но я не нашёл.
Донаты принимаются на кошельки:
Yoomoney:
4100118091867315
Карта Т-Банк (бывший Тиньков):
2200 7017 2612 2077
Карта Альфа-Банк:
2200 1539 1357 2013