DNS-сервер Windows: за 3 секунды до ответа NXDOMAIN

Мне интересно, есть ли способ контролировать время, необходимое для ответа NXDOMAIN. Мне кажется, что если запрос сделан для несуществующей записи, то сервер ответит NXDOMAIN через 3 секунды. Похоже, это относится как к Windows Server 2008 R2, так и к Windows Server 2012 R2. У меня есть захват пакета ниже. В целях моего вопроса, мой сервер является полномочным для example.com и example2.com:

09:13:06.846116 IP 10.200.242.165.49505 > 10.200.1.13.53:  33831+ A? asr-1.example.com. (46)
09:13:09.855028 IP 10.200.1.13.53 > 10.200.242.165.49505:  33831 NXDomain* 0/1/0 (112)

Я пропинговал хост, которого, как я знал, не существует, но, кажется, прошло целых 3 секунды, прежде чем сказать мне, что его не существует (с 09:13:06 до 09:13:09). Чтобы вы не думали, что он переадресует куда-то для разрешения asr-1.example.com, я получу тот же результат, если я это сделаю nslookup -norecurse asr-1.example.com.

Просто чтобы показать вам, что сервер действительно быстрый, вот вывод захвата пакета, откуда я искал хост в его реальном домене:

09:13:09.855416 IP 10.200.242.165.49542 > 10.200.1.13.53:  47128+ A? asr-1.example2.com. (46)
09:13:09.855889 IP 10.200.1.13.53 > 10.200.242.165.49542:  47128* 1/0/0 (62)

Это ответ на 0,4 миллисекунды... так что мой DNS-сервер не работает медленно.

Итак... есть ли способ настроить DNS-сервер так, чтобы он не ждал так долго, чтобы вернуть ответ NXDOMAIN для домена, для которого он является полномочным?

2 ответа

Я нашел проблему. Я сетевой инженер, а не парень AD, поэтому я изначально не настраивал DNS- они просто любезно предоставили мне доступ к нему. Проблема заключалась в том, что на вкладке WINS домена было настроено "Использовать прямой поиск WINS". Если вы нажмете "Дополнительно", появится настройка "Время ожидания Looukp", которая будет установлена ​​на 2 секунды. Если я отключу пересылку WINS, он мгновенно возвращает NXDOMAIN, как и следовало ожидать. ура!

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

Можно настроить количество секунд до истечения времени ожидания запросов.

  1. Откройте dnsmgmt.msc.
  2. Щелкните правой кнопкой мыши имя DNS-сервера и выберите " Свойства".
  3. На вкладке "Перенаправители" нажмите " Изменить...".

  4. Выберите количество секунд.

    • По умолчанию 3,
    • Минимум должен быть 2 или запросы могут истечь до истечения всех итераций.
    • >10 секунд также не рекомендуется, так как клиент может тайм-аут до ответа.

Эквивалент командной строки dnscmd /resetforwarders :

dnscmd <ServerName> /ResetForwarders <MasterIPaddress ...> [/TimeOut <Time>] [/Slave]
Другие вопросы по тегам