域名(。)在域名中的意义何在?

图片

上图显示了使用dig命令输出的DNS响应消息 。 .com之后为什么会有一段(。)( 如com

域名末尾的点表示DNS根目录。 如果您不指定点,则DNSparsing器可以将其默认域附加到您提供的域。 例如,如果您查询example.org ,结果可能会返回example.org.example.com.example.com.是默认域)。 但是,如果你查询example.org. 一个DNSparsing器总是会返回example.org.

“” 单独意味着由知名DNS根服务器提供服务的“DNS根域”,其地址随OS一起提供。 他们将回复NSlogging的TLD服务器,等等。

“” 在域名的末尾是指“绝对地址”。 没有点的域名意味着“相对名称”。 真正的意义取决于上下文。

  1. 在用户环境上下文中,您有所谓的“DNS后缀”,configuration到系统parsing器中。 它也可以用DHCP接收。 可以configuration几个足够的configuration; parsing器首先尝试将它们附加到实际的相关查询并解决该问题; 它只会在追加足够的时候没有find任何东西而威胁相关的查询。

在Linux中,该后缀在/etc/resolv.conf中configuration为“search”选项。 在Windows中,您可以使用ipconfig / all查看它们,并在“计算机标识”对话框(与本地系统名称,AD域或某些工作组参与等)一起更新。

所以,nslookup domain.com将首先尝试parsingdomain.com.local.suffix。,然后查询domain.com。 只有第一个没有find。

  1. 在区域文件的上下文中,最后的点是一个语法元素。 当您为BIND编写区域文件时,将会使用“$ ORIGIN some.name.tld”指令隐式(如您configuration区域名称)或显式地设置ORIGIN。 然后将所有没有点的名称当作附加的来源处理。

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

 $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. 

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