Перехват DNS зон и блокировка сайтов

В RouterOS завезли перехват DNS зон, в связи с этим можно перенаправить DNS запросы куда угодно.
Применим это для блокировки сайтов и перенаправления DNS на контроллер домена.

Контроллер домена

/ip dns static
add forward-to=10.1.0.2 regexp=".*activedirectory\\.local" type=FWD

Данная настройка перенаправит все запросы к домену и его поддоменам activedirectory.local на указанный DNS сервер 10.1.0.2

Блокировка сайтов

Неочевидное, но простое использование блокировка через DNS

/ip dns static
add forward-to=127.0.0.1 regexp=".*vk\\.com" type=FWD
add forward-to=127.0.0.1 regexp=".*tiktok\\.com" type=FWD

Запросы на указанные сайты и его поддомены будут направлены на localhost

Перехват DNS запросов

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

/ip firewall nat
add action=redirect chain=dstnat dst-port=53 in-interface-list=LAN protocol=udp
add action=redirect chain=dstnat dst-port=53 in-interface-list=LAN protocol=tcp

Но с развитием DNS over HTTPS (DoH) этот способ работает не со всеми. Нужно собирать списки этих DNS серверов или блокировать forward udp:53 чтобы не работал никакой внешний DNS.