I wanted a free solution to get macOS (and an Apache web server) working with Dynamic DNS offered by ZoneEdit. ZoneEdit’s DYN DNS instructions seem fine, but their macOS instructions seem a little out-of-date at the time I drafted this post. If you’re in a similar situation I hope these instructions help you:
- Install ddclient by opening Terminal and execute the following command:
brew install ddclient
- Configure ddclient .conf file:
pico /usr/local/etc/ddclient.conf
- Modify the .conf file between lines 83 and 88 by making the following edits:
use=web
web=api.ipify.org
protocol=zoneedit1
server=dynamic.zoneedit.com
login=(username)
password=(DYN auth token)
wildcard=yes
#your-sub-domain (this line is commented out in case I need it later) - For the login and password lines, replace (username) with your ZoneEdit username and replace (DYN auth token) with instructions on the next step.
- To get your DYN auth token use a web browser and visit cp.zoneedit.com, log in with your ZoneEdit credentials, tap “manage” to the right of your domain name, tap the “DNS Settings” tab, and to the right of “Dynamic DNS” tap “DYN”. At the bottom of this page, click “view” to display your DYN Authentication Token. Copy your DYN Authentication Token and use it for Steps 3 and 4.
- After doing all of this, restart your system and ddclient should take over on its own. For whatever reason, I had to restart my machine twice, but I might not have been patient enough after the first try.
Extra helpful bits:
You can adjust the execution interval by changing the value of
StartInterval (in seconds) in /Library/LaunchDaemons/homebrew.mxcl.ddclient.plist.
To restart ddclient after an upgrade:
sudo brew services restart ddclient
Or, if you don’t want/need a background service you can just run:
/usr/local/opt/ddclient/bin/ddclient -file /usr/local/etc/ddclient.conf
Thanks to this community post this DYN DNS solution for macOS was pretty easy to set up. Read about brew’s configuration for ddclient here. If you want to revive something more legacy with a macOS interface, this might be worth a look if it is updated.