Создание Address List из выборочных DNS запросов

Обсуждение ПО и его настройки
Ответить
Proger125
Сообщения: 22
Зарегистрирован: 14 май 2022, 17:25

Всем привет,

Такой вопрос. Есть субдомены на разных ip. Перечень всех субдоменов заранее не известен. Хотелось бы уметь их всех автоматически вычленять, добавлять в address list, а затем пускать через VPN. Затык только с автоматическим наполнением address list.

Как мне видится, на этапе mangle prerouting можно отлавливать DNS запросы к роутеру через Layer7. Соорудить фильтр, что то вроде *.host.com, в RegEx будет так: ^.*\x04host\x03com

Через sniff TZSP в Wireshark вижу как все эти субдомены отлично фиксируются, но как их вытащить не ручками из днс запроса и закинуть в address list - вопрос. Использование add dst to address list понятно заполнит список адресом DNS сервера (адресом роутера), в src понятно будет адрес локального хоста...

Может скрипт какой? Или я вообще подхожу к задачке не с той стороны?


Proger125
Сообщения: 22
Зарегистрирован: 14 май 2022, 17:25

Сам себе отвечу, может кому тоже будет полезно.
С текущим функционалом такое в лоб не решить, можно использовать скрипт, достающий днс-записи по шаблону из /ip dns cache.
Пример скрипта есть в официальной вики.
Минусом вижу работу скрипта не по событию, а по таймеру.


Flint
Сообщения: 4
Зарегистрирован: 23 ноя 2016, 09:52

Можно через raw вылавливать днс запросы на определенные домены. При этом оно будет работать как маска для всех поддоменов вида *.microsoft.ru. Пример:

Код: Выделить всё

/ip firewall raw
add action=add-dst-to-address-list address-list="название адрес листа" address-list-timeout=none-dynamic chain=prerouting content=microsoft.com
Только нужно учитывать то что данная аналитика пакетов сильно грузит процессов микротика и на большую сеть с большим трафиком на много доменов такое не стоит использовать.


Ответить