Только один домен не разрешается через DNS-сервер Windows в нескольких местах, но находится в других
У меня довольно странная проблема. Были проблемы с доставкой почты на определенный домен. Посмотрев ближе, я понял, что DNS для этого домена не разрешается через внутренний DNS-сервер Windows 2003 SP2.
C:\>nslookup foodmix.net
Server: DC.DOMAIN.com
Address: 10.1.1.1
DNS request timed out.
timeout was 2 seconds. DNS request timed out.
timeout was 2 seconds.
*** Request to DC.DOMAIN.com timed-out
(DC.DOMAIN.com и 10.1.1.1 являются общими значениями для замены реальных)
Даже если я запускаю этот nslookup с сервера DC.DOMAIN.com, я получаю тот же результат. Однако все остальные запросы работают как надо. У меня был друг-сисадмин, который пробовал этот поиск DNS на серверах в нескольких компаниях, с которыми он консультируется (которые также являются серверами AD Windows 2003). Странно то, что у некоторых из них была та же самая проблема. Однако использование публичных DNS-серверов работает. Я попытался очистить кэш DNS, перезапустить сервер, перезапустить службы и т. Д. Ничего не помогло.
Одно странное событие, которое я заметил в журналах событий DNS-сервера и которое может быть связано, - это идентификатор события 5504 со следующим описанием:
The DNS server encountered an invalid domain name in a packet from 192.33.4.12. The packet will be rejected. The event data contains the DNS packet.
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
В разделе данных ниже, я вижу следующее упомянутое:
ns2.webhostingstar.com
Который, случается, является сервером имен для рассматриваемого домена. Несколько обсуждений и MS KB указывают на отключение EDNS. Я сделал это через "dnscmd /config /enableednsprobes 0", и это не решило проблему.
Больше информации:
Я добавил отрывок Wireshark ( TXT), который показывает запрос DNS. Просто чтобы уточнить, внутренняя сеть - это 2.0.0.0/22, сеть - это внутренняя сеть (я ее не настраивал, и глупо, что она настроена таким образом). Внутренний DNS-сервер 2.0.0.10.
Итак, насколько я вижу, вот что происходит:
- Внутренний DNS-сервер запрашивает запись для foodmix.net из своей записи NS (ns2.webhostingstar.com) и не получает ответа
- Внутренний DNS-сервер отправляет другой запрос под тем же идентификатором транзакции. Он запрашивает запись A для foodmix.net из своей другой записи NS (ns.webhostingstar.com) и не получает ответа
- Внутренний DNS-сервер отправляет запрос под новым идентификатором транзакции. Он запрашивает запись A для foodmix.net с сервера имен 192.31.80.30 (d.gtld-servers.net).
- Он получает ответ от 192.31.80.30 без записей, просто перечисляя официальные NS-серверы.
3 ответа
Хорошо, извините, что отправил вас всех в погоню за гусем. Запустил еще несколько сеансов Wireshark и понял, что ns.webhostingstar.com и ns2.webhostingstar.com не отправляли никаких ответов. Поэтому я заставил наш DNS-сервер подключиться к другому интернет-соединению, и это сработало. Из того, что я могу сказать, сервер имен блокирует наши запросы, приходящие с некоторых из наших IP-адресов. Я связывался с людьми, управляющими сервером, и они собирались выяснить, смогут ли они исправить это со своей стороны.
Обновить
После долгих испытаний мы поняли, что проблема в том, что трафик, отправляемый нам из их сети, отбрасывается. Оказывается, у них где- то был устаревший файл из IANA, в котором перечислены все зарезервированные сети, и он блокировал трафик в эти сети. Наши публичные IP-адреса попали в один из этих диапазонов, несмотря на тот факт, что он был выделен некоторое время назад... они просто использовали устаревший список.
Использование корневых ссылок по умолчанию, если информация об IP/DNS, которую вы пытаетесь использовать в DNS-инфраструктуре Windows 2003, такая же, как в общедоступном Интернете, например, в вашем примере: foodmix.net. 86399 В A 204.xyz тогда вам не нужно добавлять сервер пересылки для домена, однако, пока домен foodmix.net не используется в самом лесу активных каталогов.
На основании ваших записей в журнале событий я обнаружил http://support.microsoft.com/kb/920162 котором говорится, что DNS-серверы Windows 2003 не поддерживают атрибут "DNAME".
Таким образом, есть несколько вариантов: либо установить исправления, упомянутые на сайте MS, либо поработать с вашим поставщиком / конфигурацией DNS и удалить запись DNAME для зоны foodmix.net.
Согласно DavidB http://blacka.com/david/2006/12/04/dns-dname-is-almost-useless/ dnames используются для псевдонимов целых деревьев. Скорее всего, это будет что-то вроде записи @ foodmix.net или *.foodmix.net
Загрузите пакет сервера bind dns с isc: Bind-9.9.1-P1. Запустите BIND-Install.exe и установите только инструменты (снимите флажки с других полей). Это позволит вам использовать dig вместо nslookup. Если вы делаете dig +trace foodmix.net
Скорее всего, вы сможете понять, что происходит.