我在一个开发环境中运行一个小型DNS服务器,该环境在任何时候都运行最多5个域名的解析.我的问题源于此处的讨论:What’s the difference…
我的问题是:
>当我有一个时,我该怎么用?
域名和至少一个
指向该域的子域名?
一个答案是:
>我认为合适
对此的解决方案是使用Cnames.
这将允许我更改IP
地址一次并影响倍数
托管名称(cnames)
时间.这将有助于我保持一切
简单.这也将使
管理TTL记录更多
直截了当,可靠.我是
容易犯这样的错误
也会限制我制作的机会
错误.
另一个答案是:
>其他人认为查询将是
通过使用A名称记录加速(I
不一定反对这一点
事实).
我知道这两种方法都可行,但基于RFC的DNS采用的标准使我相信我们应该正确使用Cnames和A Names并且是合适的.规则可以被打破,但如果你不能依赖它们,那又有什么意义呢.
如果您运行大型DNS服务器或具有相关经验,请仅回答此问题.否则不要指望你的意见改变我的意见.我被告知,这完全取决于个人喜好,我不希望这样.
如果你相信我是一个非常古老的观点,请原谅我.
解决方法
…small DNS server…at most 5 domain names…
…queries will be speed up by using A Name records…
通常,DNS查找很少进行,并且无论如何都会缓存在应用程序中或请求系统上.所以,这种“加速”论证只是假设.
我运行了相当大的DNS基础设施,在本地服务于数千个拥有超过300个不同域的主机.
我将A记录保持在最低限度,并尽可能使用CNAME,并且具有逻辑意义.经验法则是:仅针对节点的主接口的记录,以及需要反向解析的记录.其他所有内容(如服务器上运行的服务)都是CNAME.
不具备多个A的原因也是您期望的(虽然不是要求!!)具有相应的PTR.但是,如果你只有1个IP,你就不能.
换一种说法:
name1 IN A IP1 IP1 IN PTR arpa.name1 name2 IN CNAME name1
没关系,但是
name1 IN A IP1 IP1 IN PTR arpa.name1 name2 IN A IP1 IP2 IN PTR arpa.name2
不是这样(事实上你真的不想要最后一个条目!)
但话说回来,这确实是常识和偏好的问题,没有硬规则.