DNS lookup fails but nslookup works

7

I have DNS lookup problems on my internal network. I'm using an internal DNS server with the IP 192.168.1.254.

If I use nslookup everything works like it should:

>hawk:~ user$ nslookup publicwebserver.domain.local
>Server:        192.168.1.254
>
>Address:   192.168.1.254#53
>
>Name:  publicwebserver.domain.local
>
> Address: 192.168.1.21

My problem is that no other program seems to be able to lookup the DNS name:

hawk:~ user$ ping publicwebserver.domain.local

ping: cannot resolve publicwebserver.domain.local: Unknown host

It's like this for all command line programs and e.g. Firefox. If I fire up Network Utility, I get the same problem on the Lookup tab (probably since it uses nslookup or host on the back-end).

Has any of you seen this issue before?

Thomas Lundström

Posted 2010-02-27T15:55:42.600

Reputation: 201

Answers

3

It seems as if this is due to me pointing to both internal and external dns servers on my client, as mentioned here. After I removed all external DNS servers from my list of servers, everything works as it should.

Thomas Lundström

Posted 2010-02-27T15:55:42.600

Reputation: 201

Is it a link to a Windows Vista forum??? – Leo – 2015-05-25T04:55:04.743

5

Actually it is probably due to using a .local domain. That conflicts with the mDNS resolution (zero configuration networking) which by default uses .local.

Some versions of OS X can support both name resolution methods, mDNS and normal DNS, but at least Yosemite doesn't seem to support it any more.

This little bit older Apple Support document explains the background. For Yosemite what does work still is adding "domain.local" to the DNS search list in the network settings.

The real solution is not using the .local domain for DNS resolved hosts.

jodyfanning

Posted 2010-02-27T15:55:42.600

Reputation: 153

1This solved it for me (not using .local in my dns zone settings). I am using OSX Yosemite. – Adam Carr – 2015-01-04T10:01:07.590

Yes, worked for me as well. Switched from .local to .vpn and voila, it works! I also have to mention that nslookup worked before switching from .local (still does!), just ping didn't work (now does). – Paul-Sebastian Manole – 2018-07-10T10:09:57.887

3

For some, check /etc/resolver/ directory and delete any files there.

Scott Yu - Front-End UX

Posted 2010-02-27T15:55:42.600

Reputation: 417

I had a leftover dnsmasq installation (to resolve *.localhost to 127.0.0.1) that I removed in favour of configuring it at my router level (using dd-wrt, via dnsmasq options under Services). The only thing I hadn't removed was the /etc/resolver/ folder that I had created during the local dnsmasq install. So, this solution worked for me – matb33 – 2018-11-13T14:15:13.767

1

I have the same problem on OS X Yosemite beta, and switching to Google's 8.8.8.8 fixed the problem for me.

Dan

Posted 2010-02-27T15:55:42.600

Reputation: 458