У меня довольно странная проблема. Были проблемы с доставкой почты в определенный домен. Присмотревшись, я понял, что 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 на серверах нескольких компаний, для которых он консультировал (которые также являются серверами Windows 2003 AD). Странная вещь некоторые из них была та же самая проблема. Однако использование общедоступных 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, и проблема не устранилась.
Больше информации:
Я добавил отрывок wirehark (текст), который показывает DNS-запрос. Чтобы уточнить, внутренняя сеть - это сеть 2.0.0.0/22 - это внутренняя сеть (я ее не настраивал, и глупо, что она настроена таким образом). Внутренний DNS-сервер - 2.0.0.10.
Насколько я понимаю, вот что происходит:
Хорошо, извините, что отправил вас всех в погоню за гусем. Провел еще несколько сеансов Wireshark и понял, что ns.webhostingstar.com и ns2.webhostingstar.com вообще не отправляли никаких ответов. Поэтому я заставил наш DNS-сервер отключиться от другого нашего интернет-соединения, и это сработало. Насколько я могу судить, сервер имен блокирует наши запросы, поступающие с некоторых наших IP-адресов. Я связался с людьми, управляющими сервером, и они посмотрят, смогут ли они исправить это на своей стороне.
Обновить
После долгих испытаний мы поняли, что проблема в том, что каким-то образом трафик, отправляемый нам из их сети, отбрасывается. Оказывается, у них был устаревший файл от IANA. где-то который перечислял все зарезервированные сети и блокировал трафик в эти сети. Наши общедоступные IP-адреса попали в один из этих диапазонов, несмотря на то, что они были выделены некоторое время назад ... они просто использовали устаревший список.
Использование корневых ссылок по умолчанию, если информация IP / DNS, которую вы пытаетесь использовать в своей инфраструктуре DNS Windows 2003, такая же, как и в общедоступном Интернете, то есть в вашем примере: foodmix.net. 86399 IN A 204.x.y.z, то вам не нужно добавлять сервер пересылки для домена, однако это до тех пор, пока домен 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 server с isc: Бинд-9.9.1-П1. Запустите BIND-Install.exe и выполните установку только инструментов (снимите другие флажки). Это позволит вам использовать dig вместо nslookup. Если вы это сделаете dig +trace foodmix.net
вы, вероятно, сможете понять, что происходит.