I just found that I can ping from Windows 10 to Windows 10 using just machine name.
But Server 2012 (workgroup mode) needs to use full qualified name to ping Windows 10 machine. Weird.
The nslookup sends a query to the DNS server. Therefore, it tells what the server will answer.
The ping, however, depends on the name resolution on the localhost. I know nothing about Windows name resolver. In Linux the resolver configuration has essentially two items:
* search -- a list of domainnames
* server -- IP of DNS server
For example:
Code:
search eng.bar bar gaz
nameserver 8.8.8.8
If I do "ping foo", the resolver would make up to 4 queries to 8.8.8.8:
foo.eng.bar
foo.bar
foo.eng
foo
The first successful query result will be used by the ping.
There is more though, the NSS config has "hosts: files dns"
which means that contents of /etc/hosts is checked before querying 8.8.8.8
The resolver config could be manual/static (just like the content of /etc/hosts is), but is usually created by DHCP. A dhcp client can selectively ignore data though.
The Windows has equivalent of NSS; it can use multiple name services (files, WINS, DNS, etc). The order matters and it can be changed.
I do presume that both the Win 10 and 2012 do receive same options from the DHCP. The question is do they use them and do they use other, higher priority disturbing name services.