DNS:域名解析 常用BIND 域名服务器(Domain Service)
主机名:www.magedu.com
域名:magedu.com (在.com下保存了magedu这个域)
FQDN:完全限定域名
DNS:名称解析(背后有查询过程,数据库)
FQDN(域名) <--> IP(地址)
nsswitch:为多种需要实现名称解析的机制,提供名称解析的平台
主机本地/etc/hosts存放着主机名与IP地址之间的关系
当ping www.magedu.com的时候通过stub resolver名称解析器去寻找/etc/hosts文件
如果里面没有就去找DNS解析
hosts:
IPADDR FQDN Ailaese
172.16.0.1 www.magedu.com www
早期的时候通过周期性任务去更新hosts中的信息,但是随着条目的越来越多;
IANA建立了Server服务器,客户提出请求,server返回请求
之后服务器也不好使了 ,出现了分布式数据库,就是把权限分片儿划分
DNS根域
.net .com .org <----TLD顶级域
| | |
magedu ibm kernel
TLD:常见的有三类:
组织域:.com .org .net .cc
国家域:.cn .tw .hk .iq .jp .ir
反向域:将IP --> 主机名(FQDN)
正向域:主机名(FQDN)--> IP 正反不是一个数据库
递归式:A问B B问C C答B B再告诉A
迭代式:A问B B回答说C懂 A再问C C再回答A
为了安全而言 DNS根域,不给任何人递归
我们常常这么玩:
例:ibm下有一台客户主机st1 想找www.magedu.com (NS是一台服务器用于解析域名)
st1给NS发起请求,NS去找根域,根说.com知道NS又去找.com ;.com告诉你magedu知道,NS又去找magedu;magedu回复说我知道把信息返回给NS,NS就将这天信息储存了起来。
当sta2又想访问magedu的时候,对NS发起请求,就可以直接提取储存的地址 (对于st1来说是递归,对NS来说是迭代;对客户端来讲是递归,对服务器端来讲是迭代)
但是缓存也是有期限的,因为mageduIP是可能会改变的。缓存时长,跟你IP的变换频率相关
但是NS服务器也是钱啊;其实一台服务器是可以供多个顶级域访问的
例:在根域下面,顶级域上面设置一台NS,这台机器的数据库叫授权数据库。他明确标识了顶级域的相信信息。
总结:
查询:
递归 :只发出一次请求
迭代 :发出多次请求
解析:
正向:FQDN --> IP
反向:IP --> FQDN
两段式:客户递归,服务器迭代
DNS:分布式数据库
上级仅知道其直接下级
下级需要配置才能知道上级是谁
TTL:返回的缓存时长,否定答案也是有缓存的,可以指定时长
DNS服务器:
接受本地客户端的查询请求(递归)
外部客户端请求(请求权威答案)
还有一种贱贱的可能性:ibm下面的用户去访问kernel的NS ,访问的是非权威答案
DNS只给自己片内的用户递归,不是片内的不给递归
19--2
全球跟服务器有13台,大多数在美国
NDS服务器:
主DNS服务器:数据修改在这里完成(并提示辅助服务器,该更新了啊)
辅助DNS服务器:请求数据同步(每隔一段时间就请求一次对对账本)
主服务器挂了,辅助DNS就会定期去访问一下,超过规定时间自己也就挂掉了
主DNS服务器有一个版本号,从DNS服务器也有一个版本号;主的一改变版本号就加1;从的发现主的变了,从的也就跟着变;;;所以我们要定义!!!
serial number:版本号
refresh:检查的时间周期
retry :检查一次,主DNS没有给响应,定义重试时间
expire:过期时间,辅助服务器殉职的时候
nagative answer TTL:否则答案的缓存时长
总结
DNS服务器类型:
缓存DNS服务器
转发器
主DNS服务器
辅助DNS服务器
#########################################
FQDN:主机名
###########################################
数据库中每一个条目称作一个资源记录
资源记录的格式:
资源一:
NAME TTL(可省;可以定全局) IN RRT(资源记录类型) value
www.magedu,com. 600 IN A 1.1.1.1
资源二:
1.1.1.1 600 IN PTR www.magedu.com.
RRT:资源记录类型(靠它来标识谁是邮件服务器,等等)
【SOA必须出现在区域数据文件的第一条,标明一个区域内多台DNS服务器是如何完成同步的】
0、SOA:起始授权记录;标识区域之间如何同步数据
ZONE_NAME TTL IN SOA FQDN ADMINISTRATOR_MAILBOX(邮箱地址)(
serial number 版本号
refresh 检查的时间周期
retry 主DNS没有给响应,定义重试时间
expire 过期时间
na ttl 否定答案的缓存时长)
时间单位:M分钟 H小时 D天 W周 默认单位秒
邮箱格式: admin.magedu.com (将@替换为.)
@:他的意思代表区域名称
正规写法一:
maged.com. 600 IN SOA ns1.magedu.com. admin.magedu.com.(
2013040101版本号,不能超过10位
1H 刷新时间1小时
5M 5分钟做重试
1W 过期时间1周
1D 否定答案的缓存时长1天)
【可以写在一行,括号可以省略,空格隔开,分号后可以跟注释】
1、NS: Name Server 从域名 --> FQDN
格式:说明这个片的片长是这家伙:
片名: 缓存时长 主机名
magedu.com. 600 IN NS ns.magedu.com.
ns.magedu.com. 600 IN A 1.1.1.2
5、MX:邮件交换器 从区域 --> FQDN
邮件服务器靠优先级 0-99,数字越小级别越高,一旦高级别不在线,次之顶上;
ZONE_NAME TTL IN MX pri(优先级) VALUE
magedu.com. 600 IN MX 10 mail.magedu,com.
mail.magedu.com 600 IN A 1.1.1.3 这条记录是FQDN -->主机名
[如果有多台DNS服务器,我们在定义域的时候就会标识谁是主谁是从]
2、A:FQDN --> IPv4 主机名转换成IP地址
3、AAAA: FQDN --> IPv6 将主机名转换成IPv6
4、PTR: IP ---> FQDN
6、CNAME: FQDN --> FQDN 别名记录; www2是www的别名;www是www2的正式名称
www2.magedu.com. IN CNAME www.magedu.com.
7、TXT
8、CHAOS
9、SRV
######################################################################
域和区域的区别:
1、域:Domain 逻辑概念 域里面既要实现正向解析、又要实现反向,所以要建两个数据文件;他们加起来就是域。
2、区域:Zone 物理概念 区域就是域里面真正存储的数据文件
举例:我们获得了一个域名,又从ICANN获得了一个IP
前提:我们在.com上明确定义、授权
magedu.com. IN NS ns,magedu.com.
ns.magedu.com IN NS 192.168.0.10
magedu.com. 192.168.0.0/24
然后在咱们公司买好主机,布好网线,把哪台主机配置成192.168.0.10哪台机器就是DNS服务器(负责我们整个域内的网络的解析,我们有两台服务器分别是:
www 192.168.0.1
mail 192.168.0.2,MX (这是邮件服务器)
建立两个区域文件(正向反向)
正向区域文件: (简写用@替换)
magedu.com./@ IN SOA(第一条一定是SOA) NS
反向区域文件:(网段地址反过来写)
0.168.192.in-addr.arpa. IN SOA
PRT写法:FQDN -->IP
www.magedu.com. IN A 192.168.0.1
简写 www IN A 192.168.0.1
PTR写法:IP --> 主机名
192.168.0.1 IN PTR www.magedu.com.
不能简写
1.0.168.192.in-addr.arp. IN PTR www.magedu.com.
简写:1 IN PTR www.magedu.com.
############################################################
MX:只定义在正向当中
NS:记录正反都定义
A:只能定义在正向
PTR:只能定义在反向
############################################################
区域传送类型:
完全区域传送:axfr 全部传送一遍
增量区域传送L:ixfr 只传送改变的内容
区域类型:
主区域:master
从区域:slave
提示区域: hint 定义根在什么地方
转发区域:forward
##########################################################