BIND域名服务基础

DNS系统的作用及类型

DNS系统在网络中的作用就是维护一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正向解析与反向解析。

正向解析:根据域名查IP地址,即将指定的域名解析为相对应的IP地址。

反向解析:根据IP地址查域名,即将指定的IP地址解析为相对应的域名。反向解析不是很常用。

DNS系统可以分为不同的类型,常见的几种类型如下:

缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但是没有自己控制的区域地址数据。构建缓存服务器时,必须设置根域或指定其他DNS服务器作为解析来源。

主域名服务器:维护某一个特定DNS区域的地址数据库,对其中的解析记录具有自主控制权,是指区域中唯一存在的权威服务器,官方服务器。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。

从域名服务器:与主域名服务器提供完全相同的DNS解析服务,通常用于DNS服务器的热备份。

BIND的安装控制

BIND不是唯一能够提供域名服务的DNS服务程序,但它却是应用最为广泛的。

安装BIND软件

在CentOS系统中,系统光盘自带了BIND服务的安装文件,主要包括以下几个软件包:

bind-9.9.4-37.el7.x86 64.rpm

bind-utils-9.9.4-37.el7.x86 64.rpm

bind-libs-9.9.4-37.el7.x86 64.rpm

bind-chroot-9.9.4-37.el7.x86 64.rpm

bind:提供域名服务的主要程序及相关文件。

bind-utils:提供了对DNS服务器的测试工具程序,如nslookup等。

bind-libs:提供了bind、bind-utils需要使用的库函数。

bind-chroot:为BIND服务提供一个伪装的根目录(将/var/named/chroot文件夹作为BIND服务的根目录),以提高安全性。

可用yum方式安装这些软件包,如下操作:

DNS域名解析服务_服务器

使用BIND构建域名服务器

构建缓存域名服务器

1、建立主配置文件named.conf


主配置文件named.conf通常位于/etc/目录下,若使用范本文本创建named.conf,应注意修改和删除默认的监听设备,查询控制,以便能够为局域网段的客户机提供服务。首先使用vi编辑器,进入/etc/named.conf进行编辑,如下操作示例:

DNS域名解析服务_服务器_02

DNS域名解析服务_服务器_03

上述配置内容中,dump-file、statistics-file 等配置项用于指定缓存数据库文件、状态统计文件的位置,每一条配置记录的行尾以分号“;表示结束,以“#”号或""/"开始的部分表示注释文字。

2、确认根域的区域数据文件named.ca

根区域的区域数据文件默认位于文件/var/named/named.ca,该文件记录了Internet中13台根域服务器的域名和IP地址等相关信息。

3、启动named服务

执行“systemctl start named”命令启动named服务,并通过netstat命令确认named服务的端口监听状态,若服务启动失败,则可在/var/log/messages文件目录中的日志记录排除错误,然后重启服务即可。然后关闭防火墙,如下操作:

DNS域名解析服务_域名服务器_04

DNS域名解析服务_域名服务器_05

4、验证缓存域名服务器

打开另一台LInux客户机,将首选DNS服务器的地址设为192.168.10.101,同样使用vi编辑器修改文件"/etc/sysconfig/network-scripts/ifcfg-ens33",然后保存并退出,重启该服务,之后输入“nslookup www.baidu.com”进行解析,看其是否能够获得该域名对应的IP地址。具体操作如下示例:

DNS域名解析服务_DNS_06

DNS域名解析服务_服务器_07

构建主域名服务器

案例概述:

主,从域名服务器均位于Internet中,所负责的DNS区域命名为“”。

主服务器的IP地址为192.168.10.101 主机名为ns1.。

从服务器的IP地址为192.168.10.102 主机名为ns2.。

在bdqn,com区域中,除了NS记录外,提供的解析记录还包括以下内容:

网站服务器www.,  IP地址为192.168.10.105

设置域的泛域名解析“*“,IP地址为192.168.10.106

主配置文件:

同样进入/etc/named.conf编辑,先将缓存域名服务器的内容用“#”注释掉,再添加新内容。接着保存并退出,如下操作示例:

DNS域名解析服务_域名服务器_08

每个 zone 区域都是可选的(包括根域、回环域、反向域),具体根据实际需要而定,zone 配置部分的“IN"关键字也可以省略。

反向区域的名称由倒序的网络地址和“.in-addr.arpa"组合而成。例如,对于192.168.1.0/24 网段,其反向区域名称表示为“1.168.192.in-addr.arpa”

file 配置项用于指定实际的区域数据文件,文件名称由管理员自行设置。

区域配置中的部分参数(如 allow-transfer)也可以放在全局配置中。

修改完主配置文件后可以执行“named-checkconf”命令对named.conf文件进行语法检查。如下操作:

DNS域名解析服务_服务器_09

区域数据配置文件:

区域数据配置文件通常位于/var/named目录下,每个区域数据文件对应一个DNS解析区域,文件名及内容由该域的管理员自行设置。

在区域数据文件中,主要包括 TTL(Time To Live,生存时间)配置项、SOA(Start OfAuthority,授权信息开始)记录、地址解析记录。文件中的注释信息以“;”(分号)开始。如下图所示:

DNS域名解析服务_DNS_10

由于区域文件比较负责,而/var/named目录下,named.localhost中就是大致模板,因此将它拷贝出来,再进行修改。如下图示例:


DNS域名解析服务_DNS_11

更改正向解析的文件内容:

DNS域名解析服务_DNS_12

STTL 86400:有效解析记录的生存周期

@ IN SOA bdgn.com.admin.bdgn.com.(:SOA 标记、域名、管理邮箱

2011030501:更新序列号,可以是 10 位以内的整数

3H:刷新时间,重新下载地址数据的间隔

15M:重试延时,下载失败后的重试间隔

4W:失效时间,超过该时间仍无法下载则放弃

1D:无效解析记录的生存周期

NS(Name Server,域名服务器):记录当前区域的 DNS 服务器的主机地址。

MX(Mail Exchange,邮件交换):记录当前区域的邮件服务器的主机地址,数字10表示(当有多个 MX记录时)选择邮件服务器的优先级,数字越大,优先级越低。

A(Address,地址):记录正向解析条目。

接着执行”name-checkzone“命令解析文件语法是否正确:

DNS域名解析服务_服务器_13

修改文件的属组,使用”ll“命令查询,接着使用”chown”命令进行文件权限修改:

DNS域名解析服务_域名服务器_14

更改反向解析的内容:

DNS域名解析服务_服务器_15

接着查询文件语法是否正确:

DNS域名解析服务_域名服务器_16

接着同样修改文件属组为“named”。然后重启该服务。接着进行验证,再打开一台Linux客户机进行正反向解析验证:

DNS域名解析服务_域名服务器_17

构建从域名服务器

建立主配置文件named.conf:

在从域名服务器中,named.conf 文件的内容与主服务器的内容大部分相同,只是不需要再设置“allow-transfer ……”;更关键的一点是,zone 部分的区域类型应设置为“slave”,并添加“masters {};"语句来指定主域名服务器的地址,打开IP地址192.168.10.102的客户机,关闭防火墙,同样先安装bind软件包。具体操作如下:

DNS域名解析服务_服务器_18

接着重启该服务,然后打开一台Linux客户机,将网卡内DNS修改为192.168.10.102.之后重启network。然后进行验证。