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-сервером. Поэтому всегда есть некоторая задержка, но ее можно немного отрегулировать.
Можно настроить количество секунд до истечения времени ожидания запросов.
- Откройте dnsmgmt.msc.
- Щелкните правой кнопкой мыши имя DNS-сервера и выберите " Свойства".
На вкладке "Перенаправители" нажмите " Изменить...".
Выберите количество секунд.
- По умолчанию
3
, - Минимум должен быть
2
или запросы могут истечь до истечения всех итераций. >10
секунд также не рекомендуется, так как клиент может тайм-аут до ответа.
- По умолчанию
Эквивалент командной строки dnscmd /resetforwarders
:
dnscmd <ServerName> /ResetForwarders <MasterIPaddress ...> [/TimeOut <Time>] [/Slave]