DNS系列- 1.dns基本概念介绍



    目录

        前言

        一、概述

            1、名词解释

            2、DNS域名结构

        二、DNS域名解析

            1、查询类型

            2、解析类型

            3、DNS服务器的类型

            4、区域传输

            5、解析过程

            6、解析答案

        三、资源记录

            1、区域解析库

            2、资源记录定义的格式

            3、记录类型

                1)SOA记录

                2)NS记录

                3)A记录

                4)MX记录

                5)其他记录

                6)别名记录

        四、配置文件

            1、配置域名解析区域

            2、配置区域解析文件

            3、反向解析配置文件


    前言

        DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。 域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。

一、概述

        DNS是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,它是由域名解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,一个IP地址可以有多个域名,而IP地址不一定有域名。域名系统采用类似目录树的等级结构。域名服务器通常为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。将域名映射为IP地址的过程就称为“域名解析”。

    1、名词解释

        域名:域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。

域名解析:域名解析是指将域名解析为ip地址的过程。

        FQDN:完整主机名

    2、DNS域名结构

        DNS域名

根域

一级域名:Top level Domain: Tld

com 、edu 、 mil 、gov、 org 、 top 等

        三类:组织域、国家域(cn 、 tw、 hk)、反向域。

二级域名:

三级域名

最多127级域名

ICANN( The Internet Corporation for Assigned Names and Numbers)互联网名称与数字地址分配机构,负责在全球范围内对互联网通用*域名( gTLD)以及国家和地区*域名( ccTLD)系统的管理、以及根服务器系统的管理。

 DNS系列- 1.dns基本概念介绍

    二、DNS域名解析

    1、查询类型

        1)递归查询:

        递归查询是将查询的封包发送出去问,就等待正确名称的正确响应,这种方式之处理响应回来的封包是否正确响应或是说是找不到该

名称的错误信息。

         2)迭代查询:

迭代式(Iterative):DNS Server间的查询模式,由Client端或是DNS Server上所发出去问,这种方式送封包出去问,所响应回来的资料不一定是最后正确的名称位置,但也不是如上所说的响应回来是错误讯息,他响应回来的是部分信息,告诉你所查询域名中的下一级域的域名服务器的地址信息,然后再到此域名服务器上去查询所要解析的名称,反复动作直到找到最终信息。

图示:

 DNS系列- 1.dns基本概念介绍

    2、解析类型

正向解析:FQDN-->IP     FQDN (完整合格主机名称) 域名

        反向解析: IP --> FQDN

        注意:正向反向解析式两个不同的名称空间,是两棵不同的解析树。

    3、DNS服务器的类型:

            主DNS服务器

            从DNS服务器

            缓存DNS服务器(转发器)

  主DNS服务器:管理和维护所负责解析的域内解析库的服务器

  从DNS服务器:从主服务器或从服务器“复制”(区域传输)解析库副本

        ***:解析库版本号,主服务器解析库变化时,其序列递增

        刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔

        重试时间间隔:从服务器请求同步失败时,再次尝试时间间隔

        过期时长:从服务器联系不到主服务器时,多久后停止服务

    “通知”机制:主服务器解析库发生变化时,会主动通知从服务器

    4、区域传输

完全传输:传送整个解析库

        增量传输:传递解析库变化的那部分内容

Domain: Fully Qualified Domain Name

        正向: FQDN --> IP

        反向: IP --> FQDN

  负责本地域名的正向和反向解析库:

            正向区域

            反向区域

5、解析过程

    一次完整的查询请求经过的流程:

        Client -->hosts文件 -->DNS Service Local Cache --> DNS Server (recursion) --> Server Cache -->iteration(迭代) --> 根-->

*域名DNS-->二级域名DNS…

    6、解析答案:

        肯定答案:

        否定答案:请求的条目不存在等原因导致无法返回结果

        权威答案:

        非权威答案:

    三、资源记录

        1、区域解析库:

            由众多RR组成:

            资源记录: Resource Record, RR

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

        2、资源记录定义的格式

    语法:name [TTL] IN   rr_type  value

     注意:

    1) TTL可以从全局继承

    2) @可用于引用当前区域名称

    3) 同一个名字可以通过多条记录定义多个不同的值;此时DNS服务区会以轮询的方式响应。

    4) 同一个值也可能有多个不同的定义的名字;通过多个不同的名字指向同一个值进行定义;此仅表示通过多个不同的名字。

    3、记录类型

        1)SOA记录

            SOA: Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解析库的第一条记录。

            name : 当前区域的名称,例如“mage.com”

            value: 有多部分组成

        当然区域的主DNS服务器的FQDN,也可以使用当前区域的名字;

        当前区域管理员的邮箱地址;但地址不能使用@符号,一般用 ”.” 替换,例如:[email protected] 只能写为 admin.mage.com

        主从服务器区域传输相关定义以及否定的答案的统一TTL

        例如:

    mage.com. 86400 IN SOA ns1.mage.com. admin.mage.com. (
                20161208;***(随意指定不能超过10位)
                2H;刷新时间  2小时
                10M;重试时间  10分钟
                1W;过期时间1周
                1D;否定答案的TTL值
     )



    2)NS记录

NS: Name Server,专用于标明当前区域的DNS服务器

name: 当前区域的名字

        value: 当前区域的某DNS服务器的名字,例如ns.magedu.com.

                 注意:一个区域可以有多个NS记录;

            例如:

                    magedu.com. IN NS ns1.magedu.com.

                    magedu.com. IN NS ns2.magedu.com.

         注意:

    (1) 相邻的两个资源记录的name相同时,后续的可省略

    (2) 对NS记录而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录

    

    3)A记录

          A: internet Address,作用, FQDN --> IP

