4.3域名服务器(NS)记录
域名服务器记录告诉DNS哪个服务器是这个域或者它的子域的委托授权服务器。委托授权给一个服务器以授权来回答查询。委托授权类似于经理把工作委托给另一个成员。一个域名服务器可以将一个子域的全部授权都委托绘其他的服务器,或者一台主服务器可以将授权委托给辅服务器,使得它们虽然不是地址映射的源,也可以回答查询。4.5节将详细描述委托授权。图4-3是NS记录的域名服务器“管理器属性”对话框。
在正向域区文件和反向域区文件中都要使用NS记录,NS记录的格式如下:
记录的第一段是所有者,表示该服务器已被委托授权的域。下一个TTL段经常是空白,管理员一般都根据SOA记录的M-TTl的值来作为TTL值。后面的类别(class)段几乎总是IN,代表Internet。类型NS表明它是NS记录。最后是域名服务器的“主机名.域名”,即被授权提供回答的服务器的全域名。这个域名应该有尾部的“.”,以保证解析器能知道它是一个全域名。可以看到,NS记录和SOA记录有许多类似的地方。两者都有所有者、TTL和类别,这几个段在两个记录中很可能是相同的。
对每个委托授权的域名服务器都有一个NS记录,还有一个从父服务器或根服务器指向委托授权服务器的粘合记录。可以用NS记录指定附加的域名服务器,但它们只能用于内部客户机,外部机构只知道在InterNIC注册的域名服务器和域区的委托授权服务器。
应该指出上面所说的是通常方式下的委托授权。在Windows2000DNS管理器中,委托授权显得有点不同。在这里,既可通过选择“新域区”又可通过选择“新委托授权书”来生成NS记录。前者基于当前服务器设定生成一个有NS和SOA记录的新域区。后者在当前点生成一个子域,并且生成一个NS记录。尽管MSWindows2000文档和这些项的使用相当的兼容,但还是应该知道在本章中提到的委托授权通常都有一个特殊指定的意义。
NS记录有以下形式:
可能通常见到的NS记录会是以下形式:
因为域区文件中第一个记录是SOA记录,而在SOA记录中已说明了所有者。所以在NS记录中可以省去所有者,从而得到以上的形式也就是假定所有者是由SOA记录指定的当前的源example.net。
可以注意到在以上的例子中没有指定TTL值,而域名服务器NS1.ISI.EDU.NS1.USC.EDU.是用点号结尾的正式域名。没有要求委托授权的服务器和授权的域一定是同一个域,这也是DNS结构的一个优点。注意这些域名实际上有不同的域名后缀。
4.3.1指针记录和反向查找
指针记录也称PTR记录,它是反向地址解析的关键记录.如果已知一台主机的IP地址,而要知道其主机名,就需要从反向地址(或直接简称地址)到主机名的反向解析。PTR记录是[反向网络地址].in-addr.arpa域的域区文件的主体。图4-4是PTR记录的DNS管理器属性对话框。
反向域区文件(in-addr文件)也像其他文件一样是以SOA记录和NS记录开始的,而文件的其余部分则通常都是PTR记录,有时是规范名字(CNAME)记录
PTR记录的格式如下(参见图4-4):
观察1.168.192.in-addr.arpa域的主服务器的域区文件,有如下的形式:
首先,注意主机名后面都有“.”,也就是都是全域名,所以这些名字不需要再附加其他信息。如果尾部没有“.”,则域区的源应加到主机名的后面。因为源是1.168.192.in-addr.arpa,所以域名会变得很难看。
因为这个域区文件表示的是反向地址映射,数字1.168.192要加在PTR记录中出现的数字的后面。因此,ns.example.net的反向地址是1.1.168.192。把这个数字倒转,就是它的IP地址192.168.1.1。
这个例子使用了C类地址的表示法。对于B类网络,其反向(in-addr)域区文件将有所不同。以132.10.0.0网络为例,域名为xyz.com。在引导文件中,这个域的反向(in-addr)域区文件的条目将表示为:
域区文件可设置为:
另外,也可使用$ORIGIN命令将此域区以域来分段:
键入带句点的全域名在WindowsNT4中,MS知识集的#Q154555文件对于何时在
DNS管理控制器中应该输入带尾部“.”的全域名,何时又可以不这样输入做了说明:
当指定的服务器是记录中的数据时(如NS记录中的域名服务器、CNAME记录中的规范名、SOA记录中的主域名服务器、MS记录的邮件服务器等),全域名必须加尾部的“.”,因为这些段中的服务器可以是在当前域中,也可以不在当前域,所以必须用全域名。而其他的和服务器有关的名字可不使用加尾部“.”的全域名(如A记录中的主机名、CNAME记录中的别名、SOA记录或NS记录中的域名等),这些名字在使用时会被域补充成全域名。在Windows2000DNS服务器管理控制器中,也应用了相似的语法分析。并且当不需要键入“.”时,你是否键入它有时与写进域区文件的内容并不相关。
这种将域区在逻辑上分段的文件设置可以大大地简化大型域区文件的管理。$ORIGIN命令重新设置了以下所有RR的域名,使之与$ORIGIN命令中指定的域名一致。若使用$INCLUDE命令则还可以进一步简化。使用$INCLUDE命令可以把每个源的PTR记录放在不同的文件中,然后通过主域区文件中的$INCLUDE命令插入这些文件。这样所得到的域区文件有以下形式:
这时,两个$INCLUDE命令中的文件应包含相应子网和主机的PTR记录。有时候,在子网边界通过完全的八位字节来授权in-addr.arpa域并不能满足需求。当使用无层次Internet域路由(CIDR)时,一个与逆向查找很相像的查找是基于规范名记录和in-addr.arpa子域的委托授权的。详见RFC2317。
(未完待续)