我正在努力学习DNS的不同类型(A,CNAME,NS等)。
我确实理解他们的用途,但在我看来,无论什么时候使用NS都可以使用CNAME,还是我错了?
例如:
(dns.mysite.example, 192.0.2.4, A)
(mysite.example, dns.mysite.example, CNAME)我在这里用NS的CNAME有关系吗?
另外,第二个问题,我是否正确地假设顶级域(TLD) DNS服务器没有任何CNAME记录?
发布于 2015-03-16 12:51:38
不,CNAME和NS是很不一样的。
CNAME将别名与规范(“真”)名称关联起来。因此,在您的示例中,dns.mysite.example将是规范/真名mysite.example的别名,对dns.mysite.example的所有DNS查询都将被引用(即,用mysite.example重试)。
NS记录标识域的权威名称服务器(更正确地说,是DNS区域)。它们告诉DNS查询在哪里查找有关域(区域)的权威详细信息。通常,除非您正在设置名称服务器基础结构,否则您的域注册员将为您的域提供正确的NS详细信息(通常是一些用于冗余的名称服务器,每个服务器由您的注册服务器(如ns1.registrar.example、ns2.registrar.example)控制)。
对于将解析到相同地址的子域,您可以在A和CNAME记录之间进行选择。A和CNAME记录之间的实际区别是,CNAME将导致额外的查找(以解析规范名称的别名),而这不是直接A记录所引起的。因此,如果您对子域使用CNAME记录而不是单个A记录,则在查找方面会有轻微的性能损失。
根区域文件不包含任何CNAME记录,但这并不是因为它不能,而是它不需要。它主要包含NS和地址(A & AAAA)记录,用于顶级域,国家代码顶级域(以及最近,所有那些新的/扩展的TLDs,如.auction)。
https://webmasters.stackexchange.com/questions/78181
复制相似问题