Файл HOSTS ігнорується


23

Моя (Windows XP, Professional, v2002, SP3) робоча станція повністю ігнорує мій файл хостів.

Ось код у моєму файлі хостів:

127.0.0.1       localhost

172.17.1.107    wiki

Але, коли я відкриваю браузер і набираю "wiki" у рядку URL-адреси та натискаю "Enter", воно переносить мене на старе місце моєї вікі, як воно з’явилося у моєму старому файлі хостів:

10.0.36.100     wiki

Навіть незважаючи на те, що я перейменував старий файл хостів у "hosts_full" і перемістив його на робочий стіл (так, із папки etc повністю).

Я поки що зробив такі кроки:

  1. Пережив (3 рази)
  2. Побіг ipconfig /flushdnsз командного рядка
  3. Побіг ping wikiз командного рядка, відповідь була

Reply from 10.0.36.100: bytes=32 time=1ms TTL=63

Я очистив кожен кеш, який я можу придумати (IE, FF).

У мене є клієнт ISA-брандмауера, який працює на моїй машині, і я спробував усе це відключити і включити. Насправді брандмауер використовує старий файл хостів, щоб вирішити себе:

10.0.2.126      isa3

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

Будь-які ідеї ??? Заздалегідь дякую за допомогу!


що відбувається, коли ви створюєте новий запис для цього ip, скажімо, 172.17.1.107 wikitest?
шуфлер

Відповіді:


24

Якийсь шанс ви використовуєте проксі-сервер для перегляду? Якщо так, то, можливо, проксі-сервер вирішує для вас ім'я dns.

Ось чому ви отримуєте різні результати в командному рядку з ping на відміну від браузера.

Невипадковий трафік перехоплюється та змінюється. Дуже шанс ...


1
Так, власне, я з’ясував, що існує корпоративний проксі, який перехоплює мої запити та відповідає на них. Якось це був обхід мого файлу хостів. Якщо в корпоративному проксі був запис, це переосмислив запис мого файлу локальних хостів. Хоча ця відповідь насправді не сказала "як" виправити проблему, вона виявила фактичну першопричину проблеми (це не брандмауер ...)
cmcculloh

1
Коли у мене була проблема, це було легко виправити. Я вирішив не використовувати проксі для цього IP (За налаштуваннями проксі у Firefox) Це виправлення може не стосуватися вашої проблеми (Брандмауер може блокувати вихідний HTTP без проксі тощо). Також це може бути сука розкочування на декількох машинах, якщо у вас немає централізованого управління профілями Mozilla. Я не можу відповісти за IE, оскільки ми не використовуємо його.
артифекс

3
.. * сука * розкочувати .. Лол
манас

1
Минуло лише 4 роки, перш ніж хтось помітив @silent_warrior;)
artifex

1
@artifex Дякую за вашу відповідь та коментар, це дозволило мені зрозуміти, що я можу створити винятки, які вирішили мою проблему. Будь-який зацікавлений подивитися тут: stackoverflow.com/questions/37658876 / ...
haakym

9

Брандмауер відповідає Pings?
Це довгий знімок із вказаної вами ip адреси, але що відбувається, коли ви безпосередньо переймете новий ip, чи це працює?

Я запитую причину: якщо 10.0.36.100 стане брандмауером, який відповідає на ping, він відповість на це, навіть якщо ви писали інший IP ...

Файл великих хостів?
Крім того, це потрапило мені та іншій ІТ-люди один раз, у файлах віконних файлів було багато порожніх рядків, а потім записи внизу - ми не помітили смугу прокрутки :-)

Чи справді файл хостів?
Нарешті, загляньте в реєстр і переконайтеся, що файл хосту знаходиться там, де ви думаєте, наступний ключ визначає, де власне файл хостів:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath

1
1: Відповідь від 172.17.1.107: байти = 32 рази <1ms TTL = 63 2: Ні, переглянув весь прокрутковий рядок файлів хостів і все ... 3: DataBasePath, Type = "REG_EXPAND_SZ", Data = "% SystemRoot% \ System32 \ driver \ etc. "Ця частина SystemRoot% викликала цікавість, тому я відкрив" Змінні середовища "і шукав змінну SystemRoot. Я не бачив його, тому я створив його і встановив його на C: \ Windows, тоді я зробив ipconfig / flushdns і пінг-файл www.wiki.com, але він все ще відповів з 70.35.23.23 замість 172.17.1.107 (що є що я встановив у файлі хостів). Дякую, хоча! Гарних пропозицій усім!
cmcculloh

Хороший улов, моя система завантажувалася з диска E: а не C: як очікувалося.
Менні

5

Спробуйте промити кеш DNS за допомогою кнопки Пуск -> Запустити ...

 ipconfig /flushdns

Спробуйте також відключити NetBIOS та LMHOSTS для мережевого адаптера. Ви можете змінити налаштування в TCP / IP Властивості використовуваного мережевого з'єднання в розділі Додатково -> WINS.


Це перше, що людина спробує ...
vsync

3

Згідно з http://technet.microsoft.com/en-us/library/bb727005.aspx, це може бути у вашому локальному кеш імені NETBIOS. Ви можете використовувати nbtstat ( http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/nbtstat.mspx?mfr=true ) для запиту / очищення цього кешу.


коли я видаю команду "nbstat", я отримую, що "nbstat" не розпізнається як внутрішня чи зовнішня команда, функціонуюча програма чи пакетний файл "
cmcculloh

nbtstat, не nbstat - вам не вистачає першого "t" ... :)
Максимус Мінімус

