DNSimple 和 AWS Route53 支持 ALIAS 记录,允许 DNS 中 @(Apex)记录的 CNAMES 具有类似的功能。
我正在运行一个 DNS 服务器 (Bind),目前托管着大约 1500 个区域。大多数区域的 @ 记录都配置为相同的 IP 地址。为了实现 CNAME 记录提供的相同灵活性,我希望对 @ 记录执行相同的操作并将其提供给我的客户。
DNSimple 似乎已经为此构建了一个自定义解决方案。我的问题是是否有任何 DNS 服务器软件支持此功能?是否可以为 Bind 编写允许这样做的扩展或插件?
答案1
如果您想运行自己的 DNS 服务器,可以查看 Git 上的 PowerDNS。
https://github.com/PowerDNS/pdns/tree/alias
您需要自己构建它,但在“别名”分支中是他们当前的 ALIASRR 实现,并且它运行良好。
答案2
不是,因为它只是一个没有任何 DNS RFC 依据的自定义解决方案。
http://support.dnsimple.com/articles/differences-between-a-cname-alias-url/
在进一步了解细节之前,重要的是要知道 A 和 CNAME 记录是标准 DNS 记录,而 ALIAS 和 URL 记录是 DNSimple 提供的自定义 DNS 记录。它们都在内部转换为 A 记录,以确保与 DNS 协议的兼容性。
虽然有人可能会为他们组装某种形式的插件,但不要指望这种情况会发生。如果没有 RFC 描述服务器必须遵守的行为,那么做这样的事情的专业人士兴趣将保持极低。正如它应该的那样。
也就是说,如果您需要批量定义多个相同配置的域,那么没有什么可以阻止您定义单个区域文件并将其用于多个区域。
答案3
我查看了那篇 dnsimple 文章,看看能找到什么关于这个主题的内容。到目前为止,这似乎是一种日益增长的 DNS 使用。越来越多的提供商正在实施 DNAME 记录,该记录在RFC 2672:非终端 DNS 名称重定向
DNSimple 提供的是略微定制的解决方案,尽管这实际上可能是一个翻译层,以便于用户使用。
Dynect 将此作为其托管 DNS 服务的一部分提供
AWS Route 53 支持 Apex 域的重定向,这使得它们能够支持使用 S3 / Elastic Load Balancer / CloudFront。他们的文档中提供了这方面的指导。搜索 aliasRR 查找他们的文档。
答案4
作为@bitcloud 表示在他的回答中,PowerDNS 支持“虚拟”别名记录。除了自己编译软件外,您还可以从系统的官方存储库中直接安装它。如果您使用 Debian 或 Ubuntu,安装它可以很简单:
apt install pdns-server pdns-backend-bind
我包含了绑定后端包,因为我认为许多人会想重用他们现有的区域文件。如果您需要其他东西,请安装不同的后端。
有关 PowerDNS 安装和配置的更多信息这里。