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

DNS SBS 2008 перестает работать через 1 день для .uk, .eu и некоторых других TLD за пределами США

В SBS 2008 при первой установке или перезагрузке запросы DNS выполняются успешно, но примерно через день пользователи сообщают, что не могут получить доступ к некоторым веб-сайтам. При осмотре можно заметить, что недоступные веб-сайты находятся в доменах верхнего уровня (TLD) .uk и .eu или в некоторых других доменах верхнего уровня, которые находятся за пределами США.

Если оставить ее на несколько дней, проблема может исчезнуть сама собой, а затем снова появиться через день или около того.

Если служба DNS-сервера перезапущена или кэш DNS на сервере очищен, проблема временно решается, но снова возникает через день или около того.

Причина этой проблемы в том, что в странах ЕС (и некоторых других TLD за пределами США) записи серверов имен обычно кэшируются более чем на 1 день. SBS2008 имеет ограничение на максимальное время, в течение которого записи сервера имен будут кэшироваться, по умолчанию это 1 день. Это значение по умолчанию отлично работает в США, но когда записи .uk и .eu становятся устаревшими, они не удаляются из кеша, но больше не возвращаются как действительные записи. Таким образом, они эффективно предотвращают успешный поиск DNS в этих TLD до тех пор, пока не истечет срок действия записей и не будут удалены из кеша, или пока служба DNS-сервера не будет перезапущена.

Исправление состоит в том, чтобы увеличить максимальное время жизни (TTL) на DNS-сервере, чтобы он распознавал записи старше 1 дня. Опыт показывает, что обычно достаточно установить значение 4 дня, но максимальное значение составляет 30 дней.

Обходной путь

Эту проблему можно временно решить, перезапустив службу DNS-сервера или очистив кеш DNS на DNS-сервере.

Постоянные разрешения включают - увеличение максимального значения TTL кеша DNS. - Перенастройка DNS-сервера для использования DNS-серверов пересылки вместо использования Root Hints.

Решение

Для постоянной работы значение MaxCacheTTL необходимо изменить на значение, превышающее TTL TLD (значение по умолчанию - 1 день, максимальное значение - 30 дней). На SBS2008 нет отрицательного воздействия, поскольку это TTL для кеша записей ресурсов. Это максимальное значение, которое будет храниться на DNS-сервере. Если фактический TTL короче, будет использоваться меньшее значение.

  1. Запустите редактор реестра (Regedit.exe).
  2. Найдите следующий раздел реестра:
    HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ DNS \ Parameters
  3. В меню Правка щелкните Создать, щелкните Значение DWORD (32-разрядное), а затем добавьте следующее значение:

    Значение: MaxCacheTtl
    Тип данных: DWORD
    Значение данных: 0x69780 (432000 в десятичной системе счисления = 5 дней)

  4. Щелкните ОК.

  5. Закройте редактор реестра.
  6. Перезагрузите DNS-сервер.

В качестве дополнительной меры предосторожности очистите кеш преобразователя DNS с помощью

IPCONFIG /FlushDNS

После изменения необходимо следить за сервером, чтобы проверить, не возникает ли проблема снова. Поскольку это значение не повлияет на нормальное поведение SBS2008, мы можем увеличить это значение до большего значения, если проблема не исчезнет.

Смотрите также