Есть домашний микрот RouterBOARD 952Ui-5ac2nD, RouterOS v.6.46.4. На нем есть домашняя сеть и настроенный openvpn клиент в офисную сеть. В офисной сети хосты имею доменные имена в зоне .off - например server1.off user1.off test.srv.off (не спрашивайте почему так - тут так принято). На микрот соответственно от провайдера при получении адреса прилетают два DNS хоста. При установлении связи по openvpn с офисом - прилетает еще один dns хост. Итого в параметрах DNS вижу три прилетевших ip адреса DNS хостов. Моя паранойя не хочет чтобы в запросы к dns резолверу в офисе попадали запросы со всех домашних устройств. Поясню - хочется чтобы запросы на резолвинг хостов офисной сети улетали на офисный DNS резолвер, остальные - на DNS резолвер провайдера. Прочитал статью про использование layer 7 protocol для маркировки пакетов. Сделал правила в firewall, которые перенаправляют помеченные пакеты на DNS резолвер офиса. Но вот незадача - не могу составить нормальный регэксп к правилу layer 7 protocol, вернее регэксп составил и он прекрасно работает для линуксах, но вот на микротике правило с регэскпом: ^.*\.off.*$ маркирует и пакеты с запросом на резолвинг testsrv.off и пакеты на резолвинг office.acme.com... Код: $ echo -e "offcie.com\nuser1.off\noffice.acme.com\ntest.srv.off\n" |egrep "^.*\.off.*$" user1.off test.srv.off перепробовал кучу вариантов и пришел к выводу, что в регэкспах микротика именно в layer7 protocol мне не удается экранировать точку - микротик ее игнорирует, что приводит к тому что маркировка срабатывает на тех хостах, на которых не должна. Прошу помощи у меня осталась лишь одна идея - попробовать символ точки указать в регэкспе как hex-код... ЧЯДНТ? PS: проверял, редирект запросов на офисный резолвер прекрасно работает. Вопрос лишь в том, как отфильтровать запросы на резолвинг только офисных хостов.
Отвечу сам себе, я пришел к неправильному выводу. Дело не в работе микрота с регекспами, дело в самом DNS запросе. Я ошибался, когда думал, что DNS запрос сродни запросу http или https. В этом и заключалась вся проблема. Правильный регексп для DNS запроса приведенного выше бюдет: Код: ^.*\x01off\x01