Windows 8 introduced a function called 'Smart Multi-Homed Name Resolution' (SMHNR). SMHNR sends out DNS requests across all available network adapters in order to determine which adapter returns the quickest response.
This is a good feature as it usually speeds up DNS REQUESTS. However, it can expose VPN users to unwanted risks. If you’ve set up DNS servers in your ordinary network interface (such as Ethernet or WiFi) and then connect to a VPN service using other DNS servers, you may risk DNS leakage.
This blog entry aims to inform our users about the issue as well as explain different ways of fixing it. If you wish to get more information about the issue, you can read more here.
Our own VPN client, which will soon be released to our customers, automatically solves this problem as it makes sure that all network interfaces use our DNS servers. For additional safety, this DNS check is done every second to make sure that nothing is trying to manipulate these settings.
The recommended and global solution
As this issue revolves around DNS leakage, the best solution is to change your DNS settings in all your network interfaces. This way, any DNS call will be handled by the DNS servers you specify.
To change your DNS servers, check our guide on how to do this.
However, remember to change the DNS settings for all the network interfaces.
Windows 8 and 8.1
For Windows 8.x, it’s fairly simple to turn off the SMHNR feature as you only have to change two values in the Windows registry.
Create a file and name it dns.reg. Then place the following command in the file:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient] "DisableSmartNameResolution"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters] "DisableParallelAandAAAA "=dword:00000001
Once you’ve put it in, save the file and double-click it to run the command. All done!
SMHNR is slightly changed for Windows 10 compared to Windows 8. In Windows 10, you can’t turn it off via the registry.
As for Windows 8, the best solution is to change the DNS settings for all network interfaces.
For Windows 10, you can use "Local Policies" to deactivate the feature. Follow the steps below to do this:
- Press WIN+R and write gpedit.msc
- Expand Administrative templates
- Expand Network
- Click DNS-client
- Double-click "Turn off smart multi-homed name resolution"
- Check the box called "Enabled"
- Click "Apply all" and then "OK"