Setting Windows to resolve all hostnames via DNS when not connected to a Domain Controller?

3

2

The enviroment is a private network with a single router using DD-WRT's dnsmasq to resolve names and do caching. Resolving hosts via DNS works fine:

dig +short @192.168.1.1 gamma

192.168.1.22

Now, when trying to access a SMB share on a host or even simply pinging it, Windows doesn't even try to resolve the name through DNS, but instead requests LLMNR and NBNS resolution, both which I want to avoid.

Here's a output of wireshark when pinging the host gamma, notice that there is no DNS resolution whatsoever:

0.000000 192.168.1.11 -> 224.0.0.252  LLMNR 65 Standard query 0x64a0  A gamma
0.099582 192.168.1.11 -> 224.0.0.252  LLMNR 65 Standard query 0x64a0  A gamma
0.303237 192.168.1.11 -> 192.168.1.255 NBNS 92 Name query NB GAMMA<00>
1.052808 192.168.1.11 -> 192.168.1.255 NBNS 92 Name query NB GAMMA<00>
1.802938 192.168.1.11 -> 192.168.1.255 NBNS 92 Name query NB GAMMA<00>

On the other hand, pinging a host address with a FQDN, like gamma.local, always uses DNS:

0.426289 192.168.1.11 -> 192.168.1.1  DNS 71 Standard query 0xe319  A gamma.local
0.427027 192.168.1.1  -> 192.168.1.11 DNS 87 Standard query response 0xe319  A 192.168.1.22

Here's some output of my client's configuration:

netsh dnsclient show state

Name Resolution Policy Table Options
--------------------------------------------------------------------

Query Failure Behavior                : Always fall back to LLMNR and
                                        NetBIOS for any kinds of errors

Query Resolution Behavior             : Resolve both IPv4 and IPv6
                                        addresses for names

Network Location Behavior             : Never use Direct Access settings

Machine Location                      : Outside corporate network

Direct Access Settings                : Not Configured

DNSSEC Settings                       : Not Configured

ipconfig /all

Host Name . . . . . . . . . . . . : BETA
Primary Dns Suffix  . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No

Now I've search high and low for a solution, but from what I've gathered, Windows only performs real DNS resolution when connected to a Domain Controller. Is this changeable? Maybe set the client into a mode where it thinks it is connected to a Domain Controller?

The only solution I've found so far would be to append a .local DNS suffix through the adapter's DNS configuration (Windows does send DNS queries for gamma.local for example), but isn't there a way to set Windows to always resolve names like gamma though DNS first?

silverwind

Posted 2012-09-28T13:00:32.650

Reputation: 161

have you tried setting DNS IP's in the network configuration GUI? – Lizz – 2012-12-14T06:13:48.777

have you found a solution for it ? – Kousalik – 2014-02-13T14:47:30.757

Sadly not. I'm still using DNS suffixes which work in most applications, but not all :( – silverwind – 2014-02-23T12:54:10.170

No answers