运行我自己的动态 DNS 服务

运行我自己的动态 DNS 服务

我计划为我的家庭服务器构建自己的小型动态 DNS 服务。我有一个由提供商托管的域名,该提供商提供 Web 界面来创建和编辑名称服务器记录。此域名有一个 A 记录“example.com”,它指向由另一个提供商托管的具有静态 IP 的根服务器。

我想要做的是在此服务器上运行一个名称服务器,该服务器应将我家中互联网访问的动态 IP 解析为“home.example.com”。如果 IP 发生变化,此名称服务器将远程更新。

据我所知,我必须为我的域名创建一个指向“example.com”的 NS 记录“home.example.com”。如果现在要解析主机名“home.example.com”,则会询问我服务器上的名称服务器。

我的问题是:这样可行吗或者我遗漏了什么?

答案1

我将亲自回答我的问题:

对于我的域名“example.com”,存在一条包含我服务器 IP 的 A 记录。我已为home.example.com目标创建了一条 NS 记录example.com

为了简单测试一下这是否有效,我使用了dnsmasq。在我的服务器上,我创建了一个test_hosts包含以下内容的新文件:

1.2.3.4 home.example.com

然后我dnsmasq在我的服务器上开始使用以下参数:

dnsmasq --no-hosts --addn-hosts=test_hosts --no-daemon --log-queries --no-resolv

如果我现在nslookup home.example.com从任何计算机执行,我将得到以下结果:

Server:     127.0.0.1
Address:    127.0.0.1#53

Non-authoritative answer:
Name:   home.example.com
Address: 1.2.3.4

对于自托管动态 DNS 服务的最终配置,可以bind在服务器端和nsupdate客户端使用。有多个手册将介绍如何安装此类设置。

相关内容