
Я использую Windows 7 Home Premium 64-bit. Начиная с сегодняшнего дня, я заметил, что разрешение DNS не читает мой %SYSTEMROOT%\System32\drivers\etc\hosts
файл. Я говорю это, потому что я добавил две новые записи в файл, и когда я запускаю 'nslookup' в командной строке, они не разрешаются. Более того, простая попытка разрешить 'localhost' приводит к тому, что мой основной DNS-сервер запрашивается.
Я прочитал несколько тем, которые предполагают, что файл мог быть поврежден, и переместить его в сторону и создать новый. Я сделал это, и никаких улучшений.
Есть ли какой-то ключ реестра, который управляет последовательностью ресурсов, используемых для разрешения DNS (похож на nsswitch.conf в Unix)? Что еще может быть причиной этого?
решение1
Когда вы запускаетеnslookup
по адресу, Windows будет запрашивать DNS-сервер и не будет смотреть вфайл хостов. Всегда. Однако, когда он действительно подключается, он будет использовать значение из файла хоста. Попробуйте добавить example.com в файл hosts и указать на 127.0.0.1. Запустите nslookup
: он разрешится на реальный IP-адрес. Выполните ping. Ваш localhost ответит.
C:\>nslookup example.com
Server:
Address: 10.110.5.1
Non-authoritative answer:
Name: example.com
Address: 192.0.32.10
C:\>ping example.com
Pinging example.com [127.0.0.1] with 32 bytes of data:
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
C:\>
решение2
Мне не удалось заставить мой файл hosts работать на Windows 7 x64. Самое противное, что с теми же настройками он работает на x86.
Итак, что я сделал, чтобы заблокировать доступ определенным программам к определенным сайтам, — это использовал бесплатный ZoneAlarm Personal Firewall. Я знаю, что это наименее элегантное решение, но для меня не было обходного пути для этой ситуации.
У меня оба файла hosts ping
проигнорированы nslookup
, хотя я пробовал несколько версий и модификаций кодировки символов, но безуспешно.
Я не знаю, может ли кому-то еще пригодиться решение, которое я использовал, но просто хотел сообщить, что оно существует и работает!
решение3
Я долго с этим боролся, думая, что проблема в моем антивирусном ПО или чем-то еще. На самом деле, мой редактор,Блокнот, добавил расширение .txt к имени файла, тем самым сделав его невидимым для системы!
Проверьте расширение. Оно должно быть пустым! Смотрите такжеКак сбросить файл Hosts до значений по умолчанию?. Это вернет ваш файл хоста к первоначальному состоянию.
решение4
У меня была та же проблема, и это помогло мне на Win 7.
Добавляя новые записи в файл hosts, убедитесь, что вы используете все пробелы, без табуляции.
У меня это сработало.