Как обновить файл hosts без перезагрузки

Ответы:

153

Вам не нужно перезагружаться. Любые изменения, которые вы вносите в файл hosts, являются немедленными. Раньше вам приходилось перезагружаться, чтобы изменения вступили в силу в Windows 9x. Это уже не так.

Однако вам может потребоваться перезапустить любые приложения, которые выполняют внутреннее кэширование имени узла или DNS, например веб-браузеры.

Ферруччо
источник
8
Но вам может потребоваться перезагрузить запущенные приложения, поскольку записи DNS могут быть кэшированы.
Barfieldmv
1
Определенно добавьте в запущенные приложения DNS, так как это то, что в конечном итоге имеет значение. Firefox, насколько я знаю и тестировал несколько минут назад, обновляется за 60 секунд.
Ксонатрон
7
Перезапуск Chrome не воспримет изменения, внесенные вами в файл hosts в Windows. Перейдите к chrome: // net-internals / # dns и нажмите кнопку «Очистить кэш хоста».
2
Извините, но это не работает на моем Windows 7. Каждый должен смотреть на другие решения, предложенные как это: computerstepbystep.com/dns_client_service.html
Revious
На самом деле я был неправ: ни одно из предложенных решений не сработало. Я должен был перезагрузить окна. Даже пинг не получит обновления. Мониторинг с помощью ping ProcMon может помочь определить, какой процесс вызывается при попытке разрешить домен.
Реви
38

Вы пробовали ipconfig / flushdns? Я не нашел необходимости перезагрузки, хотя.


источник
Запустите это из командной строки администратора (удерживайте Ctrl + Shift при открытии).
Уолф
Нет, ни один из них не работал для меня
Eoin
27

Просто предупреждение, NSLOOKUP будет по-прежнему получать результаты с DNS-сервера, никогда не будет просматривать файл hosts; Чтобы проверить, работает ли ваше новое имя, попробуйте команду ping.


источник
22

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


источник
1
Firefox обновляется примерно через 60 секунд, вам следует дважды проверить, что IE тоже не выполняет обновление.
Ксонатрон
1
IE9 не обнаружил изменения в течение нескольких минут. Так проще использовать ipconfig / flushdns
Маркус
13

ipconfig /flushdnsочистит локальный кеш днс.
nbtstat -Rочистит кеш netbios. <----- Должен быть с заглавной "R"

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

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

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

боб
источник
5

Поскольку изменения видны сразу, вы можете увидеть другой DNS-кеш в вашем приложении. Я полагаю, что в Firefox есть DNS-кэш с TTL около 60 секунд. Обычно я просто перезапускаю Firefox, если внес изменения и не могу ждать ни минуты.


источник
Спасибо тебе за это! Я понятия не имел, что мне нужно было только подождать 60 секунд (я не рассчитал время, но это об этом), чтобы Firefox обновил DNS. Намного лучше, чем если бы переустановка рабочего процесса заняла более 60 секунд.
Ксонатрон
4

Это помогло мне однажды: «Перезапустите службу dnsclient и службу DNS-сервера» Дейв Гентнер [MSFT] Microsoft

Джейк Эндрю
источник
Для меня >ipconfig /flushdnsодин не работал без перезагрузки, но с последующим перезапуском dnsclient сделал. Спасибо!
Кристен Уэйт
2

Как сказал @Ferruccio, изменения хостов должны быть незамедлительными в Windows. Однако, если вы используете что-то вроде программного обеспечения Microsoft Firewall Client Management, это может выполнять DNS-запросы для вас. Попробуйте отключить любое прокси-программное обеспечение и посмотрите, работает ли оно.


источник
1

Я использую Windows Vista для подключения к офису через VPN. Я использую файл LMHOSTS, чтобы определить имена для IP-адресов другой стороны VPN.

В отличие от других комментариев, я обнаружил, что проверка имени после обновления файла LMHOSTS не сразу использует новый IP. Это происходит в конце концов, но для ускорения процесса, который я использую:

nbtstat -R

«-R (Перезагрузка) Удаляет и перезагружает таблицу имен удаленного кэша»

Я пробовал ipconfig / flushdns, но у меня это не сработало.

[Вы должны открыть команду как администратор. Или запустите его из командной строки с правами администратора]

JamPickle
источник
0

Командлеты Powershell Set-HostsEntry и Remove-HostsEntry перезагрузка не требуется, может быть запланирована, может быть вызвана при подключении к определенным именам Wi-Fi или сети

Синтаксис: Set-HostsEntry -IPAddress 10.5.6.7 -HostName 'myserver' и Remove-HostsEntry -HostName 'myserver'

установить как часть углеродного пакета от http://get-carbon.org/

работал для меня и моего временного внутреннего почтового сервера.

IronOak
источник