DNS в микротике

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сорян за офтоп, А в чем схема нарисована?

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

Может draw.io

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

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

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

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

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

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

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

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

раскрыть ветку (4)
Автор поста оценил этот комментарий
Хз, кто такой Андрюха. Так а что не так с единым ДНС в сети? Что не работает?
раскрыть ветку (3)
Автор поста оценил этот комментарий

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

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

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

Как было бы проще - покажи ты конфиг.
Смотри, исходя из моей схемы:
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
Автор поста оценил этот комментарий
Ну всё!😆 Будет тебе конфиг через какое то время) За подсказку темы с нетвотчем спасибо, в скриптостроении микрота не силен, но у тебя всё понятно. У тебя реализован обходной путь с отрубом других днс, пока есть канал, я думал можно использовать приоритеты в списке днс, вот разница в подходе.
1
Автор поста оценил этот комментарий
Если совсем просто то нужно проверить отдаёт ли этот микротик dns ответ компу за другим микротиком. Это проверено? Держу пари что нет
раскрыть ветку (4)
Автор поста оценил этот комментарий

Отдает.

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

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

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

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

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Микротик странно выбирает DNS, и там нет возможности посмотреть какой активен. Как вариант - скрипт меняющий днс при падении туннеля. При условии, что без остальных днс всё заработает
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку