项目七 配置与应用DNS服务

【项目说明】

   DNS(Domain Name System,域名系统)用于命名组织到域层次结构中的计算机和网络服务。在Internet上域名与IP地址之间是一对一(或者多对一)的,又名虽然便于人们记忆,但是机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要有专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。DNS命名用于Internet等TCP/IP网络中,通过用户有好的名称查找计算机和服务器。当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与之相关的其它信息,如IP地址。在上网时输入的网址通过域名解析系统解析找到了相对应的IP地址,这样才能上网。其实,域名的最终指向是IP地址。

  Linux下架设DNS服务器通常使用Bind来实现,Bind原本是美国DARPA资助伯克利大学开设的一个研究生课题,后来变化成为世界上国内最广泛的DNS服务器软件。 

  还有一个重要的软件是Bind-chroot,所谓的shroot代表的是“change to root(根目录)”的意思,root代表的是根目录。早期的Bind默认将程序启动在/vim/named当中。但是该程序可以将根目录的其它目录到处转移,因此若Bind的程序出现问题时,该程序会造成中各系统的危害。为避免出现这种情况,我们将某个目录指定为Bind程序的根目录,由于已经是根目录,因此Bind便不能离开该目录,所以若该程序被攻击,最多也会是在某个特定的目录下被破坏而已。CentOS 6.x默认将Bind锁在/var/named/chroot目录中。

 本项目的主要任务是清理DNS服务器的基本概念、工作原理以及熟悉配置DNS服务器。

【项目实施】  

要实施完成此项目需要完成一下3个任务:

任务一:安装与配置基本DNS服务器;

任务二:搭建辅助作用域DNS服务器;

任务三:搭建转发与委派DNS服务器。

                                任务一 安装与配置基本DNS服务器

【任务说明】

  为公司配置一台DNS服务器,其IP地址为192.168.10.254。具体要求如下:

  设置该区域的SOA记录,主域名服务器为ns.yhy.com。维护该域的管理员邮箱地址为[email protected],当前区域信息的版本号、刷新时间等为默认值。

该区域的ns记录:ns.yhy.com。

该区域的A记录:主机名为ns,对应的解析IP为192.168.10.100

该区域的A记录:主机名为web1,对应的解析IP为192.168.10.100。

该区域的A记录:主机名为web2,对应的解析IP为192.168.10.100。

该区域的nx记录:对应的解析IP为mail.yhy.com,优先级为5.

该区域的别名记录:别名为mail,对应的主机为ns。

该区域的别名记录:别名为www,对应的主机为ns。

该区域的别名记录:别名为ftp,对应的主机为ns。

并对应作反向解析。

【任务实施】

第1步:设置服务器的IP地址

   DNS服务器需要为客户机提供域名解析服务,为了让客户机能够定位自己,DNS服务需要一个固定的IP地址。

   使用【setup】命令配置IP地址,或使用【vim /etc/sysconfig/network-scripts/ifcfg-eth0】命令直接修改网卡的配置文件来配置DNS服务器的IP地址。配置完成之后,需要通过命令【service network restart】重启网络服务。

     项目七 配置与应用DNS服务  

项目七 配置与应用DNS服务

第2步:安装DNS服务软件

 配置好YUM源,挂载CentOS6.5光盘,使用【yum install -y bind】命令安装DNS主程序Bind软件。使用【yum install -y bind-chroot】命令安装DNS权限 bind-chroot。

安装好以后,通过【rpm -qa|grep bind】命令即可查询到如图7-1所示的4个软件。

      项目七 配置与应用DNS服务

第3步:备份主要配置文件

【cp -p /etc/named.conf /etc/named.conf.bak】cp加参数-p,代表权限不变的复制。

第4步:编辑主要配置文件

    虽然我们具有chroot的环境,不过由于CentOS6.5.x已经通过启动脚本帮我们进行文件与目录的挂载链接,所以直接修改/etc/named.conf,不用在修改/var/named/chroot/etc/named.conf。在这个文件中,主要是定义根服务器环境有关的设定,以及各个zone(区域)的领域及数据所在文件名。因为是用了forwarding(转发)机制,所以这个DNS服务器并没有区域,所以我们只要设置根服务器有关的设定即可。

    使用【vim //etc/named.conf】命令修改/etc/named.conf配置文件,具体配置地方如图7-2所示:

       项目七 配置与应用DNS服务

参数说明:

     listen-on port 53 {any;};监听在该服务器上的那个网络接口。预设是监听localhost,即只有本机可以对DNS服务进行查阅,那当然很不合理。所以这里要将大括号内改写成any。因为可监听多个接口,因此any后面得加上分好才算结束。另外,这个项目如果忘记写也没有关系,因为默认是对整个主机系统的所有接口进行监听。 

    allow-query{any;};是针对客户端的设置,到底谁可以对DNS服务提供查询请求的意思。原本的文件内容预设是针对localhost开放而已,这里改成对所有的用户开放,防火墙也得放行。不过,默认DNS就是对所有用户放行,所以这个设定值也可以不写。

     forwarders{114.114.114.114;};指定上层进行传递的DNS服务器。

