Linux-dns基础知识和BIND的简单配置-1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux-dns基础知识和BIND的简单配置-1相关的知识,希望对你有一定的参考价值。

1.什么是DNS
DNS:(Domain Name Service)域名服务,是一种组织成层次结构的计算机和网络服务命名系统,用于实现名称解析(hostname<-->IP)。其中通过计算机名解析出ip地址的叫做正向解析,通过ip地址解析出计算机名的叫做反向解析。
DNS采用C/S架构,服务监听在主机的TCP/UDP的53号端口。传输层协议UDP用于域名解析;TCP用于区域传送
本地名称解析文件:hosts(主机有限时候可用)
/etc/hosts
%WINDOWS%/system32/drivers/etc/hosts

2.dns架构

一个典型的DNS服务包含4个部分,如下图所示:
技术分享图片
1、DNS域名称空间:它指定用于组织名称的域的层次结构
2、资源记录(RR):它将DNS域名映射到特定类型的资源信息,以供在名称空间中注册或解析名称时使用。在Linux系统中,通常“名称解析库(文本文件,位于/var/named/)”中的每一行称作一个资源记录。
3、DNS服务器:它存储和应答资源记录的名称查询
4、DNS客户端(解析程序):它查询从服务器来的搜索及将名称解析为查询中指定的资源记录类型。

技术分享图片
根域:root domain,整个名称空间,由一个“.”表示。全球有13组DNS根服务器
一级域(顶级域):top-level domain
组织域:.com, .org, .net, .mil, .edu, .gov
国家域:.cn, .us, .uk, .jp, .tw, .hk, .iq, .ir
反向域:.in-addr.arpa
二级域:公司、组织、个人使用;如.sohu,.amazon
主机:如www,mail,主机名是我们自己定义的

    用户主机要访问地址为www.XXX.com的主机6,解析步骤:

技术分享图片

1、DNS域1、用户的解析请求发给了A(这正是用户主机配置的网络属性中的DNS指向);
2、A当然还不知道www.XXX.com对应的IP,于是向根发请求;根看到名称最后是com,于是返回A的是com对应的服务器的IP;
3、A根据IP找到一级域com的服务器;com看到域名是XXX,于是根据记录,返回A的是服务器B的IP;
4、A根据IP找到服务器B;服务器B看到要访问的是主机www,于是根据记录,返回A的是主机www的IP;
5、A返回给用户主机www.XXX.com的地址;
6、用户主机访问www.XXX.com名称空间:它指定用于组织名称的域的层次结构
2、资源记录(RR):它将DNS域名映射到特定类型的资源信息,以供在名称空间中注册或解析名称时使用。在Linux系统中,通常“名称解析库(文本文件,位于/var/named/)”中的每一行称作一个资源记录。
3、DNS服务器:它存储和应答资源记录的名称查询
4、DNS客户端(解析程序):它查询从服务器来的搜索及将名称解析为查询中指定的资源记录类型。

(1)递归查询:客户端得到结果要么成功,要么失败。(本地客户端和DNS服务直接交互,被请求的DNS服务器必须给出最终答案)
技术分享图片

(2)迭代查询:服务器以相关参考性应答返回本地DNS。(DNS服务与DNS服务交互,得到的是参考答案)
技术分享图片
(3)根提示功能
技术分享图片
一般情况下,DNS服务器之间的查询方式都是迭代查询。如上图所示,如果要查询www.microsoft.com(microsoft.com域不是本地DNS负责的区域),那么本地DNS就需要向外迭代查询(迭代查询从根域开始,如此,本地DNS就必须知道根域的IP地址)。根提示的功能可以让本地DNS服务器查询根域DNS服务器。
3.dns解析
正向解析:FQDN --> IP,一个名称可以对应多个ip
反向解析:IP --> FQDN,一个ip也可对应多个名称
正向解析和反向解析分别使用一个解析库
在Linux系统中,DNS的名称解析库通常是一个文本文件(只能包含资源记录和宏定义),通常保存在/var/named/目录下。其中文本文件的每一行称作一个资源记录。
每一个名称解析库称作”区域(zone)“
说明:区域(zone)与域之间的差异
区域zone是一个物理概念,一个区域就是一个DNS解析库
域是一个逻辑概念,一个域对应一个DNS域名称空间
正向解析与反向解析采用的是不同的解析库,一个配置了正向解析库和反向解析库的DNS意味着其包含了两个区域(正向zone和反向zone)

