dns资源记录类型等

接上篇,我们知道每个域需要指定主机来实现dns服务的功能,所以有类似以下字段:

baidu.com.       NS      ns.baidu.com.  (指定哪个主机实现管理域名服务器功能)

ns.baidu.com.    A        1.1.1.1    (这个主机在哪个位置)

实际上ns.baidu.com    A        1.1.1.1  这条记录在本机是可以不用指定的,因为真正授权是在上级指定的,也就是说以上两条记录应该在com这个域的域名数据库中指定,当然本机自身也要知道自己是谁,所以需要第一条记录,而既然本机可以成为ns服务器,说明本机的ip就是com指定的ip,所以第二条记录可以不要,之所以写上去是为了防止有人解析ns服务器的主机名A记录,此时我们需要返回结果。

dns是如此的重要,万一dns服务器挂掉,会造成很多域名无法解析。所以,为了防止一台单点故障导致dns服务无法使用,所以dns服务提供主从服务。当然dns也允许单机工作,根据它们功能的不通可以分为以下几种类型:

主域名服务器:主域名工作在主从模式下,在这个模式下dns可以在任意节点上解析,但是对dns的修改必须在主域名服务器上

从域名服务器:从服务器提供dns解析功能,它的数据来源于主域名服务器的拷贝,从服务器定时像主服务器请求更新数据文件。

缓存域名服务器(caching only server):如果一个dns服务器本身不管理任何域,但是它可以把它收到的信息存储下来,并提供给别人解析,那么这就是一个缓存dns服务器

转发服务器(forwarding server):如果一个dns服务器既不管理某个域也不解析任何dns,只为主机转发dns请求,那么这就是一个转发服务器。

DNS的主从工作原理:

dns主从服务器同时对外提供服务,所以要时刻保持数据的一致。为此,当主dns服务器数据库更新的时候从服务器必须到主服务器上cp数据到本地更新。但是从服务器怎么知道数据库改变了呢?它是这样子的:

主服务器和从服务器中都记录一个序列号(serial number),因为所有的更新必须在主dns服务器上操作,所以每次更新dns数据库的时候,主dns就在序列号上+1,这样子,当从服务器发来查看更新请求时,对比下序列号,就可以知道自己是否需要更新。

那么,从服务器什么时候来检查是否更新呢?

同样地,dns服务器记录一个刷新时间(refresh time),每隔这个时间从服务器来检查一次更新。然而更新过程中可能因为网络故障等问题无法联系上主dns服务器,这个时候,如果主dns刚好更新数据库,而我们又因为更新失败而等待下一次更新时间的话,那么dns缓存过期就会带来长时间的解析错误,这是我们不愿意看到的,所以dns服务器还定义了一个重试时间(retry time),定义当请求更新失败时,重新发起请求的时间间隔。所以一般这个时间比刷新时间小得多。但是,如果主dns服务器已经挂了,从服务器会一直请求更新失败,那么这个时候就需要一个标准来认定主dns挂了,这个就是过期时间(expire time),当超过这个时间,从服务器会认为主服务器挂掉,然后从服务器自己也停止提供服务(这个是听说的额,我自己一直以为从服务器会替代主服务器,下一篇实战测试下)

所以一个dns服务器的数据库会包含以下信息:

序列号(serial number)

刷新时间(refresh time)

重试时间(retry time)

超时时间(expire time)

否定回答超时时间(negative answer ttl)

事实上,它还需定义否定回答的超时时间,因为这个在资源记录中没有定义

资源记录(resource record RR):

我们把dns数据库中每一个条目称作一个资源记录(resource record RR)

我们知道,dns是用来做名称解析的,所以一个资源必须包含要解析的对象(name)和解析出来的结果(value)

我们还知道,以为缓存的关系,所以解析出来的结果需要一个过期时间,所以资源记录还需要ttl(time to live)值

有时我们需要把域名转化为ip,有时又相反,这是两种不同的过程,所以资源记录还需要类型(rrt resource record type)

所以一个资源记录格式大概如下:

NAME    [ttl]    IN    RRT    VALUE

N表示这是一个一个INTERNET的DNS资源记录,ttl加[]是因为,当所有的RR都有功能的TTL值的时候,我们可以把TTL值写在最上面,变成如下形式:

TTL 600;

NAME    IN    RRT    VALUE

那么资源记录有什么类型呢?常见的如下:

1.A记录和AAAA记录,即域名-->ip,格式如下:

ns.baidu.com. 600 IN   A        192.168.1.1

A是fqdn-->ipv4,AAAA是fqdn-->ipv6,一个A代表32位,对ipv6不太熟,这里不提供案例..

2.反向记录(PTR,pointer)即ip-->fqdn,格式如下:

1.1.168.192.in-addr.arpa.    600 IN PTR    ns.baidu.com.

反向记录的写法比较特殊,它的name是ip反过来写并且以in-addr.arpa结尾

3.ns记录,我们知道ns是用来指定哪个主机担任某个域的解析的,所以它是fqdn-->fqdn,并且还需要知道这个主机的地址,所以它一般包含一个ns记录和ns主机的A记录,格式如下:

baidu.com.        600     IN    NS    ns.baidu.com

ns.baidu.com.    600    IN    A    192.168.1.1

4.SOA(start of Authority)记录,既然我们掌管某个域,那么我们就应该拥有这个域的某些管理信息(域名,主从服务器之间的同步信息)所以这条记录是很重要的,必须放在区域文件第一条,它的格式如下:

ZONE_NAME    TTL    IN    SOA    FQDN    ADMIN_MAILBOX{

serial number

refresh time

retrytime

expiretime

negative answer ttl

}

zone_name表示区域名(注意不是域名),ttl表示这条记录的过期时间,fqdn表示第一个授权主机的名字(不重要),admin_mailbox表示管理员的邮箱,剩下的参数前面已经讲过了,需要补充说的是,里面的时间单位可以写成M、H的形式,因为@在区域文件中有特殊含义(代表区域名,在bind的配置文件中定义),所以邮箱格式中的@必须转化为.

时间单位:M(分钟)、H(小时)、D(天)、W(周)默认是秒

邮箱格式:[email protected]> 1.163.com

例子:

@    600    IN    SOA ns.baidu.com. 1.163.com.{

1

1H

2W

3D

600}

也可以这么写:

baidu.com.    600 IN SOA ns.baidu.com. 1.163.com 1 1H 2W 3D 600

5.mx记录:我们知道,我们发邮件一般发送地址都是[email protected]的形式,但是我们主机怎么知道xx是谁呢?它是哪台主机上的用户呢?所以dns服务器还必须提供mx记录,它告诉外界,哪台主机提供了邮件服务,哪台主机可以帮你找到用户,它的格式如下:

ZONE_NAME    TTL    IN MX PRI    VALUE

ri字段代表邮件服务器的优先级,值为0-99,数字越小优先级越高,这是因为可能提供多台邮件服务器的缘故

6.cname(canonical name)记录,也叫作别名记录,即一个域名的别名,fqdn-->fqdn的形式,例子:

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

区域和域的区别:(参考bind9手册,2.3章)

整个域可以划分为多个区域,就比如说baidu.com是一个域(domain),它可以包含为a.www.baid.com.和b.ftp.baidu.com.这些主机,但是却用www.baidu.com.和ftp.baidu.com.这两个区域(zone)文件,可以说它们两者并没有太严格的关系,两种不同的概念,区域可以视为dns数据库的名称,是一种物理实现,而域是逻辑上的概念

今天就到这了,关于dns服务器软件bind的实现,我们下篇再探讨

时间: 2024-10-17 12:57:30

dns资源记录类型等的相关文章

DNS资源记录类型和请求流程

DNS分布均衡(Load balance)的实现 在上级数据库中写两条记录(同一个名字对应对个IP时),DNS会自动将请求基于轮循方式,分给每个DNS服务器 例如: 第一次将请求给第一个DNS,第二次将请求给第二个DNS,... 依次循环 注:客户端连接第一个主机连接不上时,将请求都给第二个主机,linux还可以给第三个DNS服务器 第一个找不到时,不会再让第二个DNS.第三个DNS去找(因为根域都找不到) DNS分布式特点 基于授权将功能分散出去,让多个主机分别处理 数据放在多个位置,导致数据

DNS资源记录类型

DNS服务器在提供名称解析服务时,它会查询自己的数据库,在该数据库中包含DNS区域资源信息的资源记录(Resource Record,RR).在DNS区域资源信息中常见的资源记录有以下几种.1.SOA:起始授权记录(start of authority record)在一个区域必须是惟一的,定义了区域的全局参数,进行整个区域的管理设置.2.NS:名称服务器(Name Server)记录在一个区域至少有一条,记录了某个区域的授权服务器.3.A:地址(address)记录,把FQDN映射到IP地址.

Linux之DNS基本概念和资源记录类型

DNS:Domian Name Service    名称解析,Name Resolving (背后有查询过程,数据库)    FQDN<-->IP    172.16.0.1   www.magedu.com nsswitch:为名称解析机制提供平台,本身不提供名称解析的功能         /etc/nsswitch.conf 真正负责名称解析的有libnss_files.so                    libnss_dns.so /etc/hosts    IPADDR FQ

DNS资源记录的七类

在Microsoft产品系列中,ADDS是一个很出色的设计平台,说到AD,那么我们就不得不提起他的合作伙伴--DNS,相信大家都知道,DNS在AD中的重要地位,就如男人和女人一样,要想有所作为,他们2个就必须进行结合,缺少任何一方,这个社会也就失去了色彩! DNS分为正向查找区域和反向查找区域,然后在分为,主要,辅助,存根区域,在这些区域里,又存在着很多的记录,今天,就让我们来看看这些记录: DNS资源记录七大类:A记录,NS记录,SOA记录,MX记录,Cname记录,SRV记录,PTR记录.1

dns服务(二)——常用资源记录类型详解

1,SOA记录    NS记录说明了有多台服务器在进行解析,但哪一个才是主服务器呢,NS并没有说明,这个就要看SOA记录了,SOA名叫起始授权机构记录,SOA记录说明了在众多NS记录里那一台才是主要的服务器!并且定义了主从dns服务器数据同步时间属性. SOA(Start Of Authority):     ZONE NAME    TTL        IN        SOA        FQDN    ADMINISTRATOR_MAILBOX (                  

谢烟客---------Linux之DNS请求流程及资源记录定义

DNS类型/同步类型/域和区域的区别 SOA内部数据特性 DNS负载均衡(Load balance)的实现 缓存DNS服务器 缓存定义.作用.多级缓存 一次完整的解析请求 解析答案 DNS分布式特点 区域解析库/RR/RR_TYPE A记录的轮循.多主机名对同一个主机.泛域名解析 <<反反复复,多次权衡的结果 >> DNS类型.同步类型.区域和域的区别 SOA内部数据特性 DNS负载均衡(Load balance)的实现 缓存DNS服务器 缓存定义.作用.多级缓存 一次完整的解析请

DNS篇之二DNS记录类型

数据库中的,每一个条目称作一个资源记录(Resource Record, RR) 资源记录的格式: 第一段                       第二个字段    第三个字段          第四个字段(资源记录类型)    第五个字段 NAME                         TTL              IN(internet)               RRT VALUE值 ttl如果不写的话,需要在全局变量里面指定一个默认值.ttl值是可省略的. TTL 6

DNS记录类型介绍(A记录、MX记录、NS记录等)

DNS A记录 NS记录 MX记录 CNAME记录 TXT记录 TTL值 PTR值 建站名词解释:DNS A记录 NS记录 MX记录 CNAME记录 TXT记录 TTL值 PTR值 泛域名 泛解析 域名绑定 域名转向 1.DNS:Domain Name System 域名管理系统 域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,这一命名的方法或这样管理域名的系统叫做域名管理系统.  DNS:Domain Name Server 域名服务器 域名虽然便于人们记忆,但网络中

关于什么是DNS服务器及其记录类型

什么是DNS呢?DNS的中文解释就是域名解析服务,是Domain Name Service的缩写.DNS服务器的主要作用就是提供域名与IP地址之间的解析. 域名解析的发展分为三步,首先是分布式的解析,解析工作由每一个主机负责:而集中式解析则是由一台主机来完成的:最后则是己分布又集中,也就是DNS了. DNS的查询方式分两种,一种是递归查询,是由客户端发起的:另一种是迭代查询,是由服务器端发起的. DNS服务器的记录类型: 首先介绍A记录,即主机记录,主要作用有,添加一条记录:删除一条记录:空域名