第5步:备份与编辑定义区域文件

    使用【cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak】命令备份原配置文件,一定要参加参数-p。使用【vim /etc/named.rfc1912.zones】命令编辑区域配置文件。

    复制并粘贴最后12行,然后编辑成如图7-3所示的内容。在图中,定义区域名称为yhy.com的正向查找区域文件yhy.z以及反向查找区域文件yhy.f。

           项目七 配置与应用DNS服务

第6步:建立正向查找区域文件

使用【cd /var/named/】命令进入配置文件目录。

      项目七 配置与应用DNS服务

使用【cp -p named.localhost yhy.z】命令复制这样本区域文件,一定要参数-p,连同权限一起复制。使用【vim yhy.z】命令编辑正向查找区域文件。正向查找文件的定义如图7-4所示。

      项目七 配置与应用DNS服务

第7步:建立反向查找区域

使用【cp -p yhy.z yhy.f】命令复制建立反向区域文件,一定要加参数-p。使用【vim yhy.f】命令编辑反向区域文件。反向区域文件的定义如图7-5所示。 

       项目七 配置与应用DNS服务

第8步:重新启动服务

【service named restart】重新启动DNS服务。

     项目七 配置与应用DNS服务

【chkconfig named on】设置DNS服务开机时服务自动启动。

第9步:客户机验证

在客户机中配置DNS指向DNS服务器,使用【vim /etc/resolv.conf】命令配置客户机的DNS,在文档末添加如下内容:

        nameserver  192.168.10.254                   #指定DNS服务器地址

        项目七 配置与应用DNS服务

通过nslookup测试工具测试DNS是否能正常解析。以下是正向查找区域的验证结果,如图7-6所示:

        项目七 配置与应用DNS服务

以下是反向查找区域的验证结果,如图7-7所示:

      

至此,DNS服务器搭建完成,并测试完毕。


                               任务二    搭建辅助作用域DNS服务器

【任务说明】

DNS辅助服务器(slave)是一种容错设计,考虑的是一旦DNS主服务器出现故障或因负载太重无法及时响应客户机请求,辅助服务器将挺身而出为主服务器排忧解难。辅助服务器的区域数据都是从主服务器复制而来,因此辅助服务器的数据都是只读的,当然,如果有必要,我们可以很轻松地把辅助服务器升级为主服务器。

使用辅助域名服务器的好处:

(1)辅助DNS服务器提供区域冗余,能够在这个区域的主服务器停止响应的情况下为客户端解析这个区域的DNS名称。

(2)创建辅助DNS服务器可以减少DNS网络通信量,采用分布式结构,在低速广域网链路中添加DNS服务器能有效地管理和减少网络通信量。

(3)辅助服务器可以用于减少区域的主服务器的负载

本次任务的主要工作是为企业搭建一台DNS辅助服务器:

具体的配置参数:域名为yhy.com. 

      主区域服务器IP为192.168.10.254;   辅助区域IP为192.168.10.253

【任务说明】

第1步:设置服务器的IP地址。

      DNS服务器需要为客户机提供域名解析服务,为了让客户机能够定位到自己,DNS服务器需要一个固定的IP地址。

配置完成后,需要重启网络服务:service network restart

           

   项目七 配置与应用DNS服务  

     项目七 配置与应用DNS服务

第2步:安装DNS服务软件。

配置好yum源,挂载CentOS6.5光盘,采用如下命令安装相关软件

【yuminstall –y bind】安装DNS主程序bind软件【yum install –ybind-chroot】安装DNS权限管理辅助软件bind-chroot

         项目七 配置与应用DNS服务

第3步:备份主要配置文件

cp -p /etc/named.conf /etc/named.conf.bakcp加-p参数,代表权限不变的复制

第4步:编辑主要配置文件

使用【vim/etc/named.conf】命令修改/etc/named.conf配置文件,具体配置的地方如图7-8所示。

            项目七 配置与应用DNS服务

通过allow-transfer 语句指定辅助服务器的IP地址。

第5步:备份与编辑定义区域文件

cp –p/etc/name.rfc1912.zones /etc/name.rfc1912.zones.bak备份将要修改的配置文件

使用【vim/etc/name.rfc1912.zones】命令编辑区域定义文件,复制最后12行输入【12yy】,再按【p】粘贴,然后编辑成如图7-9所示。

          项目七 配置与应用DNS服务

定义区域名称为yhy.com的正向查找区域文件yhy.z以及反向查找区域文件yhy.f

第6步:建立正向查找区域文件

cp –p named.localhostyhy.z根据样本建立正向区域文件,一定加【-p】参数

使用【vim yhy.z】命令编辑正向区域文件,正向区域文件的定义如图7-10所示。

        项目七 配置与应用DNS服务

为了能够及时看到,我们修改了刷新时间以及重试时间。

第7步:完成主服务器DNS服务的配置,重启服务

修改配置文件后需要重启相关服务

【servicenamed restart】重启DNS服务,使最新修改的配置生效

第8步:配置辅助服务器的区域文件

  辅助服务器区域的文件/etc/named.conf基本和主服务器区域的配置一样,就是不再需要在options块中加allow-transfer{};

