《DNS与BIND(第5版)》——4.3 建立BIND配置文件

4.3 建立BIND配置文件

现在已经创建好了区域数据文件,接下来必须指引名称服务器读取这些文件。对于BIND来说,指引服务器读取其区域数据文件的机制便是配置文件。到目前为止,本章已经讨论了那些数据和格式被DNS规范描述过的文件。不过,下面所讨论的配置文件的语法,虽然是BIND所特有的,但是却没有在DNS RFC中被定义。

从版本4到版本8之间,BIND配置文件的语法发生了显著的变化。幸运的是,BIND 8和BIND 9之间未发生任何变化。BIND 4已问世很久了,这里就不再讨论它的配置文件。如果还在使用那些老古董的话,那么应该去参考一下本书之前的版本(应该能找到一本便宜的二手书)。在配置文件中,可以使用三种样式的注释:C样式、C++样式或者shell样式。

通常,配置文件中会有一行用来说明区域数据文件所存放的目录。名称服务器在读取区域数据文件之前会将它的工作目录切换到该目录下。这就允许指定相对于当前目录的文件名称,来代替完整的路径名称。下面是options语句中用来说明区域数据文件所在目录的行:

https://yqfile.alicdn.com/51a7ca99f84873ce0d76f8dfadca25b45479d9f3.png" >

提示

由于配置文件中只能出现一个options语句,所以本书后面提到的任何其他选项都必须和上面的directory选项放在一起。
在primary服务器上,每个要读取的区域数据文件在配置文件中都有一个zone语句。每行都以关键字“zone”开头,后面跟着区域的域名以及类(in表示Internet)。master类型用来指出这个名称服务器是一个primary名称服务器。最后一行包含了文件名:

https://yqfile.alicdn.com/279a7d1f5ed5cc6864f1b278c0c633c0516ba390.png" >

本章前面曾经提到过,如果省略了资源记录的类字段,那么名称服务器将根据配置文件来决定正确的类。zone语句中的in表示将类设置成Internet类。而zone语句的默认类就是in,因此对于Internet类的区域,可以不设定该字段。

下面是配置文件中用来读取root提示文件的语句:

正如前面所提到的,该文件不是用于一般的缓存数据的。它只包含了root名称服务器的提示数据。

在默认情况下,BIND希望配置文件被命名为/etc/named.conf。我们的例子中的区域数据文件在目录/var/named中。使用哪个目录其实并不重要。但是如果根文件系统的空间有限,那么就要避免将这个目录放在根文件系统中,并且要确保该目录所在的文件系统在名称服务器启动之前就被挂载。下面是一个完整的/etc/named.conf文件:

时间: 2024-08-02 11:25:45

《DNS与BIND(第5版)》——4.3 建立BIND配置文件的相关文章

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

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

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

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

《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版)》——7.6 保持一切平稳运行

7.6 保持一切平稳运行 维护的一个重要意义在于:能够在真正的问题出现之前,察觉到某些异常.问题发现得越早,就越容易进行修复.正如老话说的:预防为主,治疗为辅. 这一章的内容不全然是关于故障排除的(本书稍后会有一章专门讨论如何排除故障),更偏重于故障出现前的预防.而故障排除是在问题变得复杂后,不得不进行的操作,并且需要根据症状来找出问题. 下面两小节将讨论预防性维护的相关内容:定期查看syslog文件及BIND名称服务器的统计信息,以检查是否存在任何问题.就像给名称服务器做体检一样. 7.6.1

《DNS与BIND(第5版)》——7.5 日志记录

7.5 日志记录 BIND支持扩展的日志记录(logging),包括将信息写入调试文件和发送至syslog.不过,使用扩展的日志记录是有代价的:在能够有效地控制该子系统前,必须要学习很多知识.如果没有时间来实验日志记录,那么就先使用默认值,等以后有空再来研究这个主题.大部分人并不需要更改日志记录的默认行为. 日志记录有两个主要的概念:通道(channels)和类别(categories).通道用来指定日志数据的流向:syslog.文件.named的标准错误输出或是bit bucket.类别用来指

《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毫秒,依次

《DNS与BIND(第5版)》——4.2 建立区域数据

4.2 建立区域数据 建立电影大学名称服务器的第一步,是将主机表转换成等效的DNS区域数据.该数据的DNS版本有多个文件.一个文件将所有主机名映射成地址.其他文件将地址映射回主机名.名称到地址(name-to-address)的查询有时被称作正向解析(forward mapping),而地址到名称(address-to-name)的查询则被称作逆向解析(reverse mapping).每个网络都拥有自己的逆向解析数据文件. 作为本书的一个约定,将主机名映射到地址的文件称作db.DOMAIN.例