一个loggingVS. Cname圆N

有经验的DNSpipe理员,请帮我理解…

我在一个开发环境中运行一个小型的DNS服务器,在任何时候最多可以运行5个域名的parsing度。 我的问题来自这里的讨论:有什么区别…

我的问题是这样的:

  • 当我有一个域名和至less一个指向该域名的子域名时应该使用什么?

一个答案是这样的:

  • 我认为适当的解决scheme是使用Cnames。 这将允许我一次更改IP地址,并同时影响多个主机名(cname)。 这将帮助我保持简单。 这也将使pipe理TTLlogging更直接和可靠。 我很容易犯错误,所以这也会限制我犯错误的机会。

另一个答案是这样的:

  • 其他人则认为,通过使用“姓名”logging可以加快查询速度(我不一定反对这个事实)。

我知道任何一个都可以工作,但是基于DNS RFC标准的采用标准使我相信我们应该正确使用Cnames和A Names,并且是合适的。 规则可以被打破,但是如果你不能依靠它们,那有什么意义呢?

请只回应这个问题,如果你运行一个大的DNS服务器或有这样的经验。 否则,不要指望你的意见改变我的意见 。 我被告知,这都是个人喜好的事情,我想这是否则。

原谅我,如果你相信我是一个古老的点。

好的,答案隐藏在你的问题中:

…小型DNS服务器…最多5个域名…

…通过使用A名logging将加速查询…

通常,DNS查询通常很less完成,无论如何也可以在请求系统中caching。 所以,这个“加速”的说法只是假设。

我运行相当大的DNS基础架构,本地服务于数千个拥有300多个不同域的主机。

我将Alogging保持在最低限度,并尽可能使用CNAME,并且在逻辑上合理。 经验法则是:只logging节点的主接口的logging,以及需要反向parsing的logging。 其他一切(如服务器上运行的服务)都是CNAME。

没有多个A的理由也是你所期望的(不是要求虽然!!)有一个相应的PTR。 但是,如果你只有一个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 

不是这样的(实际上你不是真的想要最后一个入口!)

但是再一次,这是一个常识和偏好的问题,没有硬性规定。

为服务器的主要(或“基础架构”)主机名logging一个Alogging。

托pipe在其上的网站应该使用指向该主机名的CNAMElogging。

例外是,如果你想“裸”的域名(即没有www.或类似的前缀)的工作。 DNS规则意味着你通常不能为这些使用CNAME ,不幸的是这些logging必须是Alogging,也就是说:

 $ORIGIN example.net. ; host is in this domain @ IN SOA ... IN NS ... server IN A 192.0.2.1 $ORIGIN example.com. ; website is in this domain @ IN SOA ... IN NS ... IN A 192.0.2.1 ; can't be a CNAME - other RRs already here www IN CNAME server.example.net. 

你想要凭据? 看我的个人资料…

我不确定您的“大型”DNS系统的定义是什么。 我已经做了大约30,其中约50。

我会说,你不能准确地回答这个问题的所有设置。 您的性能configuration文件,可用资源,需要更新IP地址的频率以及可用的工具都将影响此决定。

例如,如果一个pipe理员试图将性能的最后一滴压缩到很less更改IP的系统上,或者有权访问某个工具来轻松进行大范围的更改,那么pipe理员的性能会比不同的时间要高。 您pipe理的IP地址和/或主机数量可能会有所影响。 您客户的需求可能会产生影响。

就个人而言,当只涉及less数机器和大量域名时,我使用CNAME。 当我每台服务器的域相对较less时,我更喜欢Alogging。 所以,尽pipe你的意思是可以明确地回答,但我认为这很大程度上取决于情况,资源和(是)个人喜好。