在辅助服务器上使用【vim /etc/named.conf】命令编辑/etc/named.conf文件,文件内容如图7-11所示。

                 项目七 配置与应用DNS服务

第9步:编辑辅助服务器上的named.rfc1912.zones文件

编辑辅助服务器上的named.rfc1912.zones文件,在文档最后添加如图7-12所示的内容。

      项目七 配置与应用DNS服务

备注:一定要将默认的【allow-update {none;};】允许更新的这行设置删除,文件的存放位置(默认在slaves目录下),也可以存放在其他目录中,但必须保证存放的目录的所有者和所属组是named,否则BIND将无法从主要区域传输的DNS信息写入文件中。 

第10步:查看辅助服务器的复制结果

   在辅助服务器上使用【service named restart】命令重启dns服务,使用命令【cd /var/named/slaves/】进入相应目录,然后使用【ll】命令查看系统自动生成的文件,具体操作过程如图7-13所示。


   

  你会发现在/var/named/slaves下生成了yhy.z文件,此文件是从主DNS服务器上复制过来的,但又步完全一样,注意其值的大小,与后面还要做比较。

第11步:在主服务器上修改区域配置文件,以作更新测试

   现在在主区域文件中添加几条记录,如下图,观察辅助DNS的相关变化,注意:主要区域每次修改完其中数据后,需要将SOA记录中的***增大,否则辅助区域将无法得知主要区域中记录已发生改变,修改主服务器的正向查找区域文件内容如图7-14所示。





第12步:客户机测试

   将客户机的dns设为辅助dns服务器的IP地址:192.168.10.253。用nslookup来测试,发现新添加记录并没有正确解析,因为dns设置的refresh刷新时间为2分钟,过一段时间后,就可以看到/var/named/slaves/下的yhy.z文件已经增大了,如图7-15所示,而且那几条记录也已经添加到辅助区域的区域文件内了。 



打开辅助区域配置文件,可以看到添加到主服务的记录已经更新过来了,具体内容如图7-16所示。

 


         

                            任务二   搭建转发与委派DNS服务器

【任务说明】 

 某公司其总部在北京,主域名为:yhy.com,北京的子域bj.yhy.com也建在主域的dns服务器上,而要想远在上海的子域sh.yhy.com也能够正常解析主区域的域名,则要通过转发实现,而在北京的主机想通过主DNS查询到子域的域名则需要通过委派来实现,具体的工程拓扑如图7-17所示。   

          项目七 配置与应用DNS服务

图7-17 转发与委派DNS服务器工程拓扑图

备注:

(1)转发: 

a.完全转发:将客户端所有DNS查询以递归的方式转发到指定DNS服务器,  

b.条件转发:将指定DNS后缀的查询转发到指定的DNS服务器;

(2)委派:在BIND中可以将某个子域的查询工作委派给别一个DNS服务器完成。

【任务实施】 

 第1步:修改主要配置文件

如任务一中一样,修改DNS主配置文件/etc/named.conf,使其能够对外提供DNS查询服务。

    项目七 配置与应用DNS服务

第2步:定义正向查找区域文件

   在named.rfc1912.zones文件中添加如图7-18所示的内容,用以定义主域yhy.com的区域的正向查找文件bj.yhy.z。

       项目七 配置与应用DNS服务

第3步:新建区域文件

  使用【vim /var/named/yhy.z】命令新建北京主域yhy.com的正向查找区域文件yhy.z,内容如图7-19所示。

    项目七 配置与应用DNS服务

 使用【vim /var/named/bj.yhy.z】命令新建北京子域正向查找区域文件bj.yhy.z,内容如图7-20所示。

     项目七 配置与应用DNS服务

第4步:重启DNS服务

 【service named restart】重启DNS服务,是最新修改的配置文件生效。至此DNS的主域基本配置完成。 

     项目七 配置与应用DNS服务

第5步:为子域设置转发

以下为上海子域DNS的配置。

   为子域设置转发,在主配置文件named.conf中添加“forwareders{192.168.142.2;};”语句,实现完全转发,具体内容如图7-21所示。也可以在named.rfc1912.zones中添加如下语句,实现条件转发:


第6步:子域的测试配置

修改测试机B的IP为192.168.142.6/24,DNS改为92.168.142.3,即子域的DNS服务器的IP地址,具体配置如图7-22所示。

   项目七 配置与应用DNS服务

第7步:子域的查询测试

在DOS仿真窗口下运行【nslookup】命令,进行验证,验证结果如图7-23所示。

        项目七 配置与应用DNS服务

第8步:委派配置

在主区域的正向查找文件内添加如图7-24所示的内容,即将对sh.yhy.com域的查询委派给上海子域192.168.142.3。

    

第9步:委派测试设置

修改测试机A的IP为192.168.142.5,DNS为主区域DNS为192.168.142.2,其具体设置如图7-25所示。

          项目七 配置与应用DNS服务

第10步:测试机测试

在cmd下用nslookup来测试,如图7-26所示。


测试正常,至此任务结束。