1

After upgrading to El Capitan how do I enable DNS resolution on an offline, internal computer network?

Before upgrading to El Capitan I could connect to my internal network, set my DNS and search domain, and I was good to have DNS resolution happen. There was no gateway on the network or DHCP server, just a switch.

Following the upgrade I was no longer able to resolve DNS names internally on a network physically separate from the internet and not connected in any way to the internet. I could ping the hosts on the network by IP address yet not by DNS name.

I tried the usual, flushing the DNS cache, restarting mDNSResponder, and rebooting. None of that helped.

One weird fact is that my /etc/resolv.conf is now blank whereas before the upgrade it showed the list of resolvers my Mac would use.

I imagine El Capitan must have included an update to the OSX DNS resolution system. Can I go and configure it manually? I have been reduced to adding entries to my /etc/hosts file.

I have tried the suggestions mentioned here.

I should mention that my co-worker's computers that are on Yosemite do not experience any issues at all and the Windows computers on the network still resolve names properly as well.

The DNS server is running BIND9 on Ubuntu 14.04 on the regular port 53.

EDIT:

I tried disabling System Integrity Protection (SIP) according to this set of instructions and that did not help at all.

EDIT 2:

Okay, so I found a fix and I probably didn't need to do a fresh install of El Capitan to do it. This is the WEIRDEST bug I have ever encountered on the Macintosh platform. All I had to do was add a Router in my network settings. I just put an arbitrary value in of 1.0.0.1 even though there is no device in my internal network that acts as a router. The mere presence of a value in the "Router:" input field triggered a write of the resolv.conf file and a restoration of the DNS service.

5
  • I'm having the same Problem after updating to El Capitan. - resolv.conf stays empty - network system preferences ui is showing the correct dns servers and search domain - dig google.com does not work - dig @my_dns_server google.com does work so the server seems reachable Oct 21, 2015 at 20:34
  • The weird part is that with my wireless adapter resolv.conf populates and DNS resolution works just fine. There is only a problem with the ethernet adapter.
    – Kent Bull
    Oct 21, 2015 at 20:49
  • I am thinking it probably has something to do with the new System Integrity Protection (SIP) upgrades for El Capitan not playing well with the Thunderbolt ethernet adapters. There is another dns issue here with El Capitan that was solved by disabling SIP.
    – Kent Bull
    Oct 23, 2015 at 1:40
  • you should try putting a value in for your router in your network interface configuration. That worked for me.
    – Kent Bull
    Nov 13, 2015 at 14:19
  • The router solution didn't work for me. resolv.conf is still missing. where there any other steps you took?
    – guydog28
    Jan 7, 2016 at 16:08

4 Answers 4

1

I had the same problem on El Capitan, and was able to resolve it by adding some values to the DNSResponder file, while SIP was DISABLED.

The steps I followed below:

  1. Reboot.
  2. Press Cmd+R to enter Recovery mode.
  3. Open Utilities->Terminal.
  4. Run the command "csrutil disable".
  5. Reboot. You are back in OS X with SIP disabled.

  6. Make the required changes by running the below commands from the terminal:

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist AlwaysAppendSearchDomains -bool YES (This is a single line)

sudo launchctl load /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

  1. Reboot.
  2. Press Cmd+R to enter Recovery mode.
  3. Open Utilities->Terminal.
  4. Run the command csrutil enable.
  5. Reboot.

After I got back into the OS, I added the search domains back into System Pref -> Network -> Advanced -> DNS Tab.

Search Domains now work once again, where I am able to ping the first two bits of my domain name, and the last 3 are added automatically.

0

We are having the same problem in our network infrastructure. But we noticed that if we ping the dns-name + ".local" it discovers the IP's correctly.

I think it must be a bug in the software of El Capitan because our different tests on Systems running Yosemite and older versions of OS X does not have this kind of problem with DNS resolution.

3
  • pinging the local DNS name does not work for me. I have a host with a name like webserver.internal.mycompany.com and when I try webserver.internal.mycompany.com.local then I get a "cannot resolve host" error. Regardless, appending .local and the end of the domain is unacceptable to me since it is not a good fix for my general audience. I want to get to the root of the problem.
    – Kent Bull
    Nov 12, 2015 at 18:13
  • I will be using Apple's recovery to do system recovery and start with Yosemite and then installing El Capitan fresh. If my problem is not resolved then I will downgrade to Yosemite.
    – Kent Bull
    Nov 12, 2015 at 18:14
  • Okay, so I found a fix and I probably didn't need to do a fresh install of El Capitan to do it. This is the WEIRDEST bug I have ever encountered on the Macintosh platform. All I had to do was add a Router in my network settings. I just put an arbitrary value in of 1.0.0.1 even though there is no device in my internal network that acts as a router. The mere presence of a value in the "Router:" input field triggered a write of the resolv.conf file and a restoration of the DNS service.
    – Kent Bull
    Nov 13, 2015 at 14:18
0

I had this same problem, noticed I had a search domain in the /etc/resolv.conf config file. Opened up network configuration and removed search domain, then set two custom DNS servers, the first was the DNS server issued by my router (which was itself, 192.168.1.1)

Then added Google's DNS server 8.8.8.8 ... clicked Apply and somehow it started working again. I'm sure this will come up again as this isn't the first time i've had this issue.


UPDATE 10/2016 ... had issue AGAIN, here's post in another SE thread:

Unfortunately none of this helped me, and turned out after an hour of trying to figure it out and beating my head against the coffee table .. something, somehow, somewhere ... removed the /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist file, and was the reason I had this problem.

Realized this when I saw this error message: /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist: No such file or directory

Here's a copy of a version from El Capitan: https://gist.github.com/tripflex/e7147690d1768dc74b1dd626614573c0

Here's the code from that gist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.apple.mDNSResponder.reloaded</string>
    <key>OnDemand</key>
    <false/>
    <key>InitGroups</key>
    <false/>
    <key>UserName</key>
    <string>_mdnsresponder</string>
    <key>GroupName</key>
    <string>_mdnsresponder</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/sbin/mDNSResponder</string>
    </array>
    <key>MachServices</key>
    <dict>
        <key>com.apple.mDNSResponder</key>
        <true/>
            <key>com.apple.mDNSResponder.dnsproxy</key>
            <true/>
    </dict>
    <key>Sockets</key>
    <dict>
        <key>Listeners</key>
        <dict>
            <key>SockFamily</key>
            <string>Unix</string>
            <key>SockPathName</key>
            <string>/var/run/mDNSResponder</string>
            <key>SockPathMode</key>
            <integer>438</integer>
        </dict>
    </dict>
    <key>POSIXSpawnType</key>
    <string>Interactive</string>
    <key>EnablePressuredExit</key>
    <false/>
</dict>
</plist>
-1

Change "Configure IPv6" from automatic to link-local only. Works like a champ

1
  • Welcome to Ask Different. We like answers to be more than just a single line. Ideally, you want to explain why your answer is *right." It also helps to provide links, citations, and/or screen shots. Please review our help section How to Answer on writing good answers to questions
    – Allan
    Aug 13, 2016 at 0:36

You must log in to answer this question.

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