Вопрос: Что может заставить DNS-поиск игнорировать запись файла хоста?


У меня проблема с разрешением DNS, которая влияет на производительность моего локально размещенного веб-сайта при просмотре его на моем локальном компьютере. Если я присоединю DNS-суффикс моей сети к имени моего локального компьютера, когда я перейду к URL-адресу в моем браузере, сайт имеет ужасные времена загрузки (в 100 раз более медленные), чем без суффикса DNS.

Я думал, что могу исправить это, используя файл моих хостов, чтобы избежать необходимости в поиске. Я добавил запись в файл моих хостов, как это

127.0.0.1    myMachine.MyDnsSuffix

Но это не изменило время загрузки, даже после перезагрузки. Хотя это не важно для решения этой конкретной проблемы, мне бы очень хотелось знать Зачем Бывает.

Кроме того, когда я запускаю nslookup в домене myMachine.MyDnsSuffix, Я замечаю, что он использует DNS-сервер моей сети, чтобы найти IP-адрес. Может ли это быть связано с моей проблемой или я просто неправильно понимаю, как работает nslookup?


12
2017-12-16 17:34


Источник




Ответы:


Я считаю, что nslookup используется для тестирования самого DNS-сервера, в отличие от использования вашего файла HOSTS. http://support.microsoft.com/kb/200525 кажется, указывает на это.

Попробуйте просто пинговать. Есть ли ping myMachine.MyDnsSuffix разрешить адрес loopback, указанный вами в файле HOSTS?


18
2017-12-16 17:45



Вы хорошо сказали о nslookup, Я просто попробовал myMachine.MyDnsSuffix и он разрешил мой IP-адрес в сети, а не 127.0.0.1 как указано в моем файле HOSTS. - Dan Herbert
Какая у вас ОС? Я думаю, что Windows7 и, возможно, Vista имеют некоторые странные UAC-защиты в файле HOSTS. Вы уверены, что ваши изменения сохранены правильно? - Christopher Karel
Моя ОС - Windows XP. Кажется, что изменения сохраняются должным образом. - Dan Herbert
Хм ... в начале этой записи HOSTS нет метки хэша, не так ли? (что сделало бы его комментарием) И вы уверены, что это в C: \ Windows \ System32 \ drivers \ etc \ hosts? Можете ли вы добавить туда фиктивную запись и посмотреть, разрешится ли это, когда вы укажете? - Christopher Karel
О, и не забудьте очистить свой кеш имен. ipconfig /flushdns, И кеш NETBIOS тоже: nbtstat -R, (Регистр в Windows - WTF, почему?!?) - Christopher Karel


DNS-запросы не используют файл hosts. Когда-либо.


7
2017-12-20 16:18



@BartDeVos нет, это не так. Общий хозяин поиск (т. gethostbyname() может проходить через файл hosts или через DNS, но DNS-специфические поиск (в соответствии с nslookup) не будет использовать файл hosts. - Alnitak
Тем не менее, gethostinfo / getaddrinfo (современные версии gethostbyname) являются POSIX, и не обязательно то, что использует Windows. - adaptr


Хорошо, новый подход. Давайте очистим ваш кеш IP и NETBIOS. ipconfig /flushdns а также nbtstat -R, Затем запустите пакетный сниффер, например Wireshark, и выполните пинг, пока он работает.

Из захвата пакета мы хотим увидеть, A) Выходит DNS-запрос, и если да, то какое имя он запрашивает. B) Если появится запрос NETBIOS. Возможно, это имя разрешается через NETBIOS вместо надлежащего DNS.

Если мы не увидим ни одного из вышеперечисленных, несмотря на то, что вы очищаете свой кеш, то, скорее всего, имя вытаскивается из хостов или lmhosts.


2
2017-12-17 20:12





Некоторые люди на веб-форумах утверждают, что создание нового файла hosts и перезапуск службы DNS-клиентов устраняет проблему, но я не уверен, почему это сработает, если вы уже попытались перезагрузить компьютер.

Я понимаю, что это длинный снимок, но в записи файла hosts нет каких-либо связанных с Microsoft слов, таких как MSDN, Microsoft или MSN. Microsoft написала dnsapi.dll, чтобы игнорировать записи файлов хостов, соответствующие определенным именам. Например, если я добавлю следующую запись, Windows пропустит ее и разрешит оба имени хоста в записи с помощью DNS:

127.0.0.1 www.microsoft.com www.mysite.com

1
2017-12-17 03:24



В моем файле HOSTS нет никаких связанных с Майкрософт материалов. У меня есть только несколько внутренних тестовых доменов. Мой файл HOSTS довольно простой. - Dan Herbert
Хм, интересно. Я знал, что они жестко закодированные MS-домены, чтобы игнорировать HOSTS файл, но даже домен не-MS игнорируется, если он разделяет запись с доменом MS? Это просто плохое программирование с их стороны. Это определенно то, на что нужно обратить внимание, если «минимизировать» HOSTS файл. - Synetech


http://www.tweaksforgeeks.com/windows7/2011/02/windows-7-hosts-file-ignored <- Работайте для меня!


1
2018-03-26 20:12



Добро пожаловать в Server Fault! Хотя это теоретически может ответить на вопрос, было бы предпочтительнее чтобы включить здесь основные части ответа и предоставить ссылку для справки. - Ben Pilbrow


При использовании полного DNS-имени ваш браузер пытается пройти через ваш прокси-сервер - clicky для IE,

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


0
2017-12-16 18:02



Хотя я не подключен к прокси. - Dan Herbert
@mh: я бы согласился с вами о съемке хостов, если корневые серверы позволяют мне добавлять / удалять / редактировать записи. - Ian Boyd


http://geekswithblogs.net/JanS/archive/2009/06/17/beware-of-spacing-in-windows7-hosts-file.aspx

Это, по-видимому, фактическая причина. Оставьте это Microsoft, чтобы внезапно и без предупреждения игнорировать 25-летнюю конвенцию.


0
2017-12-20 15:57



Пожалуйста, укажите суть ответа в ответ. Это намного лучше, чем просто ссылка. - Jacob
Вот важная часть связанного URL Однако ничего не получилось. До тех пор, пока я не увидел другие файлы примеров, которые были отформатированы как <ip address> <single space> <value> - Citizen