首页 > Server > 架设DNS服务器 实战指南(主、从、子、定向转发多图)
2016
03-08

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

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

1、DNS出现的环境:

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

    2、什么是DNS:

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第1张  | 运维手册

 3、DNS域命名空间简介:

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

 

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第2张  | 运维手册

(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、先检测是否已经安装:

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第3张  | 运维手册

2、开始安装

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第4张  | 运维手册

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

设置开机启动

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第5张  | 运维手册

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第6张  | 运维手册

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第7张  | 运维手册

查看防火墙配置结果

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第8张  | 运维手册

4、查看服务运行状况

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第9张  | 运维手册

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

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第10张  | 运维手册

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

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第11张  | 运维手册

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第12张  | 运维手册

 

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

 /var/named/aaa.com.zone

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第13张  | 运维手册

对文件进行语法检查

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第14张  | 运维手册

 /var/named/aaa.com.zone

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第15张  | 运维手册

对文件进行语法检查

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第16张  | 运维手册

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第17张  | 运维手册

8、重载配置文件和服务

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第18张  | 运维手册

9、解析测试

正向测试:

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第19张  | 运维手册

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第20张  | 运维手册

清除DNS缓存

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第21张  | 运维手册

重新解析主DNS主机

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第22张  | 运维手册

正向解析ftp.aaa.com

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第23张  | 运维手册

反向解析测试

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第24张  | 运维手册

 

(二)、从DNS服务器

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

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第25张  | 运维手册

2、开始安装

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第26张  | 运维手册

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第27张  | 运维手册

chkconfig –list  named

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第28张  | 运维手册

添加防火墙

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第29张  | 运维手册

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第30张  | 运维手册

保存防火墙规则

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第31张  | 运维手册

查看防火墙状态

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第32张  | 运维手册

4、查看DNS服务状态

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第33张  | 运维手册

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

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第34张  | 运维手册

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第35张  | 运维手册

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第36张  | 运维手册

 

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第37张  | 运维手册

7、解析测试

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第38张  | 运维手册

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第39张  | 运维手册

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第40张  | 运维手册

 

(三)、子域授权

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

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第41张  | 运维手册

2、开始安装

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第42张  | 运维手册

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第43张  | 运维手册

chkconfig –list  named

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第44张  | 运维手册

添加防火墙

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第45张  | 运维手册

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第46张  | 运维手册

保存防火墙规则

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第47张  | 运维手册

查看防火墙状态

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第48张  | 运维手册

4、查看DNS服务状态

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第49张  | 运维手册

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

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第50张  | 运维手册

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第51张  | 运维手册

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第52张  | 运维手册

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第53张  | 运维手册

检查语法错误

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第54张  | 运维手册

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第55张  | 运维手册

8、解析测试

利用自已DNS正向解析自己DNS上的主机到IP   架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第56张  | 运维手册

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第57张  | 运维手册

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第58张  | 运维手册

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第59张  | 运维手册

 

(四)、全局定向转发

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第60张  | 运维手册

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第61张  | 运维手册

2、测试语法错误

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第62张  | 运维手册

3、重载全局配置文件

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第63张  | 运维手册

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

架设DNS服务器 实战指南(主、从、子、定向转发多图) - 第64张  | 运维手册

 

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

最后编辑:
作者:李国庆
这个作者貌似有点懒,什么都没有留下。
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!

留下一个回复

你的email不会被公开。