码迷,mamicode.com
首页 > 其他好文 > 详细

架设DNS服务器 实战指南(主、从、子、定向转发多图)

时间:2016-01-11 01:38:51      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:dns   应用程序   网络服务         


一、DNS基础知识(先科普一下):

   1、DNS出现的环境:

        TCP/IP协议通信是基于IP地址的,但是网络管理员无法记住那一串串单调的数字。因此大家基本上是通过访问计算机域名,然后通过 DNS服务器将计算机域名解析为IP地址来实现的。


    2、什么是DNS:

        DNS:域名系统(Domain  Name  System)用于命名组织到域层次结构中的计算机和网络服务。DNS命名用于TCP/IP网络中,通过用户友好的名称查找计算机。当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与之相关的IP地址。DNS客户端请求过程为:本地hosts文件-------缓存--------DNS服务器(逐一查找,那一步有,就不用找下一步了,没有就按顺序查找)。客户端查询示例图:

技术分享

    3、DNS域命名空间简介:

        DNS域命名空间具有层次性的,一般可以分为根域、顶级域、二级域、子域以及主机名、其结构如下图:

        

技术分享    (1)、根域:用“.”表示,默认情况下不需要表示出来,全世界目前有13台根域服务器,由INIC管理;


    (2)、顶级域 :位于根域下层,是由三个字母组成的名称,又可分为国家或地区名称和使用机构名称(国家或地区名如:.cn,.hk,.tw,.jp等)


    (3)、二级域:位于顶级域下面,是在Internet上使用而注册的域名,可以自定(但前提是没被别人使用);

 

   (4)、子域 :是按公司或组织的具体情况而从已注册到的个人或组织的域名中按部门或地理位置创建,位于二级域下面;


    (5)、主机名:位于DNS域命名空间的最低层,主要是的位于Internet或公司及组织内部的计算机主机名。

    

   4、DNS服务器类型:

        根据管理的DNS区域不同,DNS服务也有不同的类型。一台DNS服务器可以同时管理多个区域,因此也可以同时属于多种DNS服务器类型。目前在企业网络部署环境中主要有以下四类:


    (1)、主DNS服务器:

        当DNS服务器管理主要区域时,被称之为主DNS服务器,它是主要区域中的集中更新源;它的区域数据存放在本地文件中,只有自己才有写权限。当主DNS服务器出现故障时,从服务器(只读取主DNS服务的数据没有写主DNS服务器的权限)可以指定过期时间到达之前应答DNS客户端的请求。


    (2)、从DNS服务器:

        一般在DNS服务器针对实际使用中总建议至少使用两台,目的有两点:一是在同一个区域可以实现负载均衡,降低主DNS服务器的负载,同时提高性能。其次,当主DNS服务出现故障时,从DNS服务通过与主DNS服务器“复制操作”的实施方式(从DNS服务器对主DNS读取数据进行更新区域数据),为客户端口DNS解析请求提供答复(但要在指定过期时间之前)。


    (3)、缓存DNS服务器:

        即没有管理任区域的DNS服务器,也不会像从DNS器一样产生区域复制操作,它只是缓存名称并且使用缓存信息来应答DNS客户端的解析请求。刚安装好的DNS服务器默认就是一台缓存服务器,可以用来减少DNS客户端访问外部DNS的网流流量,降低解析时间(目前应用广泛)。


    (4)、转发DNS服务器:

        转发DNS服务器允许当本地DNS服务器无法对DNS客户端的解析请求进行本地解析时,转发DNS客户端发送的解析请求到上游DNS服务器。此时,本地DNS服务器又称为转发服务器,而上游DNS服务器又称为转发器。

在Linux系统还提供了条件转发功能,可以针对不同的域名请求转发到不同的转发器(上游DNS服务器)。


    5、DNS解析类型:

        在部署一台DNS服务器时,必须先考虑到DNS解析类型,以此来决定DNS服务器类型,DNS解析类型可以分为以下两类:

    

    (1)、正向查找解析:getipbyhostname

        用于域名到IP地址,当DNS客户端请求解析某个域名时,DNS服务器通过正向查找,返回给对应的IP给请求的DNS客户端。

  

    (2)、反向查找解析:gethostnamebyip

        用于IP地址到域名,当DNS客户端请求解析某个IP时,DNS服务器通过反向查找,返回给对应的域名给请求的DNS客户端。



二、用到的DNS服务器软件包及相关工具(Linux系统下)

    

    1、所需程序包:

bind-libs:被bind和bind-utils包的程序共同用到的库文件

bind-utils:bind客户端程序集,例如dig,host,nslookup等;

bind:提供的dns server程序,解析器库文件以及几个常用的测试程序

