10

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?

5 Answers 5

8

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

2
  • 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
    Nov 13, 2018 at 14:15
  • 1
    omg THANK you. A rogue installer took it upon itself to resolve .dev domains to localhost
    – Tres
    Mar 20, 2020 at 23:54
6

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.

1
  • Is it a link to a Windows Vista forum???
    – Leo
    May 25, 2015 at 4:55
6

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.

4
  • 1
    This solved it for me (not using .local in my dns zone settings). I am using OSX Yosemite.
    – Adam Carr
    Jan 4, 2015 at 10:01
  • 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). Jul 10, 2018 at 10:09
  • That Apple support link is dead now. Any new links on how to make this change?
    – broc.seib
    Feb 26, 2023 at 17:07
  • Just don’t use a .local domain for your LAN. That is already reserved for use with mDNS. You may still be able to override this with a search domain in the DNS settings, but I wouldn’t count on it. support.apple.com/en-gb/guide/mac-help/mh14127/13.0/mac/13.0 Feb 27, 2023 at 18:59
3

Sometimes mDNSResolver stops when connecting with VPN.

Just restart the mDNSResolver:

sudo killall -HUP mDNSResponder

2
  • This worked for me after changing my DNS server on my local LAN Sep 7, 2020 at 6:26
  • Using macbook also this worked for me. After changed some entries on the DNS ssh was not resolving them. This trick kinda refresh the cache!
    – Jibrilat
    Apr 23, 2022 at 9:22
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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .