Вчера мы применили 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 на адаптере?