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

简介:

本节书摘来自异步社区《DNS与BIND(第5版)》一书中的第4章,第4.3节,作者: 【美】Joseph Davies 更多章节内容可以访问云栖社区“异步社区”公众号查看。

4.3 建立BIND配置文件

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

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


4ec747e02e4a06ee35b6f9f7ea48879330d25e9a

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


<a href=https://yqfile.alicdn.com/51a7ca99f84873ce0d76f8dfadca25b45479d9f3.png" >

提示

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


<a href=https://yqfile.alicdn.com/279a7d1f5ed5cc6864f1b278c0c633c0516ba390.png" >

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

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


51ae6c7c3ca51123466d7bddcfb3f7e5e858a034

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

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


341ad579293e14bb8b64cfdc9b390a4dc778c16c
相关文章
|
4月前
|
XML 数据采集 JavaScript
Java【XML 配置文件解析】
Java【XML 配置文件解析】
|
6月前
|
存储 NoSQL Redis
Redis配置文件解析
Redis配置文件解析
64 1
|
7月前
|
Java 应用服务中间件 Maven
解析Spring Boot中的Profile:配置文件与代码的双重掌控
解析Spring Boot中的Profile:配置文件与代码的双重掌控
|
4天前
|
Java 对象存储
Javaweb之SpringBootWeb案例之配置文件的详细解析
Javaweb之SpringBootWeb案例之配置文件的详细解析
9 0
|
4天前
|
XML Java 数据库连接
Javaweb之Mybatis的XML配置文件的详细解析
Javaweb之Mybatis的XML配置文件的详细解析
13 0
|
27天前
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
17 0
|
2月前
|
存储 JSON JavaScript
【YAML语法规范指南】从入门到精通,揭秘神秘语法,引领配置文件解析指南(基础结构篇)
"YAML Ain't Markup Language"(简称YAML)是一种专为人类设计的数据序列化语言,适用于多种现代编程语言,可广泛应用于各类日常任务。它是一种以人类可读形式呈现的、适用于多种语言的Unicode数据序列化标准。它基于敏捷编程中常见的本地数据结构,广泛应用于配置文件、互联网消息传递、对象持久化以及数据审计等多个领域。遵循Unicode标准、
124 8
【YAML语法规范指南】从入门到精通,揭秘神秘语法,引领配置文件解析指南(基础结构篇)
|
8月前
|
前端开发 Java 数据库
SpringBoot解析指定Yaml配置文件
最近在看某个开源项目代码并准备参与其中,代码过了一遍后发现多个自定义的配置文件用来装载业务配置代替数据库查询,直接响应给前端,这里简单记录一下实现过程。
273 0
|
8月前
|
关系型数据库 MySQL Java
ssm连接mysql引入外部配置文件username无法被正确解析
ssm连接mysql引入外部配置文件username无法被正确解析
55 0

相关产品

  • 云解析DNS
  • 推荐镜像

    更多