Назад | Перейти на главную страницу

Ошибка DNS, ошибок не сообщается

Вчера мы применили SP1 к нашему DNS-серверу, работающему под управлением Windows Server 2008 R2.

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

Однако, когда я перехожу в свойства DNS, вкладку «Мониторинг» и нажимаю «Проверить сейчас», он говорит, что как простые, так и рекурсивные запросы потерпели неудачу.

Регистрация событий настроена на регистрацию всех событий.

Почему-то сегодня это сработало на несколько минут раньше; но с тех пор снова остановился.

Есть идеи, что я могу проверить?

ПРИМЕЧАНИЕ. Я перезапустил службы DNS, и они снова подключились к сети; на некоторое время. Потом снова ушел.

РЕДАКТИРОВАТЬ: (4/5/11) 2 месяца спустя и та же проблема. DNS теперь работает некоторое время, прежде чем отключается. Однако когда это происходит, ошибки не возникает.

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

Я собираюсь разделить это на одну из двух возможностей. Либо ненадежный маршрутизатор отправлял запросы, из-за которых DNS-сервер зависал; или MS исправила эту проблему.

В любом случае, закрытие.

ОБНОВИТЬ

Как и все в жизни, есть еще кое-что. Более новый маршрутизатор умер, и мы заменили его на Linksys RV082, и эта проблема снова стала появляться.

Еще немного исследований, и я обнаружил, что это комбинация проблем. Во-первых, Windows Server 2008 R2 по умолчанию отправляет DNS-запросы с помощью расширения, называемого EDNS0. Однако в случае сбоя DNS он не отправляет запрос снова без этого расширения ... как должен.

Некоторые маршрутизаторы, по-видимому, полностью отбрасывают или, по крайней мере, усекают UDP-пакеты, размер которых превышает 512 байт. Обычный DNS меньше этого, однако расширение EDNS0 может легко выйти за его пределы. Под некоторыми я имею в виду несколько маршрутизаторов Cisco, которые мы пробовали. Да, первым роутером тоже была Cisco (другая модель). Второй роутер был какой-то другой марки.

К сожалению, именно эти маршрутизаторы не позволяют нам разрешать UDP-пакеты большего размера; или, если они это сделают, он скрыт, и я не смог найти правильный переключатель.

Обычно это не такая уж большая проблема но похоже, что в сервере MS DNS есть ошибка, из-за которой он полностью перестает разрешать запросы DNS при возникновении определенного количества сбоев. Это требует перезапуска служб DNS, на которых он будет работать некоторое время.

Исправление - просто отключить поддержку EDNS0.

Команда для этого: dnscmd /config /EnableEDNSProbes 0

Попробуйте использовать инструмент dcdiag, он может помочь вам определить проблему. Кроме того, на вашем DNS-сервере выбрана ли автоматическая регистрация в DNS на адаптере?