Не работают локальные хосты

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

Файл 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? Так должно быть 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 ).

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

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

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

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

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

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

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

Читайте также:  Не работает отопитель кунга

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

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

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

  1. Создайте новый текстовый файл на рабочем столе.
  2. Скопируйте и вставьте содержимое вашего текущего файла hosts в этот файл в Блокноте.
  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 и нажмите OK или нажмите Enter.
  8. Выберите Users и убедитесь, Read & execute что отмечен в Allow столбце. Нажмите ОК. Если появится Windows Security окно с предупреждением, выберите « Yes Продолжить».
  9. Нажмите OK, чтобы закрыть hosts Properties окно.
  10. Перейдите к разделу 1 этого ответа и следуйте инструкциям, чтобы проверить, работает ли он сейчас.

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 , но в вашем случае это может помочь, если что-то настроено странно.

Источник

Записки молодого админа

. для себя и для всех

среда, 26 мая 2010 г.

Если в windows не работает hosts

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

Во первых, попробуйте закрыть все браузеры и выполнить в консоли команду:Данная команда очищает dns-кеш.

Во вторых, проверьте в «HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters» параметр «DataBasePath», он должен иметь тип «REG_EXPAND_SZ» и значение «%SystemRoot%\System32\drivers\etc».

В третьих
, убедитесь, что к файлу есть доступ на чтение для всех юзеров.

В четвертых, попробуйте переименовать файл hosts в, например, hosts.bak. Потом создайте новый файл hosts, откройте его блокнотом и напишите туда ручками (именно ручками, а не скопируйте):(porno.com тут приведен для примера, реально надо писать тот сайт, который вы хотите заблокировать)

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

ЗЫЖ Товарищу помог четвертый пункт.

UPD: Не забывайте, что сначала должны идти IP, а потом, через пробел или таб, имя хоста.

Кому ничего не помогает советую заглянуть в настройки подключения сетевухи. У меня там рядом с настройками Тсp/ip нашлась такая вот дрянь: «lplir lightweight Filter (x64 edition)». Снимаем галку и радуемся жизни.
Что интересно, гугл ничего про дрянь не знает. Откуда оно взялось не ясно.

Информация с сайта http://angel2s2.blogspot.com/. Если Вы читаете информацию на другом сайте, пожалуйста свяжитесь с автором сайта http://angel2s2.blogspot.com/.

Читайте также:  Мать одиночка с 2 детьми не работает

Похожие статьи

45 коммент.:

Спасибо angel2s2 до такого варианта было реально тяжело додуматься 🙂

Благодарю за советы, помогло. А то ДВА дня парился с этой проблемой. Добавляю твой сайт в избранные.

Рад, что оказалось полезным и рад за вас, что помогло 🙂

Спасибо, дружище! 4 пункт помог!

Рад, что помогло 🙂

4 пункт однозначно решает. Настраивал несколько дней Апачи, не мог понять почему не работают Vhosts (c NameVirtualHost), а все дело в hosts оказалось. Непонятно только, почему hosts перестал работать. Кстати про вписывание руками директив: я все из старого скопировал, и работает, так что видимо можно и без лишнего рукописного ввода обойтись.

Да, я это тоже заметил. У всех комментаторов именно этот пункт.

У меня два предположения почему перестал работать:
1. Файл должен быть в формате ASCII, а он изначально в «UNICODE».
2. Внешнее воздействие: вирус, hotfix либо какой-нибудь антивирус. В смысле, изменил файл из ASCII в «UNICODE».
Ничего из этого я, конечно же, не проверял. Это только мое предположение.
Тут под «UNICODE» я имею ввиду следующее: если сделать экспорт из regedit какой-нибудь ветки, а потом полученный файл открыть, например, в gvim, то будет видно, что между буквами есть еще какие-то символы. Вот такой формат я и имел ввиду. Вроде это UTF-16. Хотя я точно не знаю.

> Кстати про вписывание руками директив
Ручками предложил вписать, чтобы избежать случайных косяков с кодировкой и непечатаемыми (служебными?) символами.

привет,а что мне не делать,если у меня на оборот не заход в контакт,одноклассники!!я уже заходил на host всё делал по инструкции,и всё равно не магу зайти на сайты(( хотя нет в этих строках на счёт того что сайты заблокированы. что делать? заранее спасибо!

Привет. Скорее всего у тебя есть скрытый системный файл hosts, а тот, что видишь ты, называется hosts.txt, но так как в проводнике отключено отображение расширений, то ты видишь просто hosts.
Скачай FAR, включи в настройках отображение скрытых и системных файлов, перейди в папку C:\Windows\System32\drivers\etc. Если увидишь файл hosts.txt значит все так и есть. Удаляй его и правь файл hosts (который без расширения). Так же обязательно проверь комп на вирусы (есть такая зараза, которая этот трюк проворачивает): лучше скачай Dr.Web LiveCD или Kaspersky Rescue Disk на другом компе, запиши на CD диск, загрузи свой комп с этого диска и проверь на вирусы (так на много надежнее, чем из винды, даже из безопасного режима, проверять).

спасибо огромное, ничего не помогало, но 4-й пункт это и правда хоть и нелепо, но работает

Спасибо, и мне 4 пункт помог =)

Спасибо! проблема решилась 4-м пунктом! ))