name: 某主机的FQDN,例如www.magedu.com.

         value: 主机名对应主机的IP地址;

          例如:

    www.magedu.com. IN A 1.1.1.1

    www.magedu.com. IN A 2.2.2.2

    mx1.magedu.com. IN A 3.3.3.3

    mx2.magedu.com. IN A 4.4.4.4

    $GENERATE 1-254 HOST$ A 1.2.3.$

    *.magedu.com. IN A 5.5.5.5

    magedu.com. IN A 6.6.6.6

         避免用户写错名称时给错误答案,可通过泛域名解析进行解析至某特定地址

    4)MX记录

MX: Mail eXchanger,邮件交换器

name: 当前区域的名字

  value: 当前区域的某邮件服务器(smtp服务器)的主机名

  一个区域内, MX记录可有多个;但每个记录的value之前应该有一个数字(0-99),表示此服务器的优先级;数字越小优先级越高。

           例如:

                magedu.com. IN  MX  10  mx1.magedu.com.

                IN  MX  20  mx2.magedu.com.

    注意:

                 (1) 对MX记录而言,任何一个MX记录后面的服务器名字,都应该在后续有一个A记录


    5)其他记录

AAAA:

    name: FQDN

    value: IPv6

    PTR:

                name: IP,有特定格式,把IP地址反过来写, 1.2.3.4,要写作4.3.2.1;而有特定后缀: in-addr.arpa.,所以完整写法为: 

    4.3.2.1.in-addr.arpa.

                value: FQDN

例如:

            4.3.2.1.in-addr.arpa. IN PTR www.magedu.com.

            如1.2.3为网络地址,可简写成 4 IN PTR www.magedu.com.

   注意:网络地址及后缀可省略;主机地址依然需要反着写

     AAAA: FQDN --> IPv6

     PTR: PoinTeR, IP --> FQDN

    6)别名记录

            NAME: Canonical Name,别名记录

            name: 别名的FQDN

            value: 真正名字的FQDN

        例如:

            www.magedu.com. IN CNAME websrv.magedu.com.


四、配置文件

    1、配置域名解析区域

/etc/named.conf   #配置域名解析区域
//  #在配置文件中使用// 和 /* */ 进行注释
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {#全局配置
        listen-on port 53 { 172.16.250.90; };   #端口设置及ip地址(默认为127.0.0.1)
//      listen-on-v6 port 53 { ::1; };   #ipv6地址  端口 
        directory    "/var/named"; 指定本文指定的文件的路径(存放DNS记录文件的目录)
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
//      allow-query     { any; };
        recursion yes;
        dnssec-enable no;
        dnssec-validation no;
        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";
        managed-keys-directory "/var/named/dynamic";
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "." IN {  #在这个文件中是用zone关键字来定义域区的,一个zone关键字定义一个域区
        type hint;
/*在这里type类型有三种,它们分别是master,slave和hint它们的含义分别是: 
master:表示定义的是主域名服务器 
slave :表示定义的是辅助域名服务器 
hint:表示是互联网中根域名服务器 
*/ 
        file "named.ca";  #用来指定具体存放DNS记录的文件 
};
zone "mage.com" {     #定义一个域名为mage.com的正向区域 
type master;  
     file "mage.com.zone";  
};
zone "16.172.in-addr.arpa" {  定义一个IP为172.16.0.0/16的反向域区
        type master;
        file "172.16.zone";
        allow-transfer {172.16.252.16;};
};
include "/etc/named.rfc1912.zones";
#include 把其他文件包含到配置文件中(这个可将上述配置的区域文件写入named.rfc1912.zones文件。)
include "/etc/named.root.key";



2、配置区域解析文件 

/vae/named/*.zone   #配置区域解析文件 
例:vim .mage.com.zone
$TTL 1D ((Time- To-Live 生存时间 域名记录的缓存时间)
@ IN SOA ns1.mage.com. admin.mage.com. ( 
        1115;版本号 (主从DNS更新,每次修改配置文件都应该修改这个数字加大,\
                                    否则其他从服务器不认为主DNS服务器已经更新)
        1D ;刷新时间  (指从服务器多久查询一个主服务器,以保证从服务器的数据是最新的)
        1H;重试时间 (指从服务器查询主服务器更新时连接失败规定对长时间后重试)
        1W;过期时间 (指向主服务器更新失败多长时间后停止服务)
        3H );否定答案的ttl值 (指从服务不能不能联系主服务器多久之后清楚相应的记录。)
@ NS ns1  #@代表当前区域域名  NS 这个主机是一个域名服务器
@ NS ns2
ops NS ns3.ops
ns3.ops A 172.16.252.18
ns1 A   172.16.252.16   #A 定义一条A记录,即主机名多IP地址的对应记录
ns2 A   172.16.252.17
webs A   172.16.252.19
www CNAME webs    #定义一个主机的别名
@ MX 10 mails#MX 定义邮件域名记录  10代表优先级
mails A  1.1.1.1
3、反向解析配置文件
Vim 172.16.zone
 $TTL 1D
@ IN SOA ns1.mage.com. admin.mage.com. ( 1111 1D 1H 1W 3H )
 IN NS ns1.mage.com.   #第一列已近省略
 IN NS ns2.mage.com.
16.252  IN PTR ns1.mage.com.   #第一列为主机ip(正式格式应该为 16.252.16.172.in-addr-arpa  对应ip地址 为 172.16.252.16)  PTR :表示反向记录  最后一列代表主机名
17.252  IN PTR ns2.mage.com.
18.252  IN PTR www.mage.com.
90.250  IN PTR www.mage.com.
100.250 IN PTR www.linuxinfo.top


详细的配置方法见下一章节。