网上介绍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检查系统是否已经默认安装。
2)使用RPM方式安装,系统安装光盘上已经自带了DNS的rpm安装包。使用rpm命令即可安装(推荐使用这种安装方式)。
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目录下(该文件为根提示文件)。
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服务器的部署完成。