网上介绍 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.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 检查系统是否已经默认安装。

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

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

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 目录下(该文件为根提示文件)。

2 )主配置文件

# var  /etc/named.conf

3 )配置正向解析区域

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

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

4 )配置反向解析区域

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

5 )测试

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

使用 host 命令测试:

使用 nslookup 命令测试:

使用 dig 命令

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

 

3. 辅助 DNS 服务器配置

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

# /etc/named.conf

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

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

 

4. 子域与区域委派

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

# vi  /etc/named.conf

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

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

使用 nslookup 在子域中测试:

使用 nslookup 在主域中测试:

子域 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

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

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

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

# vi /etc/named.conf

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

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