Well, I'm no expert, but here's what I found:
This registry entry works for both Windows XP and Windows Vista
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\DNSClient]
"AppendToMultiLabelName"=dword:00000000
HKLM\Software\Policies\Microsoft\Windows NT\DNSClient\AppendToMultiLabelName
Type = DWORD
Data:
- 0 (Do not Append Suffix)
- 1 (Append suffix)
If the registry entry is not present, the default in Windows XP is 1, and 0 in Windows Vista.
Note: This registry changes and its effect apply only to the ping
command, they do not apply to the nslookup
tool. This is because nslookup
contains its own DNS resolver and does not rely on the resolver built into the operating system (DNS Client). The DNS (multi-label) query packets sent by the nslookup
tool will append the domains listed in the suffix search order irrespective of the registry key settings mentioned here.
Reference: http://blogs.technet.com/networking/archive/2009/04/16/dns-client-name-resolution-behavior-in-windows-vista-vs-windows-xp.aspx
Sounds like DNS caching issue. To resolve this, run cmd
as administrator and perform
ipconfig /flushdns
or even (although the /allcompartments
switch could seem to be superabundant)
ipconfig /allcompartments /flushdns
Further hints: ipconfig /?
Clearing the ARP cache might help as well:
arp -d
Edit according to what others advise: Group policy DNS Suffix Search List
could be found as value SearchList
in next registry key:
HKLM\Software\Policies\Microsoft\Windows NT\DNSClient
Edit 2 what output from next CLI commands? Is there listed unwanted DNS suffix?
wmic path Win32_NetworkAdapterConfiguration get caption, DNSDomainSuffixSearchOrder
wmic path Win32_NetworkAdapterConfiguration get caption, DNSDomain
Edit 3 Check values NameServer
and SearchList
in next registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
and under next registry keys (i.e. in each interface-related subkey):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP6\Parameters\Interfaces
To put changes in validity: restart computer.
Edit 4 Check all NameServerList
value of REG_MULTI_SZ
type in all keys of next pattern
HKLM\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces\Tcpip_{interface_CLSID}
Next PowerShell
code should set the DNS suffix search order. Stolen here as I'm not well-skilled in PS.
#First store the suffixes to set in a variable
$suffixes = 'mydomain.local'
#Since this is a static method, get a class object and then call the method.
$class = [wmiclass]'Win32_NetworkAdapterConfiguration'
$class.SetDNSSuffixSearchOrder($suffixes)
As the last resort: disable system restore, restart, check wmic
mentioned above...
Best Answer
I believe lan connection of the client has a higher priority/metric than the local one. That is normal. It depends on the name resolution order. Did you check the TCP/IP settings (Advanced settings) in the client? Check the metric of the gateway, DNS settings (DNS tab), and the name resolution order and there are other services too. IP/v6 also provides techniques.
Most importantly, there is a specific setting known as the VPN Binding Order. Imo, this could be the issue.
You could try the solution below. This is copied directly from this Microsoft article.
Note: If you use an AD enabled network, you may be able to use a policy.