本文首发于烂泥行天下。
要在centos配置DNS服务器,要先安装DNS软件BIND。当然我们也可以安装其他的DNS软件,比如国内的开源DNS软件DNSPod。
在此我们以通过DNS软件BIND为例,进行实验。
本次实验:OS centos6.5 64bit
安装DNS软件,使用如下命令:
yum -y install bind bind-chroot bind-utils
BIND配置文件保存在两个主要位置:
/etc/named.conf 这个是BIND服务主配置文件
/var/named/ 这个是用来存放DNS的zone文件
如果安装了bind-chroot,BIND会被封装到一个伪根目录内,原来配置文件的位置会变为:
/var/named/etc/named.conf和/var/named/var/named/
chroot是通过将相关文件封装在一个伪根目录内,来达到安全防护的目的。一旦该程序被攻破,将只能访问伪根目录内的内容,而不是真实的根目录。
bind刚刚安装完毕后,配置文件内容是空的。我们可以通过bind的帮助文档来进行配置,因为bind配置的参数比较多,强烈建议在帮助文档的基础通过bind提供的模版上进行配置。查看bind的配置,如下:
rpm –ql bind |tac
分别复制/usr/share/doc/bind-9.8.2/sample/var/和/usr/share/doc/bind-9.8.2/sample/etc/目录下的文件,到/var/named/chroot/var/和/var/named/chroot/etc/目录下,如下:
cp -rv /usr/share/doc/bind-9.8.2/sample/var/* /var/named/chroot/var/
cp -rv /usr/share/doc/bind-9.8.2/sample/etc/* /var/named/chroot/etc/
配置模版复制完毕后,我们先来修改bind的主配置文件/var/named/chroot/etc/named.conf,如下:
vi /var/named/chroot/etc/named.conf
我们会发现该配置文件中,有很多选项。在此为了实验的简单性,我们删除其他暂时不需要的,只保留bind最基本的功能。如下:
此文件我们只保留了,bind的工作目录/var/named/,然后指定bind监听的端口及IP地址。
以上我们配置了bind的配置文件,如果只是按照上边的操作,我们的dns还没有不能正常工作。因为没有创建相关的域,下面我们来创建一个主域服务器。
首先要在bind的配置文件中,添加一个主域的定义。如下:
zone "ilanni.com"{
type master;
file "ilanni.com.zone";
};
zone "ilanni.com" 定义ilanni.com域
type master;定义该域为主域服务
file "ilanni.com.zone"定义域的zone文件,该文件在/var/named/chroot/var/named/目录下。
现在我们来创建ilanni.com域的zone文件,默认情况下bind是没有生成该文件的,需要我们手工添加,但是在前边我们提到过由于bind的配置文件比较复杂,所以我们建议还是使用bind为我们提供的模版文件named.localhost。如下:
复制named.localhost文件并重命名为ilanni.com.zone,如下:
cp named.localhost ilanni.com.zone
现在开始编辑ilanni.com.zone文件,并在其中加入相关的地址解析。如下:
vi ilanni.com.zone
我们只需要在该文件的最后添加新的资源记录即可,一个资源记录一般是由四部分组成。第一部分是主机名,第二部分是类型,第三分部是分类,其中A代表IPv4地址,第四部分代表IP地址。
注意在此我们添加了三条资源记录,第一条是有关邮件的资源记录,邮件资源记录一定要写在其他资源记录的前边,并且邮件资源记录是已域名的形式出现,并且域名后边最后还有一个点。
这样我们的ilanni.com.zone文件就已经配置完毕后,下面我们在检查下/var/named/chroot/var/named目录下,所有文件的属性,一定要具有可读属性。如下:
以上全部配置完毕后,我们就可以来启动bind。使用以下命令:
/etc/init.d/named start
如果bind已经启动,我们也可以通过/etc/init.d/named reload命令重新加载配置文件。如下:
由于这台机器本身已经搭建DHCP服务器,所以我们现在来修改客户端在通过DHCP服务获取到的DNS地址,如下:
其中10.5.5.1是本机的IP地址。
现在我们来看看客户端获取到的IP地址,如下:
先使用nslookup命令进行测试,如下:
现在使用host命令测试www.ilanni.com和ftp.ilanni.com的IP地址,如下:
host www.ilanni.com
host ftp.ilanni.com
通过上图,我们可以很明显的看到目前www.ilanni.com和ftp.ilanni.com已经发解析出来,这个和我们再BIND上的配置是相同的。
现在再使用dig命令测试邮件服务器的IP地址,如下:
dig –t MX ilanni.com
通过上图,我们可以很明显的看到邮件服务器已经正确解析到10.5.5.3这台服务器上。
也可以通过dig命令测试www及ftp的解析情况,如下:
dig -t A www.ilanni.com
dig -t A ftp.ilanni.com
现在我们再通过最实际的效果来访问下10.5.5.3上已经搭建的web服务器,如下:
到此有关centos的DNS安装及简易配置已经全部结束。
本文转自 烂泥行天下 51CTO博客,原文链接:http://blog.51cto.com/ilanni/1545510