How to configure DNS now that OS X Server doesn’t support it

dnsmojaveserver.app

I was using OS X Server to run DNS for my local network. As many know, the Mojave version of Server dropped a lot of the services that were there, one of which was DNS. Unfortunately I didn't read the fine print when I upgraded my server to Mojave and was later surprised when I couldn't find the DNS settings in Server any longer.

The thing is that DNS is still running. I can still hit my servers within my local network by name same as I was in High Sierra. The problem is I have no way to make changes or even pull the settings so I can migrate to another DNS server.

Is there a way from the CLI to grab the settings from the old DNS server instance? Then how do I shut that one down so I can try to migrate to another version?

Best Answer

Locating configs with lsof

You could use lsof to try and find out what files the running DNS server is currently using and perhaps find out where the existing files are located.

$ lsof -p $(pgrep -f <name of DNS server>)

NOTE: I believe the configuration files are typically located here ,/Library/Server/, so you may want to look through there for them.

You may also want to look at the following resources regarding this from Apple:

BIND

DNS on Mojave server

DNS is no longer included in Server.app so you will have to do it either on a Mac running an older version of macOS and hence older version of Server.app or do it via the command line.

If you manually install BIND then at least the config files will be the same as previously used in Server.app although in a different location

Based on this it sounds like you may be able to simply take your existing configs, if you can find them, and use them directly with BIND.

Service Migration Guide

Also take a look at this guide put out by Apple titled: macOS Server Service Migration Guide v1.2.

References