域名中的句点(.)有什么意义?

域名中的句点(.)有什么意义?

图像

上图显示了使用 dig 命令输出的 DNS 响应消息. 为什么 .com 后面有一个句号 (.) (喜欢 com.

答案1

域名末尾的点表示 DNS 根。如果您不指定点,DNS 解析器可以将其默认域附加到您提供的域。例如,如果您查询example.org,结果可能会返回example.org.example.com.example.com.即默认域)。但是,如果您查询example.org.DNS 解析器,则始终会返回example.org.

答案2

单独的“.”表示“DNS 根域”,由知名的 DNS 根服务器提供服务,其地址随操作系统一起提供。它们将使用 TLD 服务器的 NS 记录进行回复,依此类推。

域名末尾的“.”表示“绝对地址”。不带点的域名表示“相对名称”。具体含义取决于上下文。

  1. 在用户环境上下文中,您有所谓的“DNS 后缀”,已配置到系统解析器中。它也可以通过 DHCP 接收。可以配置多个后缀;解析器首先尝试将它们附加到实际的相关查询中并解析它;只有在附加后缀时未找到任何内容时,它才会将相关查询视为绝对查询。

在 Linux 中,该后缀在 /etc/resolv.conf 中配置为“搜索”选项。在 Windows 中,您可以使用 ipconfig /all 查看它们并在“计算机身份”对话框中更新(连同本地系统名称、AD 域或某些工作组参与等)。

因此,nslookup domain.com 将首先尝试解析 domain.com.local.suffix.,并且仅当第一个未找到时才查询 domain.com.。

  1. 在区域文件上下文中,末尾的点是语法元素。当您为 BIND 编写区域文件时,您将有一个 ORIGIN 设置,可以是隐式设置(如您配置区域名称一样),也可以是显式设置,使用“$ORIGIN some.name.tld”指令。然后,所有不带点的名称都被视为已附加该来源。

例如考虑区域文件的这一部分:

$ORIGIN foo-bar.com.
www         A         1.2.3.4
example.com A         2.1.3.4
xam         CNAME     www
exam        CNAME     example.com
alam        CNAME     example.com.

这部分相当于这个扩展部分:

$ORIGIN .
www.foo-bar.com.         A         1.2.3.4
example.com.foo-bar.com. A         2.1.3.4
xam.foo-bar.com.         CNAME     www.foo-bar.com.
exam.foo-bar.com.        CNAME     example.com.foo-bar.com.
alam.foo-bar.com.        CNAME     example.com.

请注意,它在每个没有点的地方附加了 origin,并且在最后一个 CNAME 记录中没有附加 origin,因为已经有一个绝对名称。

相关内容