UnKnown can't find <hostname>: Non-existent domain

I have a small network running Windows Server 2012 servers and Windows 7 clients. Right now I'm trying to setup DNS with an AD-Integrated Zone. I've configured my local machine, which is not a domain member, with the correct DNS server IPs, set it to register in DNS with the appropriate DNS Suffix, and to use that suffix in the DNS registration. That part worked great. I also have several member servers as part of the domain that are also registered in DNS. So here's the crux of the issue right now.

When I try to do an NSLookup on the hostname of one of the member servers from the workgroup client I get the following:

C:\Users\User>nslookup hostname  
Server: unknown  
Address: 192.168.1.26

*** Unknown can't find hostname: Non-Existent domain

When I ping from the same workgroup client, it succeeds by adding the DNS suffix to the hostname automatically.

C:\Users\User>ping hostname

Pinging hostname.domain.com [192.168.1.28] with 32 bytest of data:  
Reply from 192.168.1.28: bytes=32 time=14ms TTL=128  
Reply from 192.168.1.28: bytes=32 time=<1ms TTL=128  
Reply from 192.168.1.28: bytes=32 time=<1ms TTL=128  
Reply from 192.168.1.28: bytes=32 time=<1ms TTL=128  

Now, when I do an NSLookUp from another member server

C:\Users\Administrator>nslookup hostname
Server: Unknown
Address: 192.168.1.26

Name: hostname.domain.com
Address: 192.168.1.28

So I've compared the network DNS settings from both machines and the only difference is the non-domain client workstation has the extra box checked that says "Use this connection's DNS suffix in DNS registration". If I don't have that checked the client won't register in the DNS server. I have added the domain.com suffix one the workgroup client machine in the "DNS suffix for this connection:" field.

I've seen several references to reverse lookup zones causing problems like this, however I have setup a reverse lookup zone and I made sure a ptr record was created for the hostname in question.

My question would be, how do I fix this, what setting am I missing?

EDIT:

I have since setup DHCP on one of the servers and turned off DHCP on the router/gateway. After doing that and renewing my IP I now have flat name resolution. I can't imaging what setting is different however it works now. Does this make more sense?


Solution 1:

The problem is that you have two DHCP servers in your network.

  1. The router
  2. The active directory server

There is a race condition when there are multiple dhcp servers in the same network.

When a computer registers your router as it's dns, nslookup queries from this computer are asked to the router and it can't find your hostname.

If a computer is in the domain, it most likely routes the nslookup queries to it's domain server which gives a correct answer.

You should have only one DHCP server in your network and it should register your Active Directory DNS server as the primary one.