Файл hosts на компьютерах Windows используется для привязки определенных строк имен к определенным IP-адресам для переопределения других методов разрешения имен.
Часто кто-то решает изменить файл hosts и обнаруживает, что эти изменения не вступают в силу или что даже старые записи файла hosts впоследствии игнорируются. Это может произойти из-за множества ошибок, и может быть сложно понять, какая именно.
Когда перед Windows возникает проблема игнорирования файла hosts, какой протокол комплексного устранения неполадок можно использовать?
Этот вопрос имеет дубликаты на SO, такие как игнорирование файла HOSTS
Тем не менее, они, как правило, имеют дело с конкретным случаем, и как только обнаружена ошибка, допущенная ФП, дискуссия заканчивается. Если вы не сделали ту же ошибку, такое обсуждение не очень полезно. Поэтому я подумал, что было бы более полезно иметь общий протокол для решения всех проблем, связанных с хостами, который охватывал бы все случаи.
Ответы:
Исходя из моего собственного опыта и того, с чем я столкнулся во время Google, вот несколько вещей, которые можно попробовать:
1. Вы проверили, что это работает правильно?
Изменения хостов должны вступить в силу немедленно, но Windows кэширует данные разрешения имен, поэтому в течение некоторого времени могут использоваться старые записи. Откройте командную строку (Windows + R
cmd
,, Enter) и введите:Сбросить старые данные. Чтобы проверить, работает ли он, используйте (при условии, что у вас есть запись ipv4 на ваших хостах для www.example.com или запись ipv6 на ваших хостах для ipv6.example.com):
И посмотрите, использует ли он правильный IP. Если да, ваш файл hosts в порядке и проблема в другом месте.
Кроме того, вы можете сбросить кэш NetBios с помощью (откройте консоль как администратор или она не будет работать):
Вы можете проверить текущие данные в кеше DNS:
2. Основы
hosts
и нетhost
и т. Д.hosts
нетhosts.txt
) - будьте осторожны, если вы настроили окна для скрытия известных расширений, проверьте свойства, чтобы убедиться: правильный тип файла хостов будет отображаться как «Файл».#
), который указывает на комментарии?www.example.com
иexample.com
- безопаснее всего просто добавить оба)?3. Пробелы
Формат для каждой строки:
IP address
горизонтальная табуляция (escape-код\t
, ASCIIHT
, hex0x09
) или один пробел (hex0x20
), затем имя хоста, т.е.www.example.com
, затем, наконец, возврат каретки с последующим переводом строки (escape-коды\r\n
, ASCIICRLF
, hex0x0d 0x0a
).Примеры записей с использованием управляющих изображений Unicode для обозначения управляющих символов. (Не копируйте и не вставляйте их в файл hosts!)
Отдельные байты можно просматривать в Notepad ++ с помощью плагина hex hex editor . Notepad ++ также будет отображать специальные символы (Вид -> Показать символ), чтобы вы могли легко проверить количество и вид пробельных символов.
Если вы скопировали и вставили записи хостов откуда-то, вы можете получить несколько пробелов. В теории хосты поддерживают несколько пробелов, разделяющих два столбца, но это еще одна вещь, которую стоит попробовать, если больше ничего не работает.
Чтобы быть в безопасности, убедитесь, что все строки в вашем хост-файле используют табуляции или пробелы, а не оба.
Наконец, завершите файл пустой строкой.
4. Ключ реестра
Существует раздел реестра, указывающий расположение файла hosts. Предположительно, Windows на самом деле не поддерживает размещение файла hosts в других местах, но вы можете проверить это. Ключ:
Запись должна быть:
5. Разрешения
Иногда возникают проблемы с разрешениями для файла, атрибутами файла и подобными вещами. Чтобы воссоздать файл с разрешениями по умолчанию:
hosts
.%SystemRoot%\System32\drivers\etc
каталог и перезапишите старый файл.Последний пункт важен: копирование работает, перемещение - нет.
Локальная
Users
учетная запись должна иметь возможность читать файл hosts . Чтобы убедиться (в Windows 7):%SystemRoot%\System32\drivers\etc
в проводнике Windows.hosts
файл, убедитесь, что вы видите скрытые и системные файлы .hosts
файлу и выберитеProperties
из контекстного меню.hosts Properties
окне нажмите наSecurity
вкладку.Group or user names:
поле. Если%COMPUTERNAME%\Users
присутствует, нажмите на него, чтобы просмотреть разрешения.Users
нет, или присутствует, но не имеетRead
разрешения, нажмитеEdit...
.Users
его нет, нажмитеAdd...
, введитеUsers
, нажмитеCheck Names
и нажмите OK или нажмите Enter.Users
и убедитесь,Read & execute
что отмечен вAllow
столбце. Нажмите ОК. Если появитсяWindows Security
окно с предупреждением, выберите «Yes
Продолжить».hosts Properties
окно.6. Кодировка
Файл hosts должен быть закодирован в ANSI или UTF-8 без спецификации. Вы можете сделать это с помощью File -> Save As.
7. Прокси
Если у вас настроен прокси, он может обойти файл hosts. Решение состоит в том, чтобы не использовать прокси-сервер или настроить его так, чтобы он этого не делал.
Чтобы проверить, зайдите в Internet Explorer -> Свойства обозревателя -> Подключения -> Настройки локальной сети. Если все пусто и установлен флажок «Автоматически определять настройки», прокси не используется.
Если вы используете прокси-сервер для доступа в Интернет и, следовательно, не хотите его отключать, вы можете добавить исключения, перейдя в Internet Explorer -> Свойства обозревателя -> Подключения -> Параметры локальной сети -> Прокси-сервер / Дополнительно. Затем добавьте исключения в текстовое поле «Исключения». Например
localhost;127.0.0.1;*.dev
8. DNS-адрес
(Это также может решить проблемы с прокси.)
Перейдите к свойствам сетевых подключений, затем настройкам TCP / IP и измените первый DNS-сервер на
127.0.0.1
(localhost). Второй, вероятно, должен быть вашим действительным IP-адресом DNS.Это не обязательно для работы файла hosts , но в вашем случае это может помочь, если что-то настроено странно.
9.. Локальные адреса
Если вы используете запись домена .local в форме myhost.local и она игнорируется, попробуйте следующее
даже если www.myhost.local не существует. Windows как-то не добавляет свою рабочую группу или локальный домен.
источник
hosts
файл используется, и изменение его на 127.0.0.1 фактически является ошибкой, если вы на самом деле не запускаете DNS-сервер на своем компьютер.Убедитесь, что вы сначала указали ipaddress, а затем «домен», например:
источник
127.0.0.1 bo.dev www.bo.dev ftp.bo.dev
.dev
TLD локально, думая, что вы не столкнетесь с конфликтами. Это действительный общий глобальный домен верхнего уровня, принадлежащий Google, и с ним вы столкнетесь с множеством проблем. См. Ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hstsПожалуйста, добавьте проверку прав доступа к файлам. Я обнаружил, что, хотя у меня были права локального администратора на компьютер и, следовательно, на хосты. Только после того, как я добавил локальных пользователей к разрешениям файла hosts с помощью «Чтение» и «Чтение и выполнение», а затем ipconfig / flushdns, хосты стали активными.
источник
(machine)\USERS
с правами Чтение и Чтение и выполнение, и послеipconfig /flushdns
того, как это сработало. Огромное спасибо. Мне очень приятно, наконец, вернуть мой файл hosts.В моих случаях я пробовал Windows 7 созданный файл: C: \ Windows \ System32 \ drivers \ etc \ hosts.ics.
hosts.ics:
В результате Windows игнорирует настройки в C: \ Windows \ System32 \ drivers \ etc \ hosts и использует их из hosts.ics.
источник
Hosts
файл только потому, чтоHosts.ics
он присутствует. Что-то еще может заставить Windows игнорировать ваши файлы Hosts, например, неправильное (но скрытое) расширение.У меня возникла та же проблема, записи файла hosts игнорируются. Я попробовал все в этой и многих других темах без удачи. Я решил опубликовать то, что сработало для меня, если кто-то еще столкнется с этим.
Примечание: просто открыв файл hosts и удалив содержимое, проверив, что он равен 0 КБ, и повторно добавив его, не получилось. Я подозреваю, что проблема с правами доступа к файлу.
источник
hosts.bak
, а затем продолжить, как описано в шаге 3.Потратил на это часы, возможно, дни.
Эта проблема может быть вызвана безопасностью IBM Trusteer Endpoint Rapport.
Я добавил mysite.com в список доверенных сайтов.
Я думаю, что в рамках своей безопасности он предотвращает проникновение вредоносных программ или вирусов на альтернативные сайты.
Взял mysite из списка доверенных сайтов, и он больше не проверяет и не «исправляет» мою переадресацию файла hosts.
Надеюсь, что это поможет кому-то решить их проблему.
источник
Убедитесь, что вы ввели значения как
IP NAME
, а не какNAME IP
.Это может произойти, если, скажем, в файле есть только одна запись и когда вы игнорируете текст комментария.
источник
Одна проблема, пропущенная в обсуждении выше, - это неполные имена (имена, которые не включают точку) в файле hosts. Ваши настройки сети могут сработать в этот момент и автоматически добавить ваш собственный домен в конец неквалифицированного домена. Следовательно, имя может не разрешить или, что еще хуже, разрешить для совершенно другой машины.
источник
В окнах убедитесь, что HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters \ DataBasePath указывает на каталог файла hosts.
источник
В моем случае проблема заключалась в том, что я копировал файл hosts из зашифрованного каталога и перезаписывал им файл etc / hosts. Мне пришлось посмотреть на свойства и снять флажок «зашифровать файл».
источник
Мой файл hosts игнорируется до тех пор, пока на моем (Windows 7) ноутбуке не будет сетевого подключения. После подключения к сети все работает как положено. Очевидно, что без сети я не могу пропинговать хосты и т. Д., Но я все еще ожидал, что Windows получит их IP-адреса из файла хостов. Это не так. Даже после отключения он все равно ищет адреса в порядке, но между перезагрузкой компьютера и первым подключением к сети он игнорирует файл hosts.
(Между прочим, насколько я могу судить, вкладки, пробелы и возврат каретки не имеют значения).
источник