CentOS安装及配置DNS服务器-阿里云开发者社区

开发者社区> 安全> 正文

CentOS安装及配置DNS服务器

简介:

要在centos配置DNS服务器,要先安装DNS软件BIND。当然我们也可以安装其他的DNS软件,比如国内的开源DNS软件DNSPod。

在此我们以通过DNS软件BIND为例,进行实验。

本次实验:OS centos6.5 64bit

安装DNS软件,使用如下命令:

yum -y install bind bind-chroot bind-utils

clip_image001

clip_image002

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

clip_image003

分别复制/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/

clip_image004

cp -rv /usr/share/doc/bind-9.8.2/sample/etc/* /var/named/chroot/etc/

clip_image005

配置模版复制完毕后,我们先来修改bind的主配置文件/var/named/chroot/etc/named.conf,如下:

vi /var/named/chroot/etc/named.conf

clip_image006

我们会发现该配置文件中,有很多选项。在此为了实验的简单性,我们删除其他暂时不需要的,只保留bind最基本的功能。如下:

clip_image007

此文件我们只保留了,bind的工作目录/var/named/,然后指定bind监听的端口及IP地址。

以上我们配置了bind的配置文件,如果只是按照上边的操作,我们的dns还没有不能正常工作。因为没有创建相关的域,下面我们来创建一个主域服务器。

首先要在bind的配置文件中,添加一个主域的定义。如下:

clip_image008

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。如下:

clip_image009

复制named.localhost文件并重命名为ilanni.com.zone,如下:

cp named.localhost ilanni.com.zone

clip_image010

现在开始编辑ilanni.com.zone文件,并在其中加入相关的地址解析。如下:

vi ilanni.com.zone

clip_image011

我们只需要在该文件的最后添加新的资源记录即可,一个资源记录一般是由四部分组成。第一部分是主机名,第二部分是类型,第三分部是分类,其中A代表IPv4地址,第四部分代表IP地址。

注意在此我们添加了三条资源记录,第一条是有关邮件的资源记录,邮件资源记录一定要写在其他资源记录的前边,并且邮件资源记录是已域名的形式出现,并且域名后边最后还有一个点。

这样我们的ilanni.com.zone文件就已经配置完毕后,下面我们在检查下/var/named/chroot/var/named目录下,所有文件的属性,一定要具有可读属性。如下:

clip_image012

以上全部配置完毕后,我们就可以来启动bind。使用以下命令:

/etc/init.d/named start

如果bind已经启动,我们也可以通过/etc/init.d/named reload命令重新加载配置文件。如下:

clip_image013

由于这台机器本身已经搭建DHCP服务器,所以我们现在来修改客户端在通过DHCP服务获取到的DNS地址,如下:

clip_image014

其中10.5.5.1是本机的IP地址。

现在我们来看看客户端获取到的IP地址,如下:

clip_image015

先使用nslookup命令进行测试,如下:

clip_image016

现在使用host命令测试www.ilanni.com和ftp.ilanni.com的IP地址,如下:

host www.ilanni.com

host ftp.ilanni.com

clip_image017

通过上图,我们可以很明显的看到目前www.ilanni.com和ftp.ilanni.com已经发解析出来,这个和我们再BIND上的配置是相同的。

现在再使用dig命令测试邮件服务器的IP地址,如下:

dig –t MX ilanni.com

clip_image018

通过上图,我们可以很明显的看到邮件服务器已经正确解析到10.5.5.3这台服务器上。

也可以通过dig命令测试www及ftp的解析情况,如下:

dig -t A www.ilanni.com

clip_image019

dig -t A ftp.ilanni.com

clip_image020

现在我们再通过最实际的效果来访问下10.5.5.3上已经搭建的web服务器,如下:

clip_image021

clip_image022

到此有关centos的DNS安装及简易配置已经全部结束。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
+ 订阅

云安全开发者的大本营

其他文章