我计划为我的家庭服务器构建自己的小型动态 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
客户端使用。有多个手册将介绍如何安装此类设置。