当客户注册我的服务时,我想为他们创建一个A DNS 条目:
用户名。mydomain.tld指向托管其页面的服务器的 IPv4 地址
理想情况下,此 DNS 系统将:
- 相当轻巧
- 分布。主/从模型会很好,可能具有主故障转移或在主脱机时变为只读。
- 支持通过一个不错的 API 进行更改(主要是创建/删除 A 条目)
- 立即应用更改(了解 DNS 需要时间来传播)
- 在 Linux 上运行
有什么很棒的东西适合这个描述吗?
谢谢 :-)
当客户注册我的服务时,我想为他们创建一个A DNS 条目:
用户名。mydomain.tld指向托管其页面的服务器的 IPv4 地址
理想情况下,此 DNS 系统将:
有什么很棒的东西适合这个描述吗?
谢谢 :-)
您可以只使用动态 DNS 更新。这是一个非常基本的应用程序:
生成将由 DNS 服务器和更新客户端使用的共享对称密钥:
dnssec-keygen -a HMAC-MD5 -b 512 -n HOST key.name.
密钥名称是一个域名,但您可以使用任何您想要的名称:它或多或少只是密钥的名称。
配置绑定以允许此密钥对区域mydomain.tld进行更改:
key "key.name." {
algorithm hmac-md5;
secret "copy-the-base64-string-from-the-key-generated-above==" ;
}
zone "mydomain.tld" {
...
allow-update { key key.name. ; };
...
}
使用 nsupdate 进行更改:
nsupdate -k <pathname-to-file-generated-by-dnssec-keygen>
作为nsupdate
命令的输入:
server dns.master.server.name
update delete username.mydomain.com
update add username.mydomain.com a 1.2.3.4
update add username.mydomain.com aaaa 2002:1234:5678::1
不要忘记update
命令后的空行。nsupdate
在看到空行之前不会向服务器发送任何内容。
与 bind 和其他 DNS 服务器一样,主服务器没有高可用性,但是您可以拥有任意数量的从属服务器,如果它们获得增量更新(默认情况下应该如此),那么更改将很快传播. 你也可以选择使用一个隐蔽的主服务器,它的唯一工作就是接收和处理这些 DDNS 更新并将结果提供给从属服务器。