惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
IT之家
IT之家
B
Blog RSS Feed
罗磊的独立博客
GbyAI
GbyAI
博客园 - Franky
Y
Y Combinator Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Google DeepMind News
Google DeepMind News
博客园 - 聂微东
N
Netflix TechBlog - Medium
博客园 - 三生石上(FineUI控件)
人人都是产品经理
人人都是产品经理
U
Unit 42
博客园 - 叶小钗
Jina AI
Jina AI
MyScale Blog
MyScale Blog
雷峰网
雷峰网
B
Blog
Hugging Face - Blog
Hugging Face - Blog
Blog — PlanetScale
Blog — PlanetScale
Recent Announcements
Recent Announcements
腾讯CDC
酷 壳 – CoolShell
酷 壳 – CoolShell

seize the dev

Will Software Engineering Survive? Why is the Gmail app 700 MB? Bits of Open-Source in 2025 Parsing JSON in Forty Lines of Awk A Tricky Floating-Point Calculation Improving Date Formatting Performance in Node.js Unix is not Linux Installing FreeBSD on Oracle Cloud A Simple Setup for C and C++ How to Break Software
Self-Hosted Dynamic DNS
Mohamed Akram · 2026-07-19 · via seize the dev

There are many dynamic DNS (DDNS) providers, but I could not find one that supports updating records using nsupdate. This guide will show how to set up a DDNS service on your own server as well as how to integrate it with macOS to automatically push updates whenever the machine IP changes.

First, install Knot DNS on the server. Once installed, you’ll need to generate a TSIG key that will be used for authenticating updates to the DDNS server. To do so, run keymgr -t tsig.example.com. This will print a configuration that looks like the following:

The next step is to add it to knot.conf, which will most likely be in /etc/knot/knot.conf. Add the key configuration, followed by an accompanying ACL rule and the zone information:

Ensure the server is listening on all interfaces to be able to access it externally:

To integrate with macOS’s built-in DDNS client, you’ll need to add one more record. To do so, run:

knotc zone-begin example.com
knotc zone-set example.com _dns-update._udp 600 SRV 0 0 53 example.com.
knotc zone-commit example.com

Lastly, to enable DDNS on macOS, open Sharing in System Settings, and click Edit in the hostname section at the end. Enable Use dynamic global hostname, and fill the details as follows: