DNS服务
DNS服务就是域名解析服务,是众多其他服务的一个基础性服务工具,也是现在互联网的基础;目前在互联网上DNS本身的核心与标准都是基于一个软件来构建的,这个软件就是BIND,现在几乎所有的DNS服务器都是由BIND构建的。
nsswith平台
nsswith是为多种需要提供名称解析的机制提供名称解析平台,nsswith仅仅是提供平台不负责实质上的名称解析;负责名称解析的有libnss_fileslibnss_dnslibnss_ldap等;每一种名称解析机制就是到不同的位置去找它们所对应的名称解析方式。能够将DNS转换成IP地址的机制有libnss_files与libnss_dns;这两个就是两个库文件,它们需要被调用的。调用者者就是需要解析的应用程序,调用对象就是libnss_files与libnss_dns,调用者与调用对象彼此之间建立的对应关系靠的就是nsswitch平台;nsswitch框架的实质存在就是配置文件/etc/nsswitch.conf
 DNS服务器的结构
主DNS服务器:数据修改在主DNS服务器上完成
辅助DNS服务器:请求数据同步---请求同步的机制是客户端请求即是以拉取的方式去同步彼此之间的关系的定义需要的数据
serialnumber序列号:辅助DNS的请求同步,确认有的更新数据是通过版本号来确定的;主从DNS服务器上都有 一个版本号,主DNS服务器的版本号一旦发生改变,就把版本号加1;辅助DNS服务器就是通过判断主DNS的版本号来确定数据是否有更新的,序列号的最大长度是10位,不能超过其最大长度
refresh:检查的时间周期,定义辅助DNS服务器每隔多长时间检查一下主DNS服务器的版本号
retry:重试时间,当辅助DNS服务器请求同步没有响应时再隔多久向主DNS服务器重新检查一下
这个时间要小于refresh时间
exprie:过期时间,当主DNS服务器在经过过期时间后还没有响应的时候,就认定它已停止服务,这时候辅助DNS也结束了自身任务,停止工作
nagative answer TTL:否定答案的缓存时长,也需要定义在主从结构的配置信息中
这些属性的时间单位是:H(分钟)、M(分钟)、D(天)、(W)周,默认单位是秒钟
缓存DNS服务器:不负责任何权威答案,只是负责缓存
转发DNS服务器:不缓存,只转发请求
资源记录格式
NAME TTL  IN RRT VALUE
NAME:名称;IN:表明是internet资源记录; TTL: TTL值 RRT:资源记录类型;VALUE:数据
每一个资源记录都有TTL值,可以在格式中省略,在全局定义一个TTL值
资源记录类型
资源记录类型就是用来标示这条记录在当前的DNS服务器上扮演的是什么样的角色
资源记录类型的方式
SOA(Start of Authority):起始授权记录,用于表明一个区域内部主从服务器之间如何同步数据以及起始授权对象是谁;SOA记录必须是在区域数据中东第一条,用来表明本区域内多个DNS服务器彼此之间是如何完成数据同步的
格式: ZONE NAME TTL IN SOA FQDN---起始授权主机,是主DNS服务器地址  ADMINISTRA_MAILBOX(
sertial number ;serial number
refresh ; refresh time
retry   ; retry time
exprise
na ttl )
ADMINISTRA_MAILBOX:邮件邮箱地址;格式中不应该有@符号。因为@符号在这个资源记录文件中有特殊的意义,它是用来标示当前区域的区域名称的,@是个同配符是用来同配当前区域的区域名
例如:admin@blog.com(是错误的)应该写成admin.blog.com
上述中的“;“后面的信息代表是注释信息,分隔符就是分号
MX(Mail eXchanger): ZONE NAME----> FQDN(是区域名称对应到FQDN)
邮件服务器的设置在安全保障的前提下一般需要设置多个,所以它是具有优先级的
优先级的级别定义是从0-99;数字越小级别越高;当有多个邮件服务器的时候,是找到优先级比较高的来负责转发,当级别高的任务太多时,会相应的找下一个级别的邮件服务器。格式如下:
zone NAME TTL IN MX pri VALUM
blog.com. 600 IN MX 10 mail.blog.com.
mail.djy.com. 600 IN IN A 1.1.1.3
A(adress): FQDN---->IPv4  (只要是把主机名转换成IP地址的都是A记录)
AAAA          :   FQDN----->IPv6 (主机名到IPv6的地址解析记录)
PTR:(pointer):  IP---->FQDN   ( 根据地址查找主机名)
NS(NAME SERVER) :ZONE NAME----->FQDN(把域名指定为FQDN,定义的时候要成对出现,要为FQDN指定IP地址)格式如下:
blog.com.      600 IN NS ns.blog.com.
ns.blog.com. 600 IN A 1.1.1.2
CNAME(canonical NAME):FQDN--->FQDN(别名记录,用来表明一个FQDN另外的一个名字是谁)
例如 :www1.blog.com.   IN   CNAME  www.blog.com.------>这里的意思是www1是www的别名
互联网的查询基本上是两段式
第一段是递归(从客户端查询)从客户端发起的查询是递归,之后由缓存服务器查询时是迭代方式
第二段是迭代(从DNS服务器)可以发出多次请求,但是前几次返回的都是参考答案
分布式数据库
DNS的级别中上级仅知道其直接下级下级只知道根的位置(默认情况下,如果要让其知道其上级需手动配置,知道根位置所在也是配置的)
域与区域介绍
域(Domain)在DNS的角度来看域是一个逻辑概念,是一个不是真正存在的概念;区域(zone)在DNS的角度来看域是一个物理概念,是真正存在的数据文件,zone的区域文件就是资源记录的集合;所以区域文件中都是资源记录;其中有正向区域文件和反向区域文件,在区域文件中第一条都是SOA记录、MX记录只需要定义在正向区域文件中、NS记录正向与反向都可以记录、A记录只能定义在正向区域文件中,PTR记录只能定义在反向区域文件中。
区域传送
区域传送是当辅助DNS服务器向主DNS服务器刚刚请求同步后,主DNS的数据进行了修改,但是这时候距离辅助DNS向主DNS再次请求的时间还有一段时间的时候,主DNS服务器会通知辅助DNS服务器,使得辅助DNS服务器的数据始终与主DNS的数据保持一致,这种数据传送的过程就叫做区域传送
区域传送类型
axfr完全区域传送:同步主DNS服务器上的所有数据,例如当新加的一个辅助DNS服务器
ixfr增量区域传送:同步主DNS服务器改变的数据,前提是主辅DNS在改变前一刻的数据已经同步
传送数据的区域类型
master主区域:主DNS服务器
slave从区域   :辅助DNS服务器
hint提示区域 :定义根在什么地方
forward转发区域:直接定义所要找到域在哪个地方,不用再先指定根所在
注意:区域传送发生在有主从结构的时候,它是由主服务器向从服务器传送变化了的内容
区域传送只允许自己的从服务器来传送
TLD
顶级域是所有的顶级域都是划分给对应的组织来进行管理的;其分类类型如下:
组织域:(.com,.org,.net,.cc)
国家域:.cn,.tw,.hk,.iq,.ir,.jp 通常都是两个字符,是专属于某个国家内部管理的,是国家所有的顶级域
反向域:将IP地址转换成主机名:IP-->FQDN与FQDN---->IP 使用的数据库不是同一个