bind-chroot:选装,在互联网上使用时,建议安装----让named运行在jail模式下(沙箱模式)


    2、配置文件位置:

主配置文件:/etc/named.conf

区域数据文件:/var/named/ZONE_FILE.ZONE(正向)

                    :/var/named/ZONE_FILE.ZONE(反向)

 

    3、所用到的工具:


语法测试工具:检查配置文件语法错误

                    :named-checkconf;测试主配置文件

     :named-checkzone;测试区域数据文件


测试工具:dig 、host、nslookup


rndc命令:named服务控制命令

              :rndc  reload;重载区域配件文件

              :rndc  status;查看服务状态

              :rndc flush;清除服务缓存

端口开放及防火墙添加:53/tcp/udp   953/tcp

                :iptabls

                :firewall-cmd

          

                  温馨提示:测试时千万要注意时间同步问题,否则会出现让你想不到的错误

            ntpdate 172.16.0.1(可用计划任务自动同步时间,可是其他时间服务器地址)


三、配置文件格式:

  

  1、全局(主)配置文件:/etc/named.conf

                        全局配置段:

options {………}

日志配置段:

logging {………}

区域配置段:

zone  {………}


    2、域数据库文件:(资源记录或解析库文件Resource Record,简称rr:

        记录类型:A,AAA,PTR,SOA,NS,CNAME,MX

               SOA:Start of Authority,起始授权记录;一个区域解析库有且只能有一个SOA记录,而且必须放在第一条。

                NS:Name Service,域名服务记录;一个区域解析库可以有多个NS记录;其中一个为主的;         A:Address,地址记录,从FQDN解析为IP地址的记录(IPv4)。

                AAAA:地址记录,从FQDN解析为IP地址的记录(IPv4)一个主机可以有多个IP(实现轮巡服务),一个IP也可以有多个IP。

                CNAME:Canonical  Name,别名记录。

                PTR:Pointer,从IP解析到FQDN。

                MX:Mail exchanger,邮件交换器(标记邮件服务器的)可有多个,但有优先级的概念

优先级:0-99,数字越小优先级越高:

                 例如(SOA):aaa.com.             86400      IN         SOA       aaa.com.       admin.aaa.com.  (                                                                             2017010801 serial   序列号

                                                                              2H                ;refresh  刷新时间

                                                                              10M             ;retry    重试时间

                                                                              10W            ;expire  过期时长

                                                                              1D             ;negative answer ttl    答案缓存时长

                          )


    3、配置解析一个正向区域:

                  以aaa.com域为例:

           (1)、定义区域

                  在主配置文件中或主配置文件辅助配置文件中实现

                        zone "ZONE_NAME"


           (2)、建立区域数据文件(主要记录为A或AAAA记录)

                  在/var/named目录下建立 区域数据文件;文件为:/var/named/aaa.com.zone    后面的文件名为自建的

                        权限及属组修改

                            chgrp  named /var/named/aaa.com.zone

                        检查语法错误:

                            named-checkzone ZONE_NAME ZONE_FILE

                            named-checkconf


           (3)、让服务器重载配置文件和区域数据文件

                   rndc  reload或者systemctl reload named.service


    4、配置解析一个反区域:

                示例:区域名称38.16.172.in-addr.arpa为例:

            (1)、定义区域

                主配置文件中或主配置文件辅助配置文件中实现

                        zone "ZONE_NAME"

                注意:反向区域的名字

                          反写的网段地址:.in-addr.arpa

                                                                      38.16.172.in-addr.arpa

            (2)、建立区域数据文件

                在/var/named目录下建立 区域数据文件;文件为:/var/named/38.16.172.zone 后面的文件名为自建的                    权限及属组修改

                            chgrp  named /var/named/38.16.172.zone

                            chmod o=   /var/named/38.16.172.zone

                        检查语法错误:

                            named-checkzone ZONE_NAME ZONE_FILE

                            named-checkconf

            (3)、让服务器重载配置文件和区域数据文件

                            rndc  reload或者systemctl reload named.service




上面啰嗦了半天,大家累了,来看点轻松愉快的。。。。。。。。。。。。。。。。。 


四、架设DNS服务器实战


   安装说明及服务器之间关系:

主DNS服务器-----CentOS 7.1

 域解析   ns :

_IP:172.16.38.100

 本地区域:aaa.com

          机:www

从DNS服务器----CentOS 6.7

域解析     ns1

_IP:172.168.38.200

本地区域:aaa.com

子域DNS服务器---CentOS 6.7

域解析     ns2

本地区域:gayj.aaa.com

          机:www

全局转发:直接在子域主配置中设置转发

 

架设安装正式开始。。。。。。

 

(一)、主DNS服务器

系统CentOS 7.1、 域解析ns :  IP:172.16.38.100   本地区域:aaa.com         机:www

1、先检测是否已经安装:

   技术分享

2、开始安装

技术分享

3、设置开机启动及开放端口和添加防火墙

设置开机启动

技术分享

添加防火墙端口   53/tcp/udp 同样方法添加953

技术分享

技术分享

查看防火墙配置结果

技术分享

4、查看服务运行状况

技术分享

5、区域配置文件:/etc/named.conf

options 全局配置字段修改如下-------172.16.38.10053号端口作为主DNS监听端口

技术分享

注:下面allow-query是注释了的,不然只能本地解析

zone区域配置段新添加两段-------主DNS正向区域和反向区域

技术分享

测试配置文件有没有语法错误------没返回值就说明正常

技术分享

 

6、创建并配置区域数据文件:

 /var/named/aaa.com.zone

正向区域数据文件------注意后面三段:ns为主服务器自身配置,ns1为从服务配置,ns2为子域授权

技术分享

对文件进行语法检查

技术分享

 /var/named/aaa.com.zone

反向区域数据文件------注意后面三段:ns为主服务器自身配置,ns1为从服务配置

技术分享

对文件进行语法检查

技术分享

7、更改/var/named/172.16.38.zone和/var/named/aaa.com.zone的属组为named

技术分享

8、重载配置文件和服务

技术分享

9、解析测试

正向测试:

技术分享

如果测试主DNS自己主机出现下面状况,请用rndc flush清除DNS缓存

技术分享

清除DNS缓存

技术分享

重新解析主DNS主机

技术分享

正向解析ftp.aaa.com

技术分享

反向解析测试

主DNS自身反向解析(主要针对内部区域使用)

技术分享

 

(二)、从DNS服务器

系统CentOS 6.7  域解析ns1 :   IP:172.16.38.200   本地区域:aaa.com          机:www

1、先检测是否已经安装:

   技术分享

2、开始安装

技术分享

3、设置开机启动及防火墙

技术分享

chkconfig --list  named

技术分享

添加防火墙

技术分享

技术分享

保存防火墙规则

技术分享

查看防火墙状态

技术分享

4、查看DNS服务状态

技术分享

5、区域配置文件:/etc/named.conf(从服务一般只配置这个文件)

options 全局配置字段修改如下-------172.16.38.20053号端口作为从DNS监听端口

技术分享

zone区域配置段新添加两段-------从DNS正向区域和反向区域

技术分享

测试配置文件有没有语法错误------没返回值就说明正常

技术分享

 

6、重载区域配置文件和服务

技术分享

7、解析测试

正向解析主DNS上的主机到IP

技术分享

反向解析主DNS上的IP到主DNS的主机

技术分享

正向解析互联网上的主机到IP

技术分享

 

(三)、子域授权

系统CentOS 6.7  域解析ns2 :   IP:172.16.38.8   本地区域:gayj.aaa.com          机:www

1、先检测是否已经安装:

   技术分享

2、开始安装

技术分享

3、设置开机启动及防火墙

技术分享

chkconfig --list  named

技术分享

添加防火墙

技术分享

技术分享

保存防火墙规则

技术分享

查看防火墙状态

技术分享

4、查看DNS服务状态

技术分享

5、区域配置文件:/etc/named.conf(从服务一般只配置这个文件)

options 全局配置字段修改如下-------172.16.38.853号端口作为从DNS监听端口

技术分享

zone区域配置段新添加一段-------子域DNS正向区域

技术分享

测试配置文件有没有语法错误------没返回值就说明正常

技术分享

6、配置子域的区域数据文件:/var/named/gayj.aaa.com.zone

技术分享

检查语法错误

技术分享

7、重载区域配置文件和服务

技术分享

8、解析测试

利用自已DNS正向解析自己DNS上的主机到IP   技术分享

利用主DNS正向解析解析到自己区域名主机

技术分享

利用从DNS正向解析到自己区域名主机

技术分享

正向解析互联网上的主机到IP

技术分享

 

(四)、全局定向转发

直接在子域中实施,因为子域不能解析主DNS的主机区域到IP

技术分享

1、在子域全局文件配置就行(注意CentOS7与CentOS配置方法区别在于{}和;)下图为CentOS6

技术分享

2、测试语法错误

技术分享

3、重载全局配置文件

技术分享

4、用子域解析主DNS的主机区域

技术分享

 

 东西太多,如有点小错请指正。

本文出自 “搭$积木” 博客,请务必保留此出处http://liguoqing.blog.51cto.com/327222/1733585

架设DNS服务器 实战指南(主、从、子、定向转发多图)

标签:dns   应用程序   网络服务         

原文地址:http://liguoqing.blog.51cto.com/327222/1733585

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!