On Windows, how do you refresh the hosts file without rebooting?
10 Answers
You don't need to reboot. Any changes you make to the hosts file are immediate. You used to need to reboot for changes to take effect in Windows 9x. That is no longer the case.
However, you may need to restart any applications that do internal hostname or DNS caching, such as web browsers.
-
11But you might need to reboot running applications since DNS entries might be cached. Feb 28, 2012 at 9:24
-
1Definitely add in the running applications DNS, as that's what ultimately matters. Firefox, from my knowledge and test a few moments ago, takes 60 seconds to refresh.– XonatronMay 21, 2012 at 13:44
-
9Restarting Chrome won't pick up changes you make to your hosts file on Windows. Navigate to chrome://net-internals/#dns and press the "Clear host cache" button.– 2ToadNov 27, 2013 at 19:02
-
Sorry but it's not working on my Windows 7. Everyone should look to the other solutions proposed like this: computerstepbystep.com/dns_client_service.html– ReviousDec 22, 2014 at 11:46
-
Actually I was wrong: no one of the proposed solutions worked. I had to restart windows. Even ping wans't getting the update. A monitoring with ProcMon of ping could help to see which process is called while trying to resolve a domain.– ReviousDec 22, 2014 at 11:58
Have you tried ipconfig /flushdns ? I haven't found the need to reboot, though.
-
2Run this from an administrator command prompt (hold Ctrl + Shift when opening it).– WalfApr 10, 2017 at 5:33
-
Just a warning, NSLOOKUP will still retrieve results from DNS Server will never look at hosts file; To check if your new name works try the ping command.
-
2I am pretty sure 90% of people enters here looking for this answer :) Jul 23, 2020 at 14:28
IE caches DNS entries. You need to start a new IE instance in order to see host file changes.
ipconfig /flushdns
will flush the local dns cache.
nbtstat -R
will flush netbios cache.
You may want to ensure there are no current connections to the host for which the name resolution you added by using netstat -a
or something like tcpview
.
Unless you have dns suffixing setup to append the domain names to the end of the host, you can usually tell if it is netbios by the use of a single name for resolution. It is common for corporate networks to suffix domains and add search orders to ease local resolution of hosts on the network.
I have noticed some of the applications I use also cache some of these responses, and must ensure they are completely closed before the resolution works properly. Firefox and IE like to occasionally run in the background, despite not having any active windows, but that may be more my fault than the applications.
Because changes are seen immediately, you might be seeing another DNS cache in your application. Firefox has a DNS cache with a TTL of around 60 seconds, I believe: I usually just restart firefox if I've made a change and can't wait a minute.
-
Thank you for this! I had no idea I only had to wait 60 seconds (I didn't time it but it's about this) for Firefox to update the DNS. Much better than if it takes more than 60 seconds to re-setup your workflow.– XonatronMay 21, 2012 at 13:43
This helped for me once: "Restart the dnsclient service and DNS server service" Dave Guenthner [MSFT] Microsoft
-
For me,
>ipconfig /flushdns
alone did not work without reboot, but that followed by restarting dnsclient did. Thanks! Dec 12, 2013 at 17:26
As @Ferruccio said, Hosts changes should be immediate in Windows. However, if you're using something like Microsoft Firewall Client Management software, that could be doing the DNS queries for you. Try disabling any proxy software and see if that works.
I use Windows Vista connect to an office via a VPN. I use the LMHOSTS file to define names for IP addresses the other side of the VPN.
Unlike the other comments, I find that pinging a name after updating the LMHOSTS file does not use the new IP immediately. It does happen eventually but to speed up the process I use:
nbtstat -R
"-R (Reload) Purges and reloads the remote cache name table"
I have tried ipconfig /flushdns but it did not work for me.
[You have to open the command as an Administrator. Or run it from a command prompt with administrator privileges]
Powershell cmdlets Set-HostsEntry and Remove-HostsEntry no reboot needed, can be scheduled, could probably be triggered upon connection to specific Wifi or Network names
Syntax: Set-HostsEntry -IPAddress 10.5.6.7 -HostName 'myserver' and Remove-HostsEntry -HostName 'myserver'
install as part of carbon package from http://get-carbon.org/
worked for me and my temporary internal email server.