Добавление суффикса домена Windows ко всем поискам

23

У меня есть постоянная проблема с DNS, которая изводила наших пользователей, иногда вызывая добавление их ноутбуков к домену наших компаний в конце всех запросов DNS. Проблема возникает только тогда, когда пользователи находятся за пределами сайта, и это выглядит довольно случайно. Он сработает однажды, а затем на ровном месте покажет недопустимую запись. Это касается в основном пользователей Windows XP, но недавно было замечено и в Vista. Вот пример использования nslookup.

C:\Users\Username>nslookup www.yahoo.com 
Server: Linksys
Address: 192.168.0.1

Non-authoritative answer:
Name: www.yahoo.com.EXAMPLE.COM
Address: 192.0.2.99

Я заменил IP-адрес, о котором сообщается, на заполнитель, но могу сказать, что он возвращает *.запись по умолчанию в нашей конфигурации сетевых решений. Поскольку, очевидно www.yahoo.com.EXAMPLE.COM, не существует, это имеет смысл. Я считаю, что внутреннее оборудование пользователя функционирует нормально. Внутренне мы используем Windows 2k3 Active Directory с серверами DHCP и DNS на базе Windows. В конце концов, проблема решается обычно в течение нескольких часов или нескольких перезагрузок.

Кто-нибудь видел такое поведение раньше?

XAP
источник
Ага, это так долго приводило меня в бешенство - я не понимал, что у networkolutions была ЗАПИСЬ подстановочного знака, после ее удаления (установки пустого значения) и ожидания через пару часов я наконец смог настроить правильный поддомен AD нашего внешний домен и увидеть правильный ответ NXDOMAIN из внешнего мира.
Камилион

Ответы:

26

Если вы запустите nslookup и включите отладку, вы увидите, что Windows всегда пытается сначала добавить свой суффикс.

C:\>nslookup
Default Server:  itads.example.com
Address:  0.0.0.0

> set debug=true
> www.yahoo.com
Server:  itads.example.com
Address:  0.0.0.0

------------
Got answer:
    HEADER:
        opcode = QUERY, id = 2, rcode = NXDOMAIN
        header flags:  response, auth. answer, want recursion, recursion avail.
        questions = 1,  answers = 0,  authority records = 1,  additional = 0

    QUESTIONS:
        www.yahoo.com.example.com, type = A, class = IN
    AUTHORITY RECORDS:
    ->  example.com
        ttl = 3600 (1 hour)
        primary name server = itads.example.com
        responsible mail addr = itads.example.com
        serial  = 12532170
        refresh = 1200 (20 mins)
        retry   = 600 (10 mins)
        expire  = 1209600 (14 days)
        default TTL = 3600 (1 hour)

------------
------------
Got answer:
    HEADER:
        opcode = QUERY, id = 3, rcode = NOERROR
        header flags:  response, want recursion, recursion avail.
        questions = 1,  answers = 4,  authority records = 0,  additional = 0

    QUESTIONS:
        www.yahoo.com, type = A, class = IN
    ANSWERS:
    ->  www.yahoo.com
        canonical name = www.wa1.b.yahoo.com
        ttl = 241 (4 mins 1 sec)
    ->  www.wa1.b.yahoo.com
        canonical name = www-real.wa1.b.yahoo.com
        ttl = 30 (30 secs)
    ->  www-real.wa1.b.yahoo.com
        internet address = 209.131.36.158
        ttl = 30 (30 secs)
    ->  www-real.wa1.b.yahoo.com
        internet address = 209.191.93.52
        ttl = 30 (30 secs)

------------
Non-authoritative answer:
Name:    www-real.wa1.b.yahoo.com
Addresses:  209.131.36.158, 209.191.93.52
Aliases:  www.yahoo.com, www.wa1.b.yahoo.com

Как вы можете видеть выше, моя машина сначала пыталась найти www.yahoo.com.example.com, и DNS-сервер ответил NXDOMAIN(запись не найдена). Вы можете подтвердить это, запустив nslookup www.yahoo.com.(обратите внимание на точку в конце .com!), И вы увидите, что это разрешается нормально.

Происходит то, что ваш внешний DNS-сервер отвечает, что у него есть запись для «www.yahoo.com.example.com», и возвращает ваш IP-адрес для корня вашего сайта. Я не уверен, какой сервис вы используете, но я предполагаю, что у вас есть подстановочный знак, который говорит вашему серверу отвечать на любой неизвестный запрос действительным ответом, а не возвращаться NXDOMAIN. Вам нужно перепроверить свои настройки для сервера и убедитесь , что он устанавливается только отвечать на запросы для записей он на самом деле имеет ( example.com, www.example.com, mail.example.comи т.д.).

Помните, что DNS работает, проверяя настроенный сервер и работая оттуда. Запрос DNS может принимать путь, подобный следующему шаблону (конечно, это всего лишь пример, это, вероятно, неправильно): Компьютер -> DNS локального маршрутизатора (linksys) -> DNS ISP -> (DNS второго провайдера?) -> Root DNS-сервер -> TLD DNS -> Ваш внешний DNS-сервер. Кто-то на этом пути говорит, что www.yahoo.com.example.comсуществует. Скорее всего, это ваш внешний DNS-сервер.

