互联网访问绝大多数都是基于域名的访问,互联网访问的基础是基于IP来实现的,因此,需要有一种将域名解析成IP的机制,让用户在利用域名访问时,自动将域名转换成为对应的IP,这就是DNS的功能。
	
	DNS的基础概念
DNS:Domain Name Service,基于C/S模式的域名解析服务,应用层协议;监听在53/udp,53/tcp端口;TCP用来区域传送; UDP用来解析。
	区域(zone)和域(domain)
	区域是物理概念,域是逻辑概念。
	比如:sfn.cn.这个域
	FQDN–>IP:
	正向解析库和正向解析的功能,就是一个正向解析区域。
	 IP–>FQDN:
	反向解析库和反向解析的功能,就是一个反向解析区域。
一般而言,一个域分为正向解析区域和反向解析区域,但是单纯的域却不一定比区域大,因为父域的区域,可能就比子域的域要大。
	区域数据库文件
	主要由资源记录(RR,resource record)组成。
	常见资源记录类型:SOA、NS、MX、A、AAAA、PTR、CNAME。
	SOA:start of authority,起始授权记录,一个区域解析库有且只能有一个SOA记录,且必须放在所有资源记录的第一条。
	NS:name service,域名服务记录,一个区域解析库可以有多个NS记录,一个NS记录表示一台DNS服务器,其中一个为主的,其余的为辅的。
	MX:mail exchanger,邮件交换器,用于标明域内邮件服务器的地址的记录,MX记录可以有多个,其MX记录有优先级的概念,优先级 0-99,数字越小,优先级越高。
	A:address,地址记录,也就是从FQDN–>IPv4
	AAAA:address,地址记录,从FQDN–>IPv6
	PTR:pointer,主要用于实现IP–>FQDN
CNAME:别名记录。
	资源记录的定义格式
语法:NAME [TTL] IN RR_TYPE VALUE
	SOA记录:
	NAME:当前区域的名字,例如:sfn.cn.  或者如果是反向区域,则 1.168.192.in-addr.arpa.
	VALUE:有多部分组成
	<1>当前区域的区域名称(也可以使用主DNS服务器名称);
	<2>当前区域的管理员的邮箱地址,但地址中不能使用@符号,一般用点号.来替代;
	<3>主从服务的协调属性的定义以及否定答案的缓存时长,整个内容要用()括号括起来,每行内容之后可以用;分号表示后面的都是注释信息。
	完整的SOA记录定义示例:
	sfn.cn. 86400  IN SOA  sfn.cn.  admin.sfn.cn  (
	2016091801   //代表序列号,不能超过10位
	2H           //代表从服务器向主服务器同步数据的刷新时间间隔,此处表示2小时
	10M          //表示联系不上主服务器时,从服务器再次联系主服务器时的间隔时间,10分钟
	1W           //表示过期时间,也就是服务器始终联系不上主服务器时的最长等待时间,也就是此时间一过,就判定主服务器故障,然后从服务器也停止服务,1周
	1D           //表示否定答案的缓存时长,1天
)
	NS记录:
	可有多个NS记录,一个NS记录对应一个DNS服务器,每个NS记录应该有一个对应的A记录。
	NAME:当前区域的区域名称
	VALUE:当前区域的某DNS服务器的名字,例如ns1.sfn.cn
	例如:
	sfn.cn.  86400  IN  NS  ns1.sfn.cn.
sfn.cn. 86400 IN NS ns2.sfn.cn.
	MX记录:
	MX记录可以有多个,一个MX记录对应一个邮件服务器,每个记录的VALUE之前应该有一个数字,用于表示其优先级,数字越小,优先级越高。每个MX记录应该有一个对应的A记录。
	NAME:当前区域的区域名称
	VALUE:当前区域某邮件服务器的主机名
	例如:
	sfn.cn.  IN  MX  5  mail1.sfn.cn.
sfn.cn. IN MX 20 mail2.sfn.cn.
	FQDN–>IPv4
	NAME:某FQDN,如:web.sfn.cn.
	VALUE:某IPv4地址
	例如:
	web.sfn.cn.  IN  A  1.1.1.1
	web.sfn.cn.  IN  A  1.1.1.2
	bbs.sfn.cn.  IN  A  1.1.1.2
	一个主机名额可以有多个IP,一个IP也可以有多个主机名          
	*.sfn.cn.  IN  A   10.1.32.1
	表示将前面没有单独定义的都解析到10.1.32.1
	sfn.cn.  IN   A    10.1.32.1
	表示当用户访问域名前不带任何字符时,也即是直接访问sfn.cn.时解析到的地址是10.1.32.1
	$GENERATE 1-254  server$   IN   A   1.1.1.$
	表示将server1.sfn.cn.  解析的地址为1.1.1.1
	server2.sfn.cn. 解析的地址为1.1.1.2
	server3.sfn.cn.  解析为1.1.1.3
	….
	server254.sfn.cn.  解析为1.1.1.254
	同理:
	$GENERATE 5-20  test$   IN   A   1.1.1.2$
	表示将test5.sfn.cn.  解析的地址为1.1.1.25
	test6.sfn.cn. 解析的地址为1.1.1.26
	test7.sfn.cn.  解析为1.1.1.27
	….
test20.sfn.cn. 解析为1.1.1.220
FQDN–>IPv6地址,定义方式与A记录类似
	PTR记录:
	反向解析记录
	NAME:IP地址,有特定格式,IP反过来写,而且要加特定后缀,如:192.168.1.2的记录应该写成2.1.168.192.in-addr.arpa。
	VALUE:为FQDN
	例如:
	2.1.168.192.in-addr.arpa.  IN PTR  bbs.sfn.cn.
	CNAME记录:
	别名记录
	FQDN格式的别名;
	VALUE:FQDN格式的正式名称
	例如:
	web.sfn.cn.  IN CNAME www.sfn.cn.
	表示web.sfn.cn.是www.sfn.cn.的别名
	
	
	注意:
	<1>TTL值可以从全局继承,不用每个记录都单独定义
	<2>@可以用来表示当前的区域的名字
	<3>相邻的两条记录,其NAME相同时,后面那条记录的NAME可以省略
	<4>任何MX、NS等类型的记录的value为一个FQDN,此FQDN应该有一个A记录
	
	 
 
	
 
	
 
	
 
	
相关推荐:
A记录和CNAME记录的区别和关系


 
  
  
 

 
 