Назад | Перейти на главную страницу

Windows добавляет суффикс домена ко всем запросам

У меня повторяющаяся проблема с 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. В конечном итоге проблема решается сама собой, как правило, через пару часов или несколько перезагрузок.

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

Если вы запустите 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) -> ISP DNS -> (2nd ISP DNS?) -> Root Сервер DNS -> DNS TLD -> Ваш внешний DNS-сервер. Кто-то на этом пути говорит, что www.yahoo.com.example.com существуют. Скорее всего, это ваш внешний DNS-сервер.

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

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

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

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters

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

Я боролся с той же проблемой, что мои окна добавляют суффикс основного домена при использовании 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-name-applied-to- запросы-eg-googlecommydomaincom? forum = winserverNIS

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

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

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

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

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

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

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

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

; *. example.com. IN CNAME example.com. ; ГЛОБАЛОК

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

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