《DNS与BIND(第5版)》——4.4 简写

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记录对于所有区域数据文件来说就完全相同了。

时间: 2024-09-29 21:31:12

《DNS与BIND(第5版)》——4.4 简写的相关文章

《DNS与BIND(第5版)》——10.12 系统优化

10.12 系统优化 对于大多数名称服务器来说,在BIND的默认配置下就能工作得很好,然而可能其中某个还需要进一步调优.本节将讨论可以用来优化名称服务器的所有配置项. 10.12.1 区域传输区域传输会给名称服务器带来沉重的负担.所以BIND提供一些机制,可以限制slave名称服务器给master服务器带来的区域传输负载. 1.限制请求单个名称服务器传输的区域数量 在slave名称服务器上,可以限制其一次能够向单个master名称服务器请求传输的区域数量.这样master名称服务器的管理员应该会

《DNS与BIND(第5版)》——10.5 转发机制

10.5 转发机制 某些网络连接不希望发送过多的流量到外界去,可能是因为对外的连接速率低.延迟高:例如,远程办公室通过卫星连接到公司的网络.在这些情况下,可能需要将对外的DNS流量限制到最低.BIND提供了一种解决此问题的机制:转发器(forwarder). 如果需要将名称解析分流至特定的名称服务器,那么转发器也是很有用的.例如,如果网络中只有一台主机连接到Internet,并且该主机是名称服务器,则可以将其配置为其他名称服务器的转发器,这样它们就可以查询Internet上的域名了.(本书第11

《DNS与BIND(第5版)》——10.2 DNS动态更新

10.2 DNS动态更新 Internet(即通常使用TCP/IP协议的网络)如今变得愈加动态化.许多大型企业使用DHCP动态分配IP地址.几乎所有的ISP都使用DHCP为其拨号及使用线缆调制解调器(cable modem)的用户分配IP地址.为适应这种变化,DNS需要提供动态增加和删除记录的功能.RFC 2136描述了这种机制,称为DNS动态更新. BIND 8和9支持RFC 2136提出的动态更新功能.此功能允许经过授权的更新者(updater),在区域中的权威名称服务器上增加和删除资源记录

《DNS与BIND(第5版)》——10.11 回避伪装的名称服务器

10.11 回避伪装的名称服务器 作为名称服务器的管理员,可能会发现某些远程名称服务器用有害的信息作为应答,这些信息可能是过时的.不正确的.格式错误的,甚至是故意欺骗的.可以尝试通知对方的管理员来修复该问题.或者通过配置,让名称服务器不再查询该服务器,BIND 8和BIND 及其后续版本支持这个功能.下面是配置文件中的语句: 当然,需要填入正确的IP地址. 如果名称服务器停止查询的服务器,是一个区域唯一的服务器,那么不要指望能够查询到位于该区域的名称了.但愿,还存在其他服务器可以提供关于该区域的

《DNS与BIND(第5版)》——10.9 优先选择特定网络上的名称服务器

10.9 优先选择特定网络上的名称服务器 BIND 8的拓扑(topology)功能与sortlist有些相似,不过它仅用于选择名称服务器.(BIND 9直到版仍不支持拓扑功能.)本章前面曾介绍过,BIND会从同一区域的各权威名称服务器中,选择出往返时间(round-trip time,简称RTT)最短的名称服务器.事实上并非如此.BIND 8在比较RTT时,实际上会把远程名称服务器分配到以64毫秒为单位划分的多个时段中.第一时段其实只有32毫秒宽,从0到32毫秒.下一时段从33到96毫秒,依次

Linux服务器配置之DNS——采用BIND

众所周知,Linux虽然在桌面应用上赶不上Windows普及和易用,但也恰恰是因为其看起来很麻烦的命令行操作,使得其在安全性方面要优于为了易用而采用图形化界面的windows ,正因如此,使得Linux在服务器方面可以大展拳脚,其中尤以apache著称的LAMP和DNS服务器BIND更是使用普遍.下面说说bind的配置方法. 首先,从以前写的文章知道,我采用的操作系统是RED HAT Fedora Core 7,在安装系统的时候,在选择软件包的时候,我是采用的自定义方式,我把一些没用的软件如那些

ISC发布DNS软件BIND更新 修复其中数个可远程利用的DoS漏洞 CVE-2017-3136 3137 3138

在2016年,BIND曾经出现过两次漏洞. 绿盟科技发布ISC BIND 9 DoS漏洞技术分析与防护方案 , BIND9 DoS漏洞CVE-2016-8864 绿盟科技发布技术分析与防护方案 北京有1435台设备受影响 .本周,互联网系统协会(ISC)又发布了DNS软件BIND更新,修复了可远程利用的数个拒绝服务漏洞.BIND 9.9.9-P8.9.10.4-P8和9.11.0-P5中修复了可导致声明失败的三个安全漏洞.绿盟科技发布安全威胁通告,全文见后. 三个漏洞中CVE-2017-3137

《DNS与BIND(第5版)》——10.7 轮询调度(Round-Robin)负载分配

10.7 轮询调度(Round-Robin)负载分配 自BIND 4.9发布之后,名称服务器已经正式支持一些过去必须通过补丁才能实现的负载分配功能.Bryan Beecher曾给BIND 写过一个补丁,以实现他所谓的"轮转地址记录(shuffle address records)".这是一组特殊类型的地址记录,名称服务器会在响应查询时轮转其中的地址.例如,域名foo.bar.baz有3个"可轮转"IP地址:192.168.1.1,192.168.1.2和192.16

《DNS与BIND(第5版)》——10.3 DNS NOTIFY(区域变更通知)

10.3 DNS NOTIFY(区域变更通知) 习惯上,BIND中的slave通过轮询(polling)机制来决定何时需要进行区域传输.轮询间隔时间又被称为更新间隔时间(refresh interval).而区域SOA记录中的其他参数,则可以用来配置轮询机制的其他参数. 但是使用这种轮询机制,在slave检测到并且从其master名称服务器传回新的区域数据,需要等待一段更新间隔时间.对使用动态更新的环境而言,这种延迟所带来的后果是灾难性的.当区域信息变更时,如果primary名称服务器能够主动通

《DNS与BIND(第5版)》——1.4 BIND的历史

1.4 BIND的历史 Paul Mockapetris亲自创建了第一个域名系统,名叫JEEVES.在此之后被实现的域名系统是BIND(Berkeley Internet Name Domain的缩写),它是由Kevin Dunlap为伯克利的4.3版BSD UNIX系统所编写.BIND现在由Internet Systems Consortium负责维护1. BIND就是本书所讨论的DNS的实现,也是迄今为止普及最广的DNS实现.它不仅被移植到各个版本的UNIX上,成为大多数UNIX系统的标准配