4.dns服务器类型
主DNS服务器
从DNS服务器
缓存服务器:不解析任何区域,但允许递归
主从DNS服务器解析库文件同步的过程:区域传送 (单方向传送),基于53/tcp
完全区域传送:axfr
增量区域传送: ixfr
周期性检查 + 通知
技术分享图片

5.区域解析库
资源记录:rr(resource record)
㈠资源记录类型:表示此记录解析的属性
SOA:Start Of Authority, 起始授权记录,一个区域文件只能有一个;
NS:Name Server
MX:Mail eXchange, 邮件交换器,MX记录有优先级属性(0-99);
A:FQDN --> IP,专用于正向解析库
PTR:IP --> FQDN,专用于反向解析库
AAAA:FQDN --> IPv6,专用于正向解析库
CNAME:Canonical Name,正式名称
FQDN: 完全合格域名(full qualified name)
㈡资源记录格式:
name [ttl] IN RRType value #ttl为DNS缓存时长

①SOA:Start Of Authority,任何解析文件的第一个记录的类型必须是SOA且一个区域文件只能有一个
        name: 区域名称,通常可以简写为@
        value: 主DNS服务器的FQDN,也可以当前区域的区域名称;
      例如:@   IN   SOA   ns.magedu.com.   admin.magedu.com.(邮箱)  (
               serial number   #解析库的版本号,例如2014080401;若有配置主从,每次修改解析文件,要更新版本号,以便从服务器同步
               refresh time   #主从服务器周期性同步的时间间隔
               retry time   #主服务器未响应从服务器,从服务器的重试时间间隔
               expire time    #主服务器一直无响应,从服务器解析库的失效时长
               negative answer ttl  #否定答案(无结果)的统一缓存时长
          )
      说明:@表示当前当前定义的区域,按上面的例子,完整地应写为magedu.com.
           因@在解析库中有特殊意义,故邮箱地址中不能使用,而用.代替,如上面的admin.magedu.com.
 ②NS:name server
       name: 区域名称
       value: DNS服务器的FQDN
     例如:@   IN   NS   ns.magedu.com.
     注意:
        如果有多台NS服务器,每一个都必须有对应的NS记录;
        对于正向解析文件来讲,每一个NS的FQDN都应该有一个A记录;

 ③MX:Mail eXchanger
       name: 区域名称
       value: 邮件服务器的FQDN
     例如:
        @   IN   MX  10   mail.magedu.com.
        @   IN   MX  20   mail2.magedu.com.
     注意:
        如果有多台MX服务器,每一个都必须有对应的MX记录;但各MX记录还有优先级属性(0-99)
 ④A:Address
       name: FQDN
       value: IP
     例如:
        www.magedu.com.   IN   A   1.1.1.1
        www.magedu.com.   IN   A   1.1.1.2

        pop3.magedu.com.  IN   A   1.1.1.3
        imap.magedu.com.   IN   A   1.1.1.3
     泛域名解析:将所有匹配不到资源记录的请求都解析到指定ip地址
        *.magedu.com.   IN   A    1.1.1.1
        用途:
           ⑴可以让域名支持无限的子域名;
           ⑵防止用户错误输入导致的网站不能访问的问题;例如 wwww.magedu.com

 ⑤AAAA:ipv6 IP

 ⑥CNAME:Canonical Name
         name: FQDN
         value: FQDN
       例如:
          www.magedu.com.  IN   A     1.1.1.5
          web.magedu.com.  IN   CNAME  www.magedu.com.  #前者是后者的别名

 ⑦PTR:pointer,反向解析
        name: 逆向的IP地址加后缀.in-addr.arpa.,例如172.16.100.7,其name为7.100.16.172.in-addr.arpa.
        value: FQDN
      例如:
         7.100.16.172.in-addr.arpa.  IN   PTR  www.magedu.com.

以上是关于Linux-dns基础知识和BIND的简单配置-1的主要内容,如果未能解决你的问题,请参考以下文章

Linux-dns基础知识和BIND的简单配置-3(主从DNS服务器及转发)

linux-DNS域名正向解析服务程序BIND安装与配置

Linux-DNS服务器的配置(bind)

Linux-DNS服务器:BIND区域传送

Linux-DNS服务器:DNS介绍及BIND安装

linux-dns-11