DNS相关概念

DNS: Domain Name Service

1、域名和主机名:

        主机名形如www.baidu.com.(又称FQDN,完全限定域名)

        域名是包含N个主机名的范围,如baidu.com域


2、域名解析或域名转换

          FQDN<—>IP,背后有查询数据库的过程;

          FQDN和IP之间的对应关系为m:n;


3、发展过程

最初通过文件存储映射关系 —> 集中式数据库存储映射关系 —> 目前的分布式数据库存储映射关系


4、DNS的分布式数据存储结构

    ####上级域只知道其直接下级域,而下级域仅仅通过配置文件知道根域####

    根域

        授权给NS管理各个直接下级域,并记录着各直接下级域的NS服务器的ip供客户查找

    顶级域

        组织域:.com, .org, .net,etc

        国家域:.cn, .jp,etc

        反向域:IP—>FQDN(使用的是不同于FQDN—>IP的另一个数据库)

    二级域

        常见的如baidu.com,ibm.com,etc


4、主机名解析

    1>递归查找:请求者只需要发起一次请求即可得到答案,###根域忽略递归查找请求###

    2>迭代查找:请求者需要发起多次请求才能得到答案

    一般采用组合的方式工作:前半段客户机向ns发起递归查找,后半段ns对所请求的主机名进行迭代查找,得到结果后返回给客户机并缓存以供域内其他客户机请求;


5、名字服务器NS

    1>主要功能:

        @缓存域内主机对外部主机的名字查找结果(递归的方式工作),因此从一定程度上过滤了本地的DNS流量,减小本地带宽消耗并且减小了根域主机和顶级域主机的负载;

        @响应本域外主机名字解析请求,一般是请求权威答案,如果查找成功返回权威应答并设置缓存时长TTL,如果查找失败直接回复名字差错(rcode标志位设置为3)并设置缓存时长TTL;如果请求非权威答案ns可以拒绝递归;

    2>本地主机请求解析外部主机得到的答案一般是通过缓存得到的,又称非权威应答,有可能会过期从而导致解析结果错误,所以需要由权威域名解析服务器定义缓存时间,缓存时间越长权威域名解析服务器越空闲,但是主机名更新周期会更长;

    3>域内主机向区域NS查找区域内的其他主机得到的一般都是权威应答,因为该NS服务器一般为本域的授权服务器,其答案具有权威性;


6、DNS服务器类型

###主从DNS服务器没有优先级的区别###

    1>主DNS服务器:数据修改在此进行

    2>辅助DNS服务器:定期请求数据同步,如果长时间得不到应答,则辅助DNS服务器也放弃

常用的配置参数 

serial number(标示内容修改)、

refresh(同步时间间隔)、 

retry(如果同步失败下次重试时间)、

expire(主服务器宕机)、

nagative answer TTL(否定答案缓存时间)


    3>缓存DNS服务器:只提供缓存,不接受任何权威答案请求

    4>转发器:只对DNS进行转发不缓存


7、DNS数据库内容

数据库中的每一个条目称为一个资源记录(RR)


资源记录的格式:NAME + [TTL(缓存时间) ]  IN(internet)    RRT(资源记录类型)   VALUE

TTL 10;  //定义了全局TTL之后RR中可以省略TTL字段

www.baidu.com. IN   A          1.1.1.1

1.1.1.1                IN   PTR      www.baidu.com.



资源记录类型:标示主机在域内扮演的角色

A(Address) : FQDN—>IPv4

AAAA: FQDN—>IPv6

PTR: IP—>FQDN


特殊的资源类型:

SOA(Start Of Authority):必须为第一个记录,用于标示一个区域内部主从DNS如何同步以及起始授权对象,格式如下:

ZONE NAME   TTL    IN     SOA      FQDN   ADMINISTRATOR_MAILBOX(

serial  number  ;注释信息

refresh

retry

expire

na  ttl)

baidu.com.   600    IN   SOA   ns1.baidu.com admin.baidu.com 1 1H 5M 1W 1D


说明:

    I、时间单位:M(inute)  H(our)  D(ay)  W(eek) S(econd)[default];

    II、数据库文件中@用来表示区域名称

    III、mailbox中不能含有@符号:admin@baidu.com —>admin.baidu.com 



NS(Name Server): ZONE NAME —> FQDN of NS

baidu.com.        IN     NS ns1.baidu.com.

baidu.com.        IN     NS ns2.baidu.com.

ns1.baidu.com.    IN     A       1.1.1.2          //一般用不到此记录,因为上级域已经指定了NS

ns2.baidu.com.    IN     A        1.1.1.5


MX(Mail eXchanger): ZONE NAME —> FQDN of MAIL

格式如下:

ZONE NAME   TTL   IN    MX   PRI    VALUE

baidu.com.       600   IN    MX   10     mail.baidu.com.

mail.baidu.com. 600  IN    A    1.1.1.3

####其中PRI为0-99,数字越小级别越高####


CNAME: FQDN—>FQDN

www2.baidu.com    IN   CNAME  www.baidu.com

www2的正式名称为www,www2称为www的别名;   


8、域Domain和区域Zone

域是一个逻辑概念,区域是一个物理概念,其中域包含正向区域和逆向区域

如规划baidu.com.域, 其中

ip为1.1.1.0/24

www   1.1.1.2

mail    1.1.1.3  MX


首先在获取.com授权

    baidu.com.        IN     NS    ns.baidu.com

    ns.baidu.com    IN      A       1.1.1.1


然后建立两个区域文件:

正向区域文件

baidu.com.         IN      SOA

www(.baidu.com.)    IN      A         1.1.1.2   //简写会自动补区域名

mail                          IN      MX      //只定义在正向区域 

反向区域文件

1.1.1.in-addr.arpa.        IN      SOA

1(.1.1.1.in-addr.arpa.)   IN   PTR   www.baidu.com.


区域类型

主区域:master

从区域:slave

提示区域:hint,指明根域地址

转发区域:forward,跳过根域直接转到指定的域,值为{only | first}

zone “baidu.com” IN {

    type forward;

    forward  first;

    forwarders  { 转发目的ip;};

};


9、区域传送:

完全区域传送axfr,传送整个区域文件

增量区域传送ixfr,只传送新增记录


10、配置文件

    /etc/rc.d/init.d/named,named进程启动控制脚本;

    /etc/named.conf,主要包含bind进程的工作属性的定义和区域的定义;

    /etc/rndc.key,remote name domain controller密钥文件;

    /etc/rndc.conf,远程控制相关配置;

    /var/named/*,区域数据文件;

   

11、区域定义:

    zone  “ZONE NAME” IN {

        type { master | slave | hint | forward };

    };

主区域

file  “区域数据文件”

从区域

file “区域数据文件”

masters { master1_ip; master2_ip; };


DNS查询常用客户端程序:

dig -t RT name [@ip]

如查询test.com域的名字服务器:dig -t NS test.com


dig -x ip 

如查询1.1.1.1对应的主机名:dig -x 1.1.1.1


host -t RT name  //与1类似,只是不能指定ip


nslookup:交互式

    nslookup> server ip

    nslookup> set q=RT

    nslookup> NAME



子域定义:

SUB_ZONE_NAME IN NSNSSERVER_SUB_ZONE_NAME

NSSERVER_SUB_ZONE_NAME IN A IP


.com上授权子域baidu.com

baidu.com.IN NS ns1.baidu.com. //主DNS服务器

ns2.baidu.com. //辅DNS服务器

ns1.baidu.com.IN A 1.1.1.1

ns2.baidu.com.1.1.1.2


baidu.com上授权子域d1.baidu.comd2.baidu.com

d1.baidu.com.IN NS ns1.d1.baidu.com.

d1.baidu.com.IN NS ns2.d1.baidu.com.

ns1.d1.baidu.com.IN A 2.2.2.2

ns2.d1.baidu.com.IN A 2.2.2.3



d2.baidu.com.IN NS ns1.d2.baidu.com.

d2.baidu.com.IN NS ns2.d2.baidu.com.

ns1.d2.baidu.com.IN A 3.3.3.3

ns2.d2.baidu.com.IN A 3.3.3.4


12、acl,访问控制列表

定义格式: 

ack ACL_NAME {

    ip;

    …

};


###内置acl包含none和any###


13、CDN,Content Delivery Network内容分发网络

智能DNS(view视图)

缓存服务器


view VIEW_NAME{

//每个视图对应一个区域数据文件;

//一旦定义了视图,所有的区域都必须定义在视图中

};


###################################################

之前遇到一个奇怪的问题,本机建了dns服务器,但是dig @127.0.0.1的时候返回拒绝(dns query refused),

换个本机其它的ip都行,一开始以为是没有监听或者不允许127.0.0.1查询,查看了几遍配置文件发现原来127.0.0.1

不属于任何一个VIEW,最后加上localhost View之后就正常了,所以一定要确认所有的client都有对应的view。

###################################################


acl telecom {

1.1.1.1;

};


acl unicom {

2.2.2.2;

};


view  telecom {

    match-clients { telecom; };

    zone “baidu.com” IN {

        type master;

        file “telecom.baidu.com.zone”;

    };

};


view unicom {

    match-clients{ any; };

    zone “baidu.com” IN {

        type master;

        file “unicom.baidu.com.zone”;

    };

};


14、日志记录

query-log yes;


logging {

    channel my_file {

        file “log_msg” versions 3 size 10k;

        severity dynamic;

    };


    category  xfer-in { my_file; };

};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值