DNS в микротике

Столкнулся со странным поведением микрота при настройке его днс сервера. Внутри сети есть свои сервера с фейковыми именами типа alabama.road, сеть сегментирования, но маршруты между микротами есть, сервера расположены за своими микротами. Идея была такая: на одном из микротов(1 пусть будет )сети прописываем статические адреса этих серверов, другим микротам(2 например) в настройках днс указываем адрес этого микрота как первый в списке, а потом остальные днс, типа 77.88.8.8. Логично же? Так вот не работает, не обращаются остальные к этому главному, а сразу к серверам по списку ниже. Если даже на самом микроте 2 пытаться делать resolve alabama.road- не резольвится. Если в nslookup компа, который в сети микрота (2) указать server mikrot1- всё резольвится. В чем засада -понять не могу🤔

Лига Сисадминов

1.5K постов17.7K подписчиков

Добавить пост

Правила сообщества

Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.

Автор поста оценил этот комментарий

"Мыши плакали, кололись, но продолжали жрать кактус" :)))

Как было бы проще - покажи ты конфиг.
Смотри, исходя из моей схемы:
R1 - роутер с головным DNS
R2 - роутер "филиала"
предполагаю, что могут быть еще роутеры филиалов R3/R4... с такими же примерно настройками.

На R1 ты поднимаешь службу DNS и разрешаешь remote request (лучше файерволом разрешить только с доверенных IP доступ на input 53 tcp/udp).

На R2...R100 делаешь DNS сервером R1:
ip dns set servers=10.0.0.1
обязательно убираешь dynamic-servers (в настройках DHCP-client галка use-peer-dns или в pppoe соединении - я ж хз что у тебя где). Но в /ip dns print не должно быть dynamic-servers.

Далее, на R2...R100 делаем netwatch:

/tool netwatch add comment="CHANGE DNS IF TUNNEL DOWN" down-script="/ip dns set servers=8.8.8.8" host=10.0.0.1 interval=10s up-script="/ip dns set servers=10.0.0.1"

То есть - когда есть пинг на 10.0.0.1 - туннель поднят - DNS запросы идут в R1, туннель упал - ставится 8.8.8.8 и у клиентов за R2 только интернет (все равно ж сервера за R1 недоступны - туннель лежит).

Если туннель туда-сюда постоянно дергается, есть смысл добавить еще и сброс DNS кеша при переключении, чтобы меньше было "залипаний" на недоступные IP. Тогда netwatch будет выглять так:

/tool netwatch add comment="CHANGE DNS IF TUNNEL DOWN" down-script="/ip dns set servers=8.8.8.8\r\n/ip dns cache flush" host=10.0.0.1 interval=10s up-script="/ip dns set serve

rs=10.0.0.1\r\n/ip dns cache flush


Всем клиентам за R2 отдаешь DNS-сервером 192.168.2.1.
В R2 соответственно, тоже должен быть разрешен remote-request для клиентов за ним. Всем остальным IP запрещаешь доступ на 53 порт tcp/udp.

