网上介绍 DNS 的知识很多,在这里我就不再讲述 DNS 原理及做名词解释了。本篇我们将以一个实例为例来讲述 DNS 的配置,实验环境如下:
域名: guoxuemin.cn 子域: shenzhen.guoxuemin.cn
主域名服务器: dns.guoxuemin.cn IP 地址: 192.168.99.9
辅助域名服务器: dns1.guoxuemin.cn IP 地址: 192.168.99.8
子域服务器: dns.shenzhen.guoxuemin.cn IP 地址: 192.168.99.202
需要解析下列域名:
www.guoxuemin.cn —— 192.168.99.10
ftp.shenzhen.guoxuemin.cn —— 192.168.99.203
运行平台: CentOS 5
 
1. 安装
1 )首先,使用命令 # rpm –qa|grep bind 检查系统是否已经默认安装。
Linux——DNS篇_第1张图片
2 )使用 RPM 方式安装,系统安装光盘上已经自带了 DNS rpm 安装包。使用 rpm 命令即可安装(推荐使用这种安装方式)。
Linux——DNS篇_第2张图片
3 )使用源码安装:可以到 https://www.isc.org/downloadables/11 下载安装文件,目前最新版是 BIND-9. 7.0a 1 ,我下载的是 bind- 9.6.1 。安装步骤:
# tar  zxvf  bind- 9.6.1 .tar.gz
# cd bind- 9.6.1
# ./configure  --prefix=/usr/local  --sysconfdir=/etc  -localstatedir=/var  --disable-threads  --with-openssl
#  make
#  make install
使用源码安装设置比较麻烦,所以推荐使用 rpm 方式安装,本篇的环境也是使用 rpm 方式安装的。
 
2. 基本配置
DNS 的配置是比较简单的,只要配置好 /etc/named.conf 文件,然后建立正向解析文件和反向解析文件就可以了。
1 )首先将 named.root 文件复制到 /var/named 目录下(该文件为根提示文件)。
2 )主配置文件
# var  /etc/named.conf
Linux——DNS篇_第3张图片
3 )配置正向解析区域
# vi  /var/named/guoxuemin.cn.zone
Linux——DNS篇_第4张图片
可以使用 named-checkzone 来检查区域文件的合法性。
Linux——DNS篇_第5张图片
4 )配置反向解析区域
# vi  /var/named/99.168.192.in-addr.arpa.zone
Linux——DNS篇_第6张图片
5 )测试
使用 named status 命令查看运行状态:
Linux——DNS篇_第7张图片
使用 host 命令测试:
Linux——DNS篇_第8张图片
使用 nslookup 命令测试:
Linux——DNS篇_第9张图片
使用 dig 命令
Linux——DNS篇_第10张图片
Ok ,测试无异常,主 DNS 服务器配置完毕。
 
3. 辅助 DNS 服务器配置
辅助 DNS 服务器的安装同主 DNS 服务器,也需要将 named.root 复制到 /var/named 目录下,按上面的步骤操作就可以了,这里就不再重复说明。辅助 DNS 服务器的配置,只需要配置 /etc/named.conf 这个文件就可以了。
# /etc/named.conf
Linux——DNS篇_第11张图片
配置完后,重启 DNS 服务,我们可以使用 tail 命令打开日志,查看辅助 DNS 服务器跟主 DNS 服务器同步的过程:
Linux——DNS篇_第12张图片
同步完成后,我们可以看到 /var/named/slaves/ 下已经自动生成了正向解析和反向解析文件:
 
4. 子域与区域委派
子域的配置方法与主域其实是相同的,也是先配置 /etc/named.conf 文件,然后建立正向解析和反向解析文件。
# vi  /etc/named.conf
Linux——DNS篇_第13张图片
# vi  /var/named/Shenzhen.guoxuemin.cn..zone
Linux——DNS篇_第14张图片
# vi  /var/named/99.168.192.in-addr.arpa.zone
Linux——DNS篇_第15张图片
使用 nslookup 在子域中测试:
Linux——DNS篇_第16张图片
使用 nslookup 在主域中测试:
Linux——DNS篇_第17张图片
子域 DNS 服务器的配置完成。
 
5. 日志
我们如何才能够了解 DNS 服务器的运行情况下呢,它忙不忙、负载大不大?想了解 DNS 服务器的运行状况,可以通过查看 DNS 服务器在运行时所产生的日志文件来实现。在默认情况下, BIND 是通过 syslog 来生成日志的,存放在 /var/log/message 文件中。由于这个文件中的日志信息是 syslog 生成的,所以不并是全都是关于 BIND 的日志信息。我们执行以下命令,将所有 BIND 的日志信息挑选出来:
# more  /var/log/message|grep  named >/tmp/named.log

然后我们可以通过查看 /tmp/named.log 文件来检查 DNS 日志信息。
# vi /tmp/named.log
Linux——DNS篇_第18张图片
不过,该日志文件中的消息非常少,主要是启动、关闭的日志记录和一些严重错误的消息。要详细记录服务器的运行状况,还需要自己配置服务器的日志行为。
首先我们在 /var/log/ 下面建立一个文件夹 named ,并赋予 named 所有权,用来存放日志文件。
Linux——DNS篇_第19张图片
然后编辑 /etc/named.conf 文件,生成日志:
# vi /etc/named.conf
Linux——DNS篇_第20张图片
OK ,配置好了,我们来测试一下:
Linux——DNS篇_第21张图片
Linux——DNS篇_第22张图片
如上图所示,访问 DNS 的记录都已经记录在日志文件中了,是不是很方便?
至此,DNS服务器的部署完成。