Що може спричинити пошук DNS для ігнорування запису файлів хостів?


13

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

Я думав, що можу це виправити, використовуючи файл хостів, щоб уникнути необхідності пошуку. Я додав запис до мого файлу хостів так

127.0.0.1    myMachine.MyDnsSuffix

Але це не змінило часу завантаження, навіть після перезавантаження. Хоча вирішити цю конкретну проблему не важливо, я б дуже хотів знати, чому це відбувається.

Крім того, коли я запускаю nslookup у домені myMachine.MyDnsSuffix, я помічаю, що він використовує DNS-сервер моєї мережі для пошуку IP-адреси. Чи може це бути пов’язано з моєю проблемою чи я просто неправильно розумію, як працює nslookup?

Відповіді:


20

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

Спробуйте просто простий пінг. Чи ping myMachine.MyDnsSuffixвирішується адреса петлі, яку ви вказали у своєму файлі HOSTS?


Ви добре зробили свою думку nslookup. Я щойно спробував пінг пінг, myMachine.MyDnsSuffixі він вирішив мій IP в мережі, не так, 127.0.0.1як зазначено в моєму файлі HOSTS.
Ден Гербер

Яка ваша ОС? Я думаю, що Windows7 та, можливо, Vista мають деякі дивні захисти UAC у файлі HOSTS. Ви впевнені, що ваші зміни зберігаються належним чином?
Крістофер Карел

Моя ОС - це Windows XP. Здається, що зміни зберігаються належним чином.
Ден Гербер

Хм ... на початку цього запису HOSTS немає позначки хешу, чи не так? (це зробить це коментарем) І ви впевнені, що це в C: \ Windows \ System32 \ driver \ etc \ hosts? Чи можете ви додати там фіктивний запис і побачити, чи вирішується це, як ви вказали?
Крістофер Карел

3
О, і не забудьте очистити кеш імені. ipconfig /flushdns. І NETBIOS кеш теж: nbtstat -R. (Чутливість регістру у Windows - WTF, чому?!?)
Крістофер Карел

8

При пошуку DNS не використовується файл хостів. Колись.


2
@BartDeVos ні, це не помиляється. Загальний пошук хосту (тобто gethostbyname()може проходити через файл хостів або через DNS, але специфічний DNS- пошук (як це виконується nslookup) не використовує файл хостів.
Альнітак,

Однак, gethostinfo / getaddrinfo (сучасні версії gethostbyname) - це POSIX, а не обов'язково, що використовує Windows.
адаптор

2

Гаразд, абсолютно новий підхід. Дозвольте вам очистити кеш IP та NETBIOS. ipconfig /flushdnsі nbtstat -R. Потім запустіть sniffer пакетів, як Wireshark, і зробіть пінг, поки він працює.

З моменту захоплення пакету ми хочемо дізнатися, чи A) Виходить DNS-запит, і якщо так, яке ім'я він запитує. Б) Якщо запит на NETBIOS виходить. Можливо, це ім'я вирішено через NETBIOS замість належного DNS.

Якщо ми не бачимо жодного з перерахованих вище, незважаючи на те, що ви очищаєте кеш, то ймовірно, що ім’я витягується або з хостів, або з lmhosts.


1

Деякі люди на веб-форумах стверджують, що створення нового файлу хостів та перезапуск служби DNS-клієнта усуває проблему, але я не впевнений, чому це буде спрацьовувати, якщо ви вже намагалися перезавантажити.

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

127.0.0.1 www.microsoft.com www.mysite.com

У моєму файлі HOSTS немає матеріалів, пов'язаних з мікрософт. У мене призначено лише кілька внутрішніх тестових доменів. Мій файл HOSTS досить базовий.
Ден Герберт

Хм, цікаво. Я знав, що вони з жорстким кодом MS-доменів ігнорують HOSTSфайл, але навіть домен, що не включає MS, ігнорується, якщо він поділяє запис із доменом MS? Це просто погане програмування з їхнього боку. Це, безумовно, на що слід дивитися, якщо "мінімізувати" HOSTSфайл.
Synetech

0

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

Порядок вирішення файлів хостів або імен не має нічого спільного з цією проблемою, і гнійна болячка на задній частині людства, яка є файлом хостів, повинна бути винесена назад і шумно зніматися.


Я не пов'язаний з проксі-сервером.
Ден Гербер

1
@mh: Я би погодився з вами щодо зйомки хостів, якщо кореневі сервери дозволяють мені додавати / видаляти / редагувати записи.
Ян Бойд

0

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

Це, здається, є фактичною причиною. Залиште це Microsoft, щоб раптом і без попередження проігнорувати 25-річну конвенцію.


2
Будь ласка, включіть у свою відповідь суть відповіді / причини. Це набагато приємніше, ніж просто посилання.
Яків

Ось найважливіша частина пов'язаної URL-адреси. Однак, здається, нічого не працює. Поки я не побачив інших прикладних файлів хостів, які були відформатовані як <ip address> <single space> <value>
Tun

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.