4.4 简写
到目前为止,已经创建完一个primary名称服务器所需要的所有文件。回过头来再看一下区域数据文件;其中并没有使用简写。除非事先已经见过并理解了那些完整的写法,否则直接看简写的格式会觉得晦涩难懂。现在已经知道了完整的写法,也看过了BIND的配置文件,下面是该看看简写的时候了。
**
4.4.1 附加域名**
zone语句的第二个字段用来指定域名。这个域名对于最有用的简写来说非常关键。该域名是区域数据文件中所有数据的来源(origin)。这个来源会被附加到区域数据文件中所有不以“.”结尾的名称之后,并且每个区域数据文件中的来源都各不相同,因为每个文件所描述的都是不同的区域。
既然来源会被附加在名称之后,那么在db.movie.edu中输入shrek.movie.edu的地址时就可以不用像下面这样:
而是可以这样输入:
在db.192.24.249文件中,曾经输入的是:
因为249.249.192.in-addr.arpa是来源,所以可以这样输入:
https://yqfile.alicdn.com/6b6e1b9ce1a86f6c638b3429b73b17c862e8877a.png" >
还记得早先关于使用完全限定域名(fully qualified domain name)时,不能省略结尾处点号的警告吗?假设忘记了结尾处的点号,则像下面这样的输入:
将会变成shrek.movie.edu.movie.edu,完全不是想要的结果。
4.4.2 @符号
如果一个域名和来源相同的话,那么该名称就可以被表示为“@”。这最常出现在区域数据文件的SOA记录中。SOA记录可以像这样输入:
https://yqfile.alicdn.com/c81c02ec9840dc61ea82dbbd491de91f41368338.png" >
4.4.3 重复最后一个名称
如果某个资源记录的名称(从第一列开始)是空格(space)或制表符(tab),那么它就沿用上一个资源记录所使用的名称。如果一个名称对应着多个资源记录,那么就可以这样使用。下面是一个名称有两个地址记录的例子:
在第二个地址记录中,名称wormhole被省略了。即使资源记录的类型不同,也能够使用这样的简写方式。
4.4.4 简化后的区域数据文件
现在已经展示了简写的格式,接下来将利用简写把原先的区域数据文件重写一次。
下面是db.movie.edu文件中的内容:
下面是db.192.249.249文件中的内容:
下面是db.192.253.253文件中的内容:
下面是db.127.0.0文件中的内容:
https://yqfile.alicdn.com/d5803c8adf1f0af897696c76cdedd3d45e7c39a5.png" >
仔细查看新的db.movie.edu文件,就会注意到在SOA和NS记录中,可以移除主机名称部分的movie.edu,就像下面这样:
https://yqfile.alicdn.com/b157baf8e63b24ff6672ce5ef691407299677630.png" >
但是在其他的区域数据文件中不能这样做,因为它们的来源不同。在上面的db.movie.edu文件中,使用的都是完全限定域名,这样NS和SOA记录对于所有区域数据文件来说就完全相同了。