网上介绍DNS的知识很多,在这里我就不再讲述DNS原理及做名词解释了。本篇我们将以一个实例为例来讲述DNS的配置,实验环境如下:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

域名: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检查系统是否已经默认安装。

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />Linux服务器部署系列之三—DNS篇

2)使用RPM方式安装,系统安装光盘上已经自带了DNSrpm安装包。使用rpm命令即可安装(推荐使用这种安装方式)。

Linux服务器部署系列之三—DNS篇

3)使用源码安装:可以到https://www.isc.org/downloadables/11下载安装文件,目前最新版是BIND-9.<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />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篇

2)主配置文件

# var  /etc/named.conf

Linux服务器部署系列之三—DNS篇

3)配置正向解析区域

# vi  /var/named/guoxuemin.cn.zone

Linux服务器部署系列之三—DNS篇

可以使用named-checkzone 来检查区域文件的合法性。

Linux服务器部署系列之三—DNS篇

4)配置反向解析区域

# vi  /var/named/99.168.192.in-addr.arpa.zone

Linux服务器部署系列之三—DNS篇

5)测试

使用named status命令查看运行状态:

Linux服务器部署系列之三—DNS篇

使用host命令测试:

Linux服务器部署系列之三—DNS篇

使用nslookup命令测试:

Linux服务器部署系列之三—DNS篇

使用dig命令

Linux服务器部署系列之三—DNS篇

Ok,测试无异常,主DNS服务器配置完毕。

 

3. 辅助DNS服务器配置

辅助DNS服务器的安装同主DNS服务器,也需要将named.root复制到/var/named目录下,按上面的步骤操作就可以了,这里就不再重复说明。辅助DNS服务器的配置,只需要配置/etc/named.conf这个文件就可以了。

# /etc/named.conf

Linux服务器部署系列之三—DNS篇

配置完后,重启DNS服务,我们可以使用tail命令打开日志,查看辅助DNS服务器跟主DNS服务器同步的过程:

Linux服务器部署系列之三—DNS篇

同步完成后,我们可以看到/var/named/slaves/下已经自动生成了正向解析和反向解析文件:

Linux服务器部署系列之三—DNS篇

 

4. 子域与区域委派

子域的配置方法与主域其实是相同的,也是先配置/etc/named.conf文件,然后建立正向解析和反向解析文件。

# vi  /etc/named.conf

Linux服务器部署系列之三—DNS篇

# vi  /var/named/Shenzhen.guoxuemin.cn..zone

Linux服务器部署系列之三—DNS篇

# vi  /var/named/99.168.192.in-addr.arpa.zone

Linux服务器部署系列之三—DNS篇

使用nslookup在子域中测试:

Linux服务器部署系列之三—DNS篇

使用nslookup在主域中测试:

Linux服务器部署系列之三—DNS篇

子域DNS服务器的配置完成。

 

5. 日志

我们如何才能够了解DNS服务器的运行情况下呢,它忙不忙、负载大不大?想了解DNS服务器的运行状况,可以通过查看DNS服务器在运行时所产生的日志文件来实现。在默认情况下,BIND是通过syslog来生成日志的,存放在/var/log/message文件中。由于这个文件中的日志信息是syslog生成的,所以不并是全都是关于BIND的日志信息。我们执行以下命令,将所有BIND的日志信息挑选出来:

# more  /var/log/message|grep  named >/tmp/named.log

Linux服务器部署系列之三—DNS篇
然后我们可以通过查看/tmp/named.log文件来检查DNS日志信息。

# vi /tmp/named.log

Linux服务器部署系列之三—DNS篇

不过,该日志文件中的消息非常少,主要是启动、关闭的日志记录和一些严重错误的消息。要详细记录服务器的运行状况,还需要自己配置服务器的日志行为。

首先我们在/var/log/下面建立一个文件夹named,并赋予named所有权,用来存放日志文件。

Linux服务器部署系列之三—DNS篇

然后编辑/etc/named.conf文件,生成日志:

# vi /etc/named.conf

Linux服务器部署系列之三—DNS篇

OK,配置好了,我们来测试一下:

Linux服务器部署系列之三—DNS篇

Linux服务器部署系列之三—DNS篇

如上图所示,访问DNS的记录都已经记录在日志文件中了,是不是很方便?
至此,DNS服务器的部署完成。