oops: P Добре, зробив nbtstat -R і nbtstat -RR і nbtstat -r, а потім nbtstat -c (і він сказав "немає імен в кеші)
cmcculloh

і досі не працювало btw
cmcculloh

3

Виявляється, що мій корпоративний DNS потрапляв до файлу хостів. Так я:

  1. Відкрив свої властивості TCP / IP (Панель управління> Підключення до мережі> Підключення локальної області> Властивості> (прокрутка вниз) Інтернет-протокол (TCP / IP)> Властивості.
  2. Натиснувши "Використовувати наступні адреси DNS-серверів:" (Замість отримання адреси DNS-сервера автоматично)
  3. вводили "172.0.0.1" та "172.0.0.2" (і натискали кнопку ОК)

Тепер мій файл хостів працює чудово ... З командного рядка. Однак якщо я вставлю запис для www.google.com, що вказує на 172.17.1.107, коли я ввожу його з командного рядка, він повертається з IP-адреси, вказаної у файлі хостів. Але якщо я натиснув його з браузера, він все одно показує мені Google замість мого локального сайту. Але якщо я вставлю запис для "fredspc", який вказує на 172.17.1.107, і натиснув його на браузер, це перенесе мене до 172.17.1.107.

Я зрозумів це, тому що якщо я вписав "tedspc" у свій хост-файл (тобто щось, що ніколи не вирішиться) і дав йому IP-адресу та проканув її, він вирішив би цю IP-адресу. Проблема полягала в тому, що www.wiki.com і все інше, що я вносив у свій хост-файл, мали запис на моєму корпоративному сервері DNS, через що він вирішувався, а це означає, що він ніколи не переглядав мій файл хостів (тому що корпоративний DNS-сервер спочатку розглядається перед файлом хостів). Отже, я вирізав корпоративний DNS з циклу командних рядків, але я не вийшов із циклу браузера ...


1
Привіт. Приємно чути, що у вас є вирішення проблеми. Але наскільки я знаю, файл хостів завжди слід використовувати спочатку, щоб зробити dns-пошуки перед кожним записом у списку серверів dns. Чи можна повністю відключити пошук у файлі хостів за допомогою деяких dhcp - параметрів? Можливо, ви можете додати свої корпоративні сервери DNS як третій та четвертий запис у списку серверів dns.
grub

Можливо, ваші веб-браузери налаштовані з проксі-сервером?
Оскар Дювеборн

2

Кожен раз, коли я використовую файл хоста для моїх записів DNS (що завжди), я вимикаю (відключаю) службу DNS (services.msc), що працює на самому світі. Потім зробіть ipconfig / flushdns, якщо це не вдасться перезавантажити вказаний сервер / робочий стіл, і це очистить кеш. Якщо записи DNS відсутні у файлі хоста, сервер / робочий стіл вдасться до налаштувань DNS за замовчуванням у налаштованому мережевому інтерфейсі. Це також дозволяє протестувати різні брандмауери та ін.


2

Мене просто захопили зміни C: \ windows \ system32 \ drivers \ etc \ hosts, коли % SystemRoot% було визначено як C: \ WINNT замість C: \ windows ... Я не знаю, чому саме цей сервер мав цілий установка Windows в обох C: \ windows і C: \ winnt, але принаймні я більше не відчуваю себе божевільним.

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


2

Ви впевнені, що редагуєте правильний файл хостів? Зазвичай він розташований в

%SystemRoot%\system32\drivers\etc\hosts


2

Спробувавши багато запропонованих рішень, я перевірив захист у папці "тощо" та порівняв її дозволи з папками "es-ES" і виявив, що користувачі групи не мають прав на читання та виконання, як це було у програмі інший. Після знову (знову) права власності на папку "тощо" я надав дозволу групи "Читати та виконувати", і успадковував їх вміст папки. Це вирішило для мене проблему - незалежно від того, яка частина системи запитує файл хостів, очевидно, знаходиться під обмеженнями групи користувачів. Я, мабуть, випадково видалив дозволи групи, коли намагався змінити файл хостів.


Це зафіксувало це для мене. Я щойно додав групу Користувачів безпосередньо у файл хостів, промив кеш-пам'ять, і файл хостів одразу знову поважався.
користувач51928

2

Видалення оригінального файлу у Windows та заміна його на новий важливо!

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

Я також знаю, що @olefebvre вже розмістив щось подібне, але я не розпізнав це за його абревіатурами, і це не (лише) пов'язано з непарними символами, це принести вікна, щоб розпізнати файл взагалі.


Дякую, це просто заощадило мені багато часу та розчарувань.
Енді Лестер

2

будь ласка, спробуйте використовувати пробіли замість вкладок.

Як тут:

127.0.0.1 localhost
172.17.1.107 wiki

1

Ви можете перевірити свій дозвіл на файлі хоста? Спробуйте використовувати FQDN для запису "wiki" хост-файлу.


Якими повинні бути дозволи (зараз файл не читається, а всі дозволи встановлено для всіх користувачів)? Я спробував налаштувати на www.wiki.com, але це все ще не спрацювало. (Я змінив рядок на 172.17.1.107 www.wiki.com) Потім я відкрив командний рядок і спробував pinging www.wiki.com, і він повернувся "Pinging www.wiki.com [70.35.23.23] з 32 байтами даних ", але тоді три рази було сказано" Час запиту вичерпано ". Тоді все, що я намагався пінг, повернув запит вичерпано. Я в середині BIND встановіть зараз, щоб спробувати виправити це, я не знаю, чи це вплине на пінг ...
cmcculloh

І тепер я або встановив BIND неправильно, або мій комп'ютер теж це ігнорує, тому що він також не працює ...
cmcculloh

Спробуйте видалити файл та створіть новий, без копіювання / вставлення. Можливо, якийсь текстовий редактор вставив туди непарні символи (UTF8).
олефевр

1

ви перевірили хостів і lmhosts.sam?


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