И все, профит.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Ну всё!😆 Будет тебе конфиг через какое то время) За подсказку темы с нетвотчем спасибо, в скриптостроении микрота не силен, но у тебя всё понятно. У тебя реализован обходной путь с отрубом других днс, пока есть канал, я думал можно использовать приоритеты в списке днс, вот разница в подходе.
Автор поста оценил этот комментарий
Эту тему выбрал в качестве "лички". Можем продолжить в основной. Проблемы с отвалом с ошибкой 99?
раскрыть ветку (1)
Автор поста оценил этот комментарий
В основной долго искать(. Тема в том, что терминал виснет на диалоге оплаты, причем так, что кроме снятия задачи, в том числе 1с, никак не раздуплить. Ладно бы тайм-аут какой вменяемый был, но такое поведение пц как напрягает все участников.
Автор поста оценил этот комментарий
Ну ок, можешь описать проблемы? Я тоже заинтересован, потому что чем больше фактуры, тем быстрее разрабы Сбера шевелятся. Сам заметил, что от ОС на ПК зависит, на 10-11 виндах работает без сбоев, на 7 или хр нужен какой-то специальный драйвер, с несколькими крупными клиентами помогла переустановка инженером Сбера
раскрыть ветку (1)
Автор поста оценил этот комментарий
О, вот так даже. Ок, дам фактуру, но только в исходной теме, тут как то оффтоп. Замечу только, что все проблемы на 10-ке
показать ответы
Автор поста оценил этот комментарий
Хз, кто такой Андрюха. Так а что не так с единым ДНС в сети? Что не работает?
раскрыть ветку (1)
Автор поста оценил этот комментарий

Так не работает ДНС, который и задумывался на базе микрота. Точнее, центральный есть, а как заставить остальных ходить на него а потом, если не удалось, на другие прописанные- не понятно. Поэтому на других тупо прописана статика до нужных ресурсов. Будут изменения- пойду клацать изменения, вариантов пока нет.

показать ответы
1
Автор поста оценил этот комментарий
Привет. Если у тебя, как у айтишника на аутсорсе, есть проблемы с интеграцией с козенами (биометрическими), напиши в тг @Livedorm
Есть выходы на сопровождение сбера
раскрыть ветку (1)
Автор поста оценил этот комментарий

Спасибо. Проблем с интеграцией нет, есть с самими устройствами.

показать ответы
Автор поста оценил этот комментарий
Как то неочевидно приложение информирует об ответе.

Если R2 имеет доступ в интернет и ВПН линк между R1 и R2 постоянен, а не поднимается по желанию - то и пусть все запросы в ДНС с R2 идут через R1. Это нормально, задержек видимых глазу быть не должно.

Но вообще, если это корпоративная сеть, то идеально поднятие единого DNS сервиса. Будь то на микротике, Windows Server или Linux Server машинах.

Играться с приоритетностью DNS можно, но это всегда костыли. И крайне не советую использовать layer7 филттрацию, как где-то тут в ответах писали. Это работает так: пакет полностью разбирается с 7 уровня до 2 и Мик анализирует есть там что-то или нет, что подходит под правило. И если такого трафика будет много (некоторые вообще весь трафик разбирают одним правилом) - проц погибает. Даже у относительно мощных железяк.

Поэтому мой совет: если надо рулить трафиком через ДНС ( что-то заворачивать в локалку, что-то банить) - единый ДНС сервер. Если ВПН падает часто - костыльное решение на его IP вешаем Netwatch и скриптом меняем ДНС на R2 на глобальный и потом обратно когда туннель встал. Но этого прям костыль, проще добиться стабильности Линка. Либо поднять ДНС в той точке, которая доступна всегда и всем.
раскрыть ветку (1)
Автор поста оценил этот комментарий

Вот мы и пришли к решению, которое и обсуждается в топике) Только оно не работает по независящих от инженера причин. Андрюх, занятно было пройти путь по кольцу с тобой, да))

показать ответы
Автор поста оценил этот комментарий

Попробуйте отключить сторонник DNS в нижестоящих микротиках.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Да вот не хотелось бы. В случае падения туннеля клиенты останутся без интернета. Ну или на клиентах прописывать допсерверы, о чем забудешь наверняка.

показать ответы
3
Автор поста оценил этот комментарий

Даю совсем простой ответ на вопрос "Нафига тут конкретика из конфигов?" - потому что гладиолус.

Ты приходишь к врачу:
- Доктор, болит горло и красное
- Откройте рот, покажите горло
- Не-не, доктор, зачем усложнять, я ж вам говорю, красное и болит. Дайте волшебную таблетку.
И вот хрен его, отчего твое горло лечить.

Так и тут - ты приходишь в сообщество за бесплатным(!!!) советом и просишь поделиться мудростью и решить свою проблему. Но на все наводящие вопросы машешь рукой - типа сами додумайте, че я там накрутил.

Все же просто - не знаешь и просишь бесплатной помощи - даешь максимум информации и следуешь указаниям неуклонно. Не хочешь давать доп. инфу - берешь бабки, нанимаешь специалиста, он делает. Не хочешь стороннего - берешь бабки идешь на курсы, учишься, делаешь сам.

По теме, из того, что я понял, собрал на коленке схему - у меня все работает. Скриншоты прилагаю и схемы и конфигураций - мне не жалко.

Извини, если читается как наезд, ничего личного. Ты не первый и, увы, не последний такой, устал...

Иллюстрация к комментарию
Иллюстрация к комментарию
Иллюстрация к комментарию
Иллюстрация к комментарию
Иллюстрация к комментарию
раскрыть ветку (1)
Автор поста оценил этот комментарий

