Если вы запустите 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 один их веб-серверов для обработки поиска.