网上介绍DNS的知识很多,在这里我就不再讲述DNS原理及做名词解释了。本篇我们将以一个实例为例来讲述DNS的配置,实验环境如下:
域名:guoxuemin.cn 子域:shenzhen.guoxuemin.cn
主域名服务器:dns.guoxuemin.cn IP地址:192.168.99.9
辅助域名服务器:dns1.guoxuemin.cnIP地址:192.168.99.8
子域服务器:dns.shenzhen.guoxuemin.cnIP地址: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篇_子域委派
2)使用RPM方式安装,系统安装光盘上已经自带了DNSrpm安装包。使用rpm命令即可安装(推荐使用这种安装方式)。
Linux服务器部署系列之三—DNS篇_日志_02
3)使用源码安装:可以到https://www.isc.org/downloadables/11下载安装文件,目前最新版是BIND-9.7.0a1,我下载的是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目录下(该文件为根提示文件)。
Linux服务器部署系列之三—DNS篇_linux_03
2)主配置文件
# var  /etc/named.conf
Linux服务器部署系列之三—DNS篇_DNS_04
3)配置正向解析区域
# vi  /var/named/guoxuemin.cn.zone
Linux服务器部署系列之三—DNS篇_DNS_05
可以使用named-checkzone 来检查区域文件的合法性。
Linux服务器部署系列之三—DNS篇_辅助区域_06
4)配置反向解析区域
# vi  /var/named/99.168.192.in-addr.arpa.zone
Linux服务器部署系列之三—DNS篇_linux_07
5)测试
使用named status命令查看运行状态:
Linux服务器部署系列之三—DNS篇_DNS_08
使用host命令测试:
Linux服务器部署系列之三—DNS篇_辅助区域_09
使用nslookup命令测试:
Linux服务器部署系列之三—DNS篇_DNS_10
使用dig命令
Linux服务器部署系列之三—DNS篇_子域委派_11
Ok,测试无异常,主DNS服务器配置完毕。
 
3. 辅助DNS服务器配置
辅助DNS服务器的安装同主DNS服务器,也需要将named.root复制到/var/named目录下,按上面的步骤操作就可以了,这里就不再重复说明。辅助DNS服务器的配置,只需要配置/etc/named.conf这个文件就可以了。
# /etc/named.conf
Linux服务器部署系列之三—DNS篇_辅助区域_12
配置完后,重启DNS服务,我们可以使用tail命令打开日志,查看辅助DNS服务器跟主DNS服务器同步的过程:
Linux服务器部署系列之三—DNS篇_辅助区域_13
同步完成后,我们可以看到/var/named/slaves/下已经自动生成了正向解析和反向解析文件:
Linux服务器部署系列之三—DNS篇_DNS_14
 
4. 子域与区域委派
子域的配置方法与主域其实是相同的,也是先配置/etc/named.conf文件,然后建立正向解析和反向解析文件。
# vi  /etc/named.conf
Linux服务器部署系列之三—DNS篇_子域委派_15
# vi  /var/named/Shenzhen.guoxuemin.cn..zone
Linux服务器部署系列之三—DNS篇_日志_16
# vi  /var/named/99.168.192.in-addr.arpa.zone
Linux服务器部署系列之三—DNS篇_DNS_17
使用nslookup在子域中测试:
Linux服务器部署系列之三—DNS篇_DNS_18
使用nslookup在主域中测试:
Linux服务器部署系列之三—DNS篇_DNS_19
子域DNS服务器的配置完成。
 
5. 日志
我们如何才能够了解DNS服务器的运行情况下呢,它忙不忙、负载大不大?想了解DNS服务器的运行状况,可以通过查看DNS服务器在运行时所产生的日志文件来实现。在默认情况下,BIND是通过syslog来生成日志的,存放在/var/log/message文件中。由于这个文件中的日志信息是syslog生成的,所以不并是全都是关于BIND的日志信息。我们执行以下命令,将所有BIND的日志信息挑选出来:
# more  /var/log/message|grep  named >/tmp/named.log
Linux服务器部署系列之三—DNS篇_子域委派_20
然后我们可以通过查看/tmp/named.log文件来检查DNS日志信息。
# vi /tmp/named.log
Linux服务器部署系列之三—DNS篇_linux_21
不过,该日志文件中的消息非常少,主要是启动、关闭的日志记录和一些严重错误的消息。要详细记录服务器的运行状况,还需要自己配置服务器的日志行为。
首先我们在/var/log/下面建立一个文件夹named,并赋予named所有权,用来存放日志文件。
Linux服务器部署系列之三—DNS篇_linux_22
然后编辑/etc/named.conf文件,生成日志:
# vi /etc/named.conf
Linux服务器部署系列之三—DNS篇_linux_23
OK,配置好了,我们来测试一下:
Linux服务器部署系列之三—DNS篇_子域委派_24
Linux服务器部署系列之三—DNS篇_日志_25
如上图所示,访问DNS的记录都已经记录在日志文件中了,是不是很方便?
至此,DNS服务器的部署完成。