Вопрос: файл hosts игнорируется, как устранять неполадки?


Файл hosts на компьютерах Windows используется для привязки определенных строк имен к определенным IP-адресам для переопределения других методов разрешения имен.

Часто решает изменить файл hosts и обнаруживает, что изменения отказываются вступать в силу, или что даже старые записи файла hosts игнорируются после этого. Ряд ошибок «getcha» может вызвать это, и может быть сложно разобраться, какой из них.

Когда вы столкнулись с проблемой Windows, игнорирующей файл hosts, что такое всеобъемлющий протокол устранения неполадок, который может быть соблюден?


Этот вопрос имеет дубликаты на SO, такие как Файл HOSTS игнорируется 

Однако, как правило, они имеют дело с конкретным случаем, и как только всякая ошибка, которую делает OP, выясняется, обсуждение завершено. Если вы не совершили такую ​​же ошибку, такое обсуждение не очень полезно. Поэтому я подумал, что было бы более полезно иметь общий протокол для решения всех проблем, связанных с хостами, которые будут охватывать все случаев.


117
2017-11-26 16:28


Источник


Кроме того, как кто-то опубликовал в другом месте, не используйте «nslookup» для проверки этого, потому что эта команда игнорирует файл hosts. Скорее используйте «ping». - LatinSuD


Ответы:


Основываясь на моем собственном опыте и том, с чем я столкнулся во время работы в Google, вот некоторые вещи, которые можно попробовать:

1. Вы проверили, что он работает правильно?

Изменения в хостах должны вступить в силу немедленно, но Windows кэширует данные разрешения имен, поэтому в течение некоторого времени могут использоваться старые записи. Откройте командную строку (Windows + R, cmd, Enter) и введите:

ipconfig /flushdns

Чтобы удалить старые данные. Чтобы проверить, работает ли это, используйте (если у вас есть запись ipv4 на ваших хостах на www.example.com или запись ipv6 на ваших хостах для ipv6.example.com):

ping www.example.com -n 1
ping -6 ipv6.example.com -n 1

И посмотрите, использует ли он правильный IP-адрес. Если да, ваш файл hosts в порядке, и проблема в другом месте.

Кроме того, вы можете сбросить кеш NetBios с помощью (откройте консоль как администратор или она не удастся):

nbtstat -R

Вы можете проверить текущие данные в кеше DNS с помощью:

ipconfig /displaydns | more

