DNS服务器:主要介绍DNS的服务原理以及安装及其主从配置
一、DNS简介
1、DNS
DNS是域名系统(Domain Name System)的简称,它是一个将域名和IP相互映射的分布式数据库。有了DNS服务器,我们只需要记录一个网站的域名即可访问,而再也不需要记忆那一串长长的IP地址了。全球有386台根服务器,被编号为A到M共13个标号,编号相同的根服务器使用同一个IP,386台根服务器总共只使用13个IP,因此可以抵抗针对其所进行的分布式拒绝服务攻击(DDoS)。中国大陆在北京有两台编号为L的根服务器镜像,编号为F、I、J的各一,共5台镜像,所以刚才提到的那个故障应该就是国内的DNS根域镜像的故障。
2、分布式数据库
早期的网络比较单一,域名也比较少,所以hosts文件可以说是比较简单的数据库了,但到了后来网络的爆炸式发展,一个hosts文件、一台服务器、一组DNS集群都不能扛得住越来越多的主机请求,所以到后来出现了分布式数据库,把一个数据库切成n片,放到不同的主机上来解析客户端的请求,当需要解析不同的主机时,就到不同的服务器上去实现,以到达缓解根服务器巨大的压力。
3、域名的划分
根域:.
一级域:.com,.org,.mil,.gov,.edu,.net
国家域:.cn,.hk,.tw,.jp,.us,.uk,.ir,.iq
二级域:www.ibm.com中的ibm就是二级域名
主机名:上面的www是主机而不是域名
FQDN(Full Qualified Domain Name):安全合格域名,按照中国人的习惯是从大到小写,但老外习惯从小往大了写,就像写信一样,自底向上,所以一个FQDN应该是"www.ibm.com."。
4、DNS查询方式
1)递归查询(recursion)
客户端只发出一次请求,要求对方给出最终结果。如果客户端要查找的内容直接在服务器上得到结果,刚给出的答案是一个权威答案,否则就是一个参考答案。
2)迭代查询(iteration)
客户端发出一次请求,服务器替代客户端一次次的去请求以获得最终答案,所以迭代查询是服务器代为其查询,因此,客户端指向的DNS服务器,一定是允许给本地主机做递归的。
5、资源记录(Resource Record)
DNS数据库文件中的每一个条目叫做资源记录,它是一个纯文本文件,只能包含资源记录或宏定义。
资源记录的格式:
Name [ttl] IN rr_type(资源记录类型) Value
1)、SOA:
Start of Authority,起始授权
SOA必须是区域数据库文件的第一条记录
name:只能是区域名称,通常可以简写为@,如google.com
value:主DNS的FQDN
例:@ 600 IN SOA ns.google.com. dnsadmin.google.com.(
serial number;序列号,不能超过10位,如:2014120901
refresh time;刷新时间,第每隔多久到主服务器检查一次
retry time;重试时间,如果刷新失败,多久重试
expire time;过期时间
negative answer ttl;否定答案的ttl )
上面的那个dns.admin.google.com.是管理员邮箱,第一个点代表的是@,但这里@是一个宏,所以就用.代替了。
注意:SOA后面ns.google.com.中最后面那个.一定不能省略,如果省略,系统会默认给补上你的区域名称。
2)、NS: 一个区域数据文件可以有多个NS记录;
Name Server,域名服务器
name:区域名称,通常可以简写为@
value:DNS服务器的FQDN(可以使用相对名称)
注意:
- 相邻的资源记录name相同时,后面的可省去。
- 任何一个value中指定的FQDN,在其域的正向解析文件中应该有A记录;
3)、A
Address,IP地址,负责FQDN——>IP的解析
name:FQDN(可以使用相对名称)
value:IP
4)、AAAA
IPv6地址
5)、MX:一个区域数据文件可以有多个MX记录;
Mail eXchanger:邮件交换器,可以有多个,那就需要做优先级
name:区域名称,用于标识smtp服务器
value:包含优先级和FQDN,优先级的范围:0-99,数字越小,级别越高
6)、CNAME:定义别名的
Canonical Name,别名记录
name:FQDN
value:FQDN
7)、PTR
负责IP——>FQDN的解析,只能定义在反向区域数据文件中,反向区域名称为逆向网络地址加.in-addr.arpa.后缀组成
name:IP,逆向的主机地址,如:93.251.16.172.in-addr.arpa.
value:FQDN,这里的FQDN不需要有A记录,反向区域中不能出现A记录和MX
注意:但凡value上是FQDN,那么这个FQDN都需要有一个A记录,否则不能解析,PTR除外
接下来是我自己完全实战出来的步骤:所以我来和大家一起分享下