Понадобилось некоторое время осознать сей конфиг) Это ты в GNS сэмулировал? Я за такое не брался еще) Тут не учтена одна деталь, которая есть в посте, но пост это же не тз, верно? ) В посте сказано, что микрот2 имеет список днс, а не только вышестоящий, т.е. на твоей схеме R2 имеет выход в обычный интернет впридачу. А иначе зачем ему интернет-днс, верно? Так вот это, как мне видится, ключевой момент, причина неработоспособности схемы, а он отсутствует в твоих конфигах. Если микрот днс тасует по round-robin, то фига с два настроить как я хотел. Просто об этом мне не известно. Но, может есть обходной путь, типа выставления большего веса маршрута до внешних днс, я не пробовал еще.

показать ответы
5
Автор поста оценил этот комментарий

Мда, не перестает народ пытаться тренировать телепатию.
Дайте для начала хотя бы результат команд
ip dns export
и
ip firewall filter export

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Давай совсем просто: в одном микроте вышестоящим днс-сервером указан другой микрот. Так вот нижестоящий не запрашивает резолв у вышестоящего, хотя по идее должен, а идет с протянутой рукой к следующему серверу по списку днс. Нафига тут конкретика из конфигов?

показать ответы
Автор поста оценил этот комментарий

Возможно - в логике использования записей микротом? Вы уверены, что он их последовательно применяет?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Нет) Но это как то криво, не находите?

показать ответы
Автор поста оценил этот комментарий

а если пойти по прям простейшему варианту, в основной микрот поставить правило на 53 tcp/udp порт с ip адреса 2 микрота самым первым с пометкой лога и посмотреть, идут ли вообще пакеты на него

раскрыть ветку (1)
Автор поста оценил этот комментарий

я мониторил траф на бридже 2-го микрота по 53 порту. Бегают запросы на 8.8.8.8 и к нему от компов сети, к первому микроту пакетов нет. Ах да, 2 микрот в локалке, просто как держатель туннеля работает и коммутатор, + вот хотел днс поручить для специфических нужд.

1
Автор поста оценил этот комментарий
Если совсем просто то нужно проверить отдаёт ли этот микротик dns ответ компу за другим микротиком. Это проверено? Держу пари что нет
раскрыть ветку (1)
Автор поста оценил этот комментарий

Отдает.

показать ответы
1
Автор поста оценил этот комментарий

Запросы на 2 микротике - с самого микротика?
Если да, то возможно на микротиках закрыты порты dns в firewall 53 порт tcp/udp.

Или у пользователей?
Если у пользователей, то какие dns сервера отдает 2 микротик в dhcp server? Или идея, что первый обращается в интернет за dns, второй берет с первого и раздаёт уже с себя?


Может ты вообще запретил микротам запросы из вне, и сеть 2 микрота как локалку не обозначил.


В общем слишком много чего может быть. Нужна хоть какая-то информация о том, чего ты вообще хочешь и где затык, а именно нужны конфиги как ранее написали, firewall filter и dns.

раскрыть ветку (1)
Автор поста оценил этот комментарий

1) Да, с самого микротика в том числе.
Нет, не закрыты. В нижестоящем filter вообще пуст, а вышестоящий отвечает на запросы из другой подсети, в посте об этом упомянуто.

2) ДНС у нужных клиентов прописан ручками, и да, схема такая задумана.

3) Явного запрета не увидел, но в WAN DNS конечно не светит, да и к тому же клиенты получают от вышестоящего ответы, если вручную запросить.

4) Filter у нижестоящего пустой.

показать ответы
2
Автор поста оценил этот комментарий
На микроте 1 в днс-сервере прописываешь что тебе надо - я про твои сервисы, на остальных - в layer7 делаешь запись своего внутреннего домена, потом маркируешь все входящие на остальные микроты запросы днс по tcp/udp портам по layer7 , далее - dstnat этой маркировки на основной микрот. Я бы так наверное сделал.
раскрыть ветку (1)
Автор поста оценил этот комментарий

Да, примерно такие советы я встречал в интернете. Однако если у меня таких доменов с пучок, это сильно замусоривает конфиг. Нашел более простой способ- создание записи FWD  в DNS микрота с регэкспом на домен, это работает, и не засоряет правилами конфиг. Типа такого: /ip dns static add forward-to=192.168.88.3 regexp=".*\\.test1\\.localdomain" type=FWD  Но тоже надо прописывать во всех микротах снова при появлении нового домена, что печалит, но не так сильно как твой способ) Однако, хотелось бы совершенства и ответа, что не так с простой настройкой.