DNS:尾随句点

DNS:尾随句点

当我编辑绑定 DNS 记录时,我需要添加一个结尾句点才能使其正常工作。这有什么意义?

为什么当我使用 everydns.net 时,他们不要求我添加尾随句点?

这是一个实施上的怪癖吗?

答案1

DNS 本身有一个根区域。这个区域被字面称为“。”。绑定要求您完全限定 DNS 名称(这包括 . 或根区域)。其他 UI 通过为您假设根区域来简化此过程。

在 Bind 中,您可以定义一个变量,ORIGIN如果您未指定 FQDN(完全限定域名,包括尾随的 .),则该变量将自动附加。 参宿一有一个关于语法和各种用法的优秀示例。

答案2

尾随的‘.’使名称成为“完全限定域名”,即绝对域名。

在标准的“主文件格式”文件中,如果您不添加尾随的“。”,则假定名称与当前区域文件相关$ORIGIN(该名称可以在区域文件中指定,如下所示,也可以从其他zone语句中获取named.conf)。

IE

$ORIGIN example.com.
mail    IN A      192.168.1.1
mail2   IN A      192.168.1.2
server  IN A      192.168.1.3
@       IN MX 10  mail                   ; not FQDN - example.com. appended
        IN MX 20  mail2.example.com.     ; FQDN 
        IN MX 30  mail.example.net.      ; FQDN in another domain
        IN MX 40  mail2.example.net      ; ERROR - not FQDN - example.com appended
www     IN CNAME  server                 ; not FQDN - example.com. appended

答案3

使名称相对于根,如果没有它,名称将相对于当前区域。标准区域格式定义在rfc1035rfc1034

为什么当我使用 everydns.net 时,他们不要求我添加尾随句点?

这是一个实施上的怪癖吗?

是的,听起来 easydns.net 的做法有点古怪。

答案4

尾随的点告诉 DNS 服务器这是一个完全限定名称。点是 DNS 层次结构的根。如果您不使用点,DNS 服务器将假定它是当前区域中的记录并为您附加它。例如,如果您在 exmaple.com 中有一个指向 host.example.org 的 CNAME,当您查询它时,您将得到 host.example.org.example.com,这可能不是您想要的。

您不需要使用 everydns.net 的原因是他们可能编写了自己的 UI,因此您不需要担心这个技术细节。

相关内容