В основном проблема с файлом hosts в том, что вирусы/трояны заменяют букву «o» латинскую на букву «о» русскую. Вот система и не видит этот файл. А в проводнике всё смотрится окейно.

У меня было такое в свежепроинсаллированной ХРюшке (лицензионной). Не помню только какой там СП был.

Спасибо большое способ переименования помог!

Убил на поиск проблемы полтора часа , перепробовал всё что можно .

. спасибо , помог тоже 4-й пункт

спасибо большое, думал пропаду..

не пашет нихера, семерка, зараза, достала уже..

сижу значит пишу уже который час DynDNS-сервер на .cmd в связке с Netcat, для того чтобы слушать на порту можно было, всё отлично кроме одного — не потдягивают эти драные окна нихера! и руками и скриптом и головой уже в монитор этот фаел и обновлял и руками создавал и пересоздавал и делал через move, и через rename, и ХРЕН!

Читайте также:  Видеокарты для ноутбуков как отремонтировать

если найдешь решение или знаешь что-то из того, что тут
не описано — буду офигенно рад если кинешь на мыло!

dasknix много_животных почта_на_гмайл-точка-ком

..ну и все описанные способы, конечно, тоже
перепробовал — не помогло, иначе бы не писал.

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

Да. Такое тоже бывает 🙂
Отдыхай больше 😉

Блин, у меня проблема месяца два уже. Правда раньше не к спеху было, ну я и забил, а сейчас острая необходимость — и сижу бьюсь. Респект, сработал 4 пункт 🙂

Спасибо ГРОМАДНОЕ
Чего только не делал до этой статьи
Помогло создание нового файла hosts

Кому ничего не помогает советую заглянуть в настройки подключения сетевухи. У меня там рядом с настройками Тсp/ip нашлась такая вот дрянь: «lplir lightweight Filter (x64 edition)». Снимаем галку и радуемся жизни.

Что интересно, гугл ничего про дрянь не знает. Откуда оно взялось не ясно.

Спасибо, добавил в пост.

подскажите пожалуйста, можно ли с помощью hosts заблокировать приложения вконтакте? лично у меня не получается. другие адреса блокируются

Можно. Но нужно знать IP адрес, на котором это приложение висит. Дело в том, что сами приложения, как правило, хостятся не на серверах вконтакта, а на сервере разработчика.

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

Хостс перестал работать после чистки программой Dr.Web CureIt.
Ни что из вышеперечисленного его не воскресило работу файла.
Виндовс XP SP2.
Посоветуете, что либо или дешевле для нервов просто переустановить систему?

Манори, я знаю только один случай, когда делаешь правку файла hosts, а эффекта нет.
В папке было два файла — hosts и hosts.txt, но т.к. в проводнике был отключен показ скрытых файлов и их расширений, пользователь видел только один файл — hosts.txt, но видел его как hosts. Поэтому hosts и не работал.

Roma Shagrov, у меня включен показ скрытых файлов(лечил от вируса-скрывалки папок флешку, которую у соседей к «динозавру» полному вирусов подключал, из-за чего, собственно и использовал Dr.Web CureIt). Скрытых файлов там нет, и он работал до обработки антивирусником Dr.Web CureIt.

Файл имеет атрибут «системный»? Какие права на файл (владелец и тп)?
У меня с cure it такого никогда не было.

А разве эта фича не в Win7 появилась?
Хотя, может, я-нуб, незнающий куда смотреть.

Манори, точно не скажу. Давно винду не юзаю, линуксоид.

яснопонятно. я б тож давно перешёлна линукс, да не охото с эмуляторами возиться. приходится терпеть всю эту фигню ради игор. Т.Т

А у меня проблема оказалась в папках etc\Save1 etc\Save2, в которых я хранил копии hosts.
Пока их не убрал, основной hosts не обрабатывался.

Этот комментарий был удален автором.

Откатить систему помогает. Понятно, что поздно с советом, но может другим поможет после лечения cureit

Olga A, откат системы не всегда поможет, т.к. изменения в системе, связанные с hosts могли произойти давно, а понадобилось, что в hosts менять, только сейчас.

помогло только после nbtstat -R с правами адиминистратора + ipconfig /flushdns

Не вышло у меня все проверил не один раз и как назло когда реально понадобилось, такая магия что без бубна не разберешься, на 7, 10 проверил все гуд, а вынь 8*64 ни вкакую час времени потрачено бесполезно (.

Так и не понял, что именно помогло, но в конце концов оно почему-то заработало, когда я уже забил) Указанный в статье фильтр — это фильтр антивируса, он просто сам блокирует некоторые сайты и по идее не должен влиять на блокировку от hosts.

Источник

Оцените статью