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.
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.
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.
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'
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.
Have you tried ipconfig /flushdns ? I haven't found the need to reboot, though.
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.
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 liketcpview
.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.
This helped for me once: "Restart the dnsclient service and DNS server service" Dave Guenthner [MSFT] Microsoft
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.