Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

The problem

I have OS X Mountain Lion, latest updates installed.

Randomly after boot, I have no network connectivity from a user perspective. Web browsers are unable to display pages, no mail to tweets, no dropbox, no nothing.

What is broken is actually the name resolution (DNS) as I can ping local and remote IP address. The service which does the name resolution, mDNSResponder, correctly sends the DNS query, but does not see the DNS response, although one can see the paquets on the network.

The Question

How do I fix mDNSResponder (or what is blocking the DNS response) so that name resolution is always working?

My current investigation and detailed analysis

After investigation, I can ping local and remote IP address. Not names. I cannot use nslookup, dig or dns-sd, even when I specify my local DNS resolver or a remote one (like 8.8.8.8 which I can ping). I always time out. The Network Utility tool behave similarly to command line tools.

What is working is ping or traceroute of IP addresses.

Furthermore, sending the SIGUSR2 to mDNSResponder did log packets in system.log. Only the queries are log, no answer are seen by mDNSResponder. However a simple network packets listening shows that both the DNS request and DNS response are properly received and sent. When I do the same thing with proper name resolution, I can see both the queries and answer in system.log!

Therefore, I disabled completely OS X firewall, and did the launchctl unload/load sequence for mDNSResponder but this did not solve the problem. The service was still deaf and was not seeing any answer!

A "simple" reboot does often fix the problem (I had once to reboot twice to get it back working).

Normaly, I use DHCP for IP, router and DNS server. But even manually setting the network settings does not work. Although after a reboot those manual settings do work!

When this happens, other devices on the network continue to work as usual: iPad, NAS and a Linux box all work fine! Name resolution works wonder on those at the same time. Restarting the router does not solve the problem and after such a restart (when in this particular non-working mode) I often end-up having an automatic IP address in the case DHCP was configured (one of 169.254..) and a request for a new IP lease does not seem to get through with the same apparent deaf as the mDNSResponder.

When in this weird state, if I start a VM on the non-connected OS X box with a NAT network interface, the VM guest does behave like the OS X host, name resolution is unidirectional. However, if I start a VM with a bridge network interface, the guest does work properly receiving the DNS response!

Last but not least, scutil --dns output when name resolution is failing is exactly identical to the same output when name resolution is working!

share|improve this question
1  
I don't know what is really wrong, but I can tell you that if nslookup doesn't work, then the problem is unrelated to mdnsresponder. nslookup talks to the nameserver directly. So you have a network problem on your mac, something is blocking the DNS packets. –  Dan Pritts Sep 17 '13 at 15:53
    
Thanks @DanPritts that is also my understanding. I focused on mDNSresponder because this is what is used by many userspace application on OS X. Strangely since 2-3 months I do not have the problem anymore (I also do not have the problem to reboot the WiFi router so that OS X would be able to connect to it). Perhaps one of the latest Mountain Lion update solved it, as my router was not upgraded or changed. (Or perhaps the NSA is trying to have a low profile since June and decided to stop bugging my router :-D) –  Huygens Sep 17 '13 at 18:50

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.