2. Основы

  • Правильно ли указан ваш файл hosts? Должен быть hosts и не host, и т.д.
  • Правильно ли расширение? Он не должен иметь расширения (hosts не hosts.txt) - будьте осторожны, если вы сконфигурировали окна для скрытия известных расширений, проверьте свойства: «Правильный тип файла хоста будет отображаться как« Файл ».
  • Вы следили за правильный синтаксис? Вы случайно префикс строк с хешем (#), который указывает комментарии?
  • Вы позаботились обо всех вариантах (www.example.com а также example.com - безопасно просто добавить оба)?

3. Пробелы

Формат для каждой строки IP address, затем горизонтальная вкладка (escape-код \t, ASCII HT, hex 0x09) или одно пространство (hex 0x20), то имя хоста, т.е. www.example.com, затем, наконец, возврат каретки, за которым следует строка, (escape-коды \r\n, ASCII CRLF, hex 0x0d 0x0a).

Примеры записей, используя управляющие изображения Юникода, чтобы указать управляющие символы. (Не копируйте и не вставляйте их в свой файл хостов!)

192.0.2.1␉www.example.com␍␊
2001:db8:8:4::2␉ipv6.example.com␍␊

Отдельные байты можно просмотреть в Notepad ++ с плагин hex editor, Notepad ++ также будет показывать специальные символы (View -> Show Symbol), чтобы вы могли легко проверить количество и вид пробельных символов.

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

Чтобы быть в безопасности, убедитесь, что все строки в ваших хостах используют либо вкладки, либо пробелы, а не обе.

Наконец, завершите файл пустой строкой.

4. Ключ реестра

Существует раздел реестра, определяющий расположение файла hosts. Предположительно, Windows фактически не поддерживает размещение файла hosts в других местах, но вы можете проверить его. Ключ:

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

Запись должна быть:

%SystemRoot%\System32\drivers\etc

5. Разрешения

Иногда возникают проблемы с правами доступа к файлу, атрибутами файла и т. Д. Чтобы воссоздать файл с разрешениями по умолчанию:

  1. Создайте новый текстовый файл на рабочем столе.
  2. Скопируйте и вставьте содержимое текущего файла хостов в этот файл в Блокноте.
  3. Сохраните новый текстовый файл и переименуйте его в hosts,
  4. Копировать (не двигайся) файл на ваш %SystemRoot%\System32\drivers\etc каталог и перезаписать старый файл.

Последний момент важен: копирование произведений, перемещение - нет.

Местный Users Счет должен иметь возможность читать файл hosts, Чтобы убедиться (в Windows 7):

  1. Перейдите к %SystemRoot%\System32\drivers\etc в проводнике Windows.
  2. Если вы не видите hosts файл, убедитесь, что вы видите скрытые и системные файлы,
  3. Щелкните правой кнопкой мыши hosts файл и выберите Properties из контекстного меню.
  4. в hosts Properties окна, нажмите Security Вкладка.
  5. Изучите список имен в Group or user names: коробка. Если %COMPUTERNAME%\Users присутствует, щелкните по нему, чтобы просмотреть разрешения.
  6. Если Users нет, или присутствует, но не имеет Read разрешение, нажмите Edit...,
  7. Если Users нет, нажмите Add..., тип Users, щелкните Check Names, и нажмите «ОК» или нажмите «Ввод».
  8. Выбрать Users, и обеспечить Read & execute проверяется в Allow колонка. Нажмите «ОК». Если Windows Security появится окно предупреждения, выберите Yes продолжать.
  9. Нажмите «ОК», чтобы закрыть hosts Properties окно.
  10. Перейдите к разделу 1 этого ответа и следуйте инструкциям, чтобы проверить, работает ли он сейчас.

6. Кодирование

Файл hosts должен быть закодирован в ANSI или UTF-8 без спецификации. Вы можете сделать это с помощью файла -> Сохранить как.

7. Прокси

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

Для проверки перейдите в Internet Explorer -> Свойства обозревателя -> Соединения -> Настройки локальной сети. Если все пустое и «Автоматическое определение настроек» отмечено, вы не используете прокси-сервер.

Если вы полагаетесь на прокси для доступа к Интернету и, следовательно, не хотите его отключать, вы можете добавить исключения, перейдя в Internet Explorer -> Свойства обозревателя -> Соединения -> Настройки локальной сети -> Прокси-сервер / Дополнительно. Затем добавьте свои исключения в текстовое поле «Исключения». Например. localhost;127.0.0.1;*.dev

8. DNS-адрес

(Это также может решить проблемы с прокси-сервером.)

Перейдите к свойствам сетевых подключений, затем настройкам TCP / IP и измените первый DNS-сервер на 127.0.0.1 (Локальный). Второй, вероятно, должен быть вашим фактическим IP-адресом DNS.

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

9.. Локальные адреса

Если вы используете запись .local домена в виде myhost.local, и она игнорируется, попробуйте следующее.

x.x.x.x myhost.local www.myhost.local

даже если www.myhost.local не существует. Windows как-то не добавляет свою рабочую группу или localdomain.


178
2017-11-26 16:28



СПАСИБО, ЧТО ТАКОЕ СУПЕРБЕСТ! Я почти плачу, так что многие из нас сходят с ума от ПРОСТРАНСТВА при начале пустой записи между двумя строками. Спасибо Спасибо, спасибо Спасибо, спасибо !!!!!
Еще одна проблема заключается в том, что 64-разрядные версии Windows перенаправляют папку System32 для 32-разрядных приложений (например, Notepad ++), поэтому при сохранении файла отображается в папке SystemWOW64 вместо System32. Лучшим обходным решением является просто версия Windows Notepad, которая является 64-разрядной. Лучше всего подключиться к административной доле (\\ yourmachinename \ c $ \ Windows \ System32 \ drivers \ etc), чтобы открыть файл, если вы используете 32-разрядный редактор. - Tim Lewis
Хорошая почта, но с ошибкой пары. 1) «Автоматическое обнаружение настроек» в IE Можно приводят вас (даже неосознанно) использовать прокси-сервер, если ваша сеть действительно обеспечивает автоконфигурацию прокси-сервера. 2) Изменение DNS-серверов в сетевых настройках не имеет никакого отношения к тому, как / когда / hosts файл, и его изменение до 127.0.0.1 является эффективной ошибкой, если вы фактически не используете DNS-сервер на своем компьютере. - Massimo
# 5 (создание нового файла и его копирование) сделал трюк для меня. Win7 может быть смешным с разрешениями. - chris
Я редактировал файл hosts под Cygwin с помощью vim, я думаю, что это вызвало проблему с файлом моего хоста, который перестает работать. Мне пришлось создать новый файл и скопировать содержимое предыдущего файла hosts, и он исправил его. - forloop