РЕДАКТИРОВАТЬ

Я подумала, что добавлю еще один кусочек о случайности, о которой вы упомянули. Если это действительно происходит спорадически, возможно, у вас неправильно настроен внешний DNS-сервер, или его интернет-провайдер может предоставлять службу перехвата DNS. К сожалению, я видел, что все больше и больше интернет-провайдеров предоставляют «службу поиска» для недействительных доменных имен. Поскольку почти все конечные пользователи используют свои DNS-серверы интернет-провайдеров, интернет-провайдеры теперь начинают перенаправлять недействительные записи домена на страницу поиска - обычно они загружены рекламой, нерелевантными ссылками и небольшим «Вы имели в виду www.example.com?» с некоторыми результатами, которые могут или не могут быть связаны с доменным именем. Я знаю, что Verizon и Comcast начинают это делать, я думаю, что Quest тоже начинает. Еще одна возможность - OpenDNS, так как они обеспечивают тот же «поиск соответствующего домена», если это не так.

Моя проблема с предположением, что в качестве проблемы, однако, является тот факт, что вы говорите, что он возвращает адрес вашей корневой записи, что ни один из них не сделал бы, если бы они пытались найти его, они дали бы вам IP один их веб-серверов для обработки поиска.

Джошуа
источник
1
Хорошее резюме - это общая проблема для многих интернет-провайдеров.
Даг Люксем
1
Джошуа, звучит вполне разумно. Я удалил подстановочный знак из конфигурации ваших сетевых решений. Как вы указали, это не имело никакой цели, кроме как приводить недействительные ссылки на наш основной веб-сайт. Я позволю этому распространяться за обедом и попробую еще раз, и пусть все знают, как это работает.
Xap
Ваш намек на провайдера и DNS помог мне отследить мою проблему. Я заменил * на www. поэтому мои домены не будут работать как www.mydomain.tld и больше не будут отображаться как www.yahoo.com.mydomain.tld. В Hover он указан под DNS как значение по умолчанию.
Стевони
3

После пьяного суммирования настроек реестра Windows 7 tcpip у меня возникла та же проблема. В:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters

убедитесь, что ваша запись для домена совпадает с вашей записью для dhcpdomain, тогда вы можете идти.

trashyregistry
источник
5
По крайней мере, вы честны.
Том О'Коннор
1

Я боролся за ту же проблему, что мои окна добавляют основной суффикс домена при использовании nslookup. Решение, которое я нашел, состояло в том, что добавление точки для запроса не дает Windows сделать это. Поэтому вместо использования:

nslookup yahoo.com 192.168.0.1

использование

nslookup yahoo.com. 192.168.0.1.

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

Источник (3-й пост) здесь https://social.technet.microsoft.com/Forums/windows/en-US/a34896f6-d784-4e52-8252-54f6520bc495/dns-queries-all-have-my-internal-domain- имя-прикладному к запросам, например, googlecommydomaincom? форум = winserverNIS

Мартин
источник
0

Проблема в большинстве случаев связана с настройкой в ​​жилых роутерах. В общей настройке этих маршрутизаторов вы найдете два поля: Имя системы и Имя домена.

Например, если ваше доменное имя провайдера - x.com, и вы указали имя домена в этом поле как y.com. Маршрутизатор по-прежнему будет выдавать DNS, настроенный в интерфейсе WAN и LAN, как доверенный DNS, но неавторизованный будет предоставляться с этого сайта y.com.

Ньянгу Мегхи
источник
0

Я нашел ответ. В этом параметре реестра HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ Tcpip \ Parameters найдите список поиска. Дважды щелкните по нему и удалите то, что находится в поле. Исправлена ​​моя. Теперь nslookup верен. У меня было кое-что от работодателя, что я использовал свой персональный компьютер для удаленной работы. Никогда больше я не буду работать в этой компании. Я все еще нахожу мошеннические записи.

Майк
источник
0

У меня была такая же проблема.

Предоставлялся сервером DHCP

Удаление значения реестра домена решает проблему HKLM \ SYSTEM \ CurrentControlSet001 \ Services \ Tcpip \ Parameters

Андре Тибодо
источник
0

Для меня, используя bind9 в качестве авторитетного локального сервера имен и авторитетного сервера имен для того же домена, я могу исправить это поведение, удалив *.example.comзапись (закомментировано ниже).

Из /etc/bind/example.com файла зоны

; * Example.com.. В CNAME example.com. ; GLOBALOK

Это было сделано для удобства, без необходимости вручную устанавливать все перенаправленные субдомены портов на один и тот же общедоступный IP-адрес.

Побочный эффект, как описывает родитель. Все запросы разрешаются на один и тот же общедоступный IP-адрес. Программы и службы работают нормально, однако nslookup никогда не возвращает IP-адреса, что является небольшим неудобством, с которым я мирился в течение полугода, прежде чем открыл эту страницу и привел меня к вышеуказанному исправлению.

Zoobra McFly
источник
Подстановочные знаки DNS и списки суффиксов - это две разные вещи ...
Патрик Мевзек