Убедитесь, что вы сначала поместили ipaddress, а затем «домен»:

127.0.0.1   bo.dev
127.0.0.1   www.bo.dev

13
2018-06-04 12:20



Я предпочитаю использовать одну строку: 127.0.0.1 bo.dev www.bo.dev ftp.bo.dev - Xhynk
Осторожно, файл хостов Windows допускает только записи NINE ИЛИ LESS в строке! Это укусило меня и потребовалось некоторое время, чтобы понять. - andrew


Добавьте проверки прав на файл. Я обнаружил, что хотя у меня есть права локального администратора на компьютере и, следовательно, на хосты. Только когда я добавил локальных пользователей к разрешениям файлов хостов с помощью Read и Read & Execute, а затем ipconfig / flushdns То, что хозяева стали активными.


10
2017-10-09 23:29



Вот и все! Я был озадачен этой проблемой для лет, я добавил (machine)\USERS с Читать а также Чтение и выполнение разрешений и после ipconfig /flushdns это сработало. Огромное спасибо. Мне очень приятно, наконец, вернуть файлы моих хостов. - Clement Cherlin


В моих случаях я попробовал созданный Windows 7 файл: C: \ Windows \ System32 \ drivers \ etc \ hosts.ics.

hosts.ics:

# This file has been automatically generated for use by Microsoft Internet
# Connection Sharing. It contains the mappings of IP addresses to host names
# for the home network. Please do not make changes to the HOSTS.ICS file.
# Any changes may result in a loss of connectivity between machines on the
# local network.

В результате Windows игнорирует настройки в C: \ Windows \ System32 \ drivers \ etc \ hosts и использует их на hosts.ics.


4
2017-09-24 20:56



Из support.microsoft.com/en-us/kb/309642/en-us, который является старым, поэтому, возможно, уже не точный: «Файл Hosts.ics используется ICS для хранения информации о динамически настроенных клиентах. Избегайте внесения изменений в этот файл, чтобы предотвратить потерю связи или данных. Файл Hosts (без расширения имени файла) - это файл, который вы добавляете информацию о статически настроенных клиентах. " Поэтому я не ожидал, что Windows проигнорирует Hosts файл только потому, что Hosts.ics настоящее. Что-то еще может привести к тому, что Windows проигнорирует ваши файлы хостов, например, может быть неправильное (но скрытое) расширение. - Arjan
Я вижу эту информацию. Но я не знаю, почему я смог заставить хосты работать только я редактировал hosts.ics. Прежде чем редактировать hosts.ics, я пробовал все методы из этой темы, но хосты не работают. - Unick


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

  1. Открыть проводник Windows в качестве администратора
  2. УДАЛИТЬ файл hosts
  3. Откройте блокнот как Администратор и создайте новый файл hosts
  4. Начните с нуля и добавьте записи.
  5. Убедитесь, что файл hosts не имеет расширения .txt.

Примечание: просто открытие файла hosts и удаление содержимого, проверка того, что он был 0kb и повторное добавление, не сработало. Я подозреваю, что проблема связана с правами доступа к файлу.


2
2018-02-18 00:05





Проводили часы, наверное, дни на этом.

Безопасность IBM Trusteer Endpoint Rapport может вызвать эту проблему.

Я добавил mysite.com в список надежных сайтов.

Я думаю, что в рамках своей безопасности он предотвращает вредоносное ПО или вирусы, перенаправляющие вас на альтернативные сайты.

Взял mysite из списка доверенных сайтов, и он больше не проверяет и «исправляет» утечку файлов моих хостов.

Надеюсь, что это поможет кому-то решить свою проблему.


1
2018-02-16 21:00





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


1
2018-05-06 07:20





В Windows убедитесь, что HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters \ DataBasePath указывается на каталог файла hosts.


0
2018-03-18 06:56





В моем случае проблема заключалась в том, что я копировал файл hosts из зашифрованного каталога и переопределял его с / etc / hosts. Мне пришлось посмотреть свойства и снять флажок «зашифровать файл».


0
2018-05-18 08:12