区域解析库
区域解析库由众多的RR组成(RR resource record)
资源记录RR类型:A AAAA RTP SOA NS CNAME MX
SOA (start of authority)起始授权记录:一个区域解析库有且只有一个SOA记录,而且SOA记录是解析库的第一条记录;
A (internet address)将域名解析为IP地址
AAAA 将域名解析为IPV6地址
RTP (pointeR)指针 实现反向解析,将IP地址解析为域名
NS (name server)专门用于标明当前区域的DNS服务器
CNAME (canonical NAME) 别名记录
MX (eXchanger) 邮件交换器,标明当前区域谁是邮箱服务器
资源记录格式:
name [TTL] IN rr_type value
需要注意的问题:
1、TTL是可以全局继承的
2、@可以用于引用当前区域的名字
3、同一个名字可以通过多条记录定义多个不同的值
4、同一个值也可以由多个不同的名字:通过多个同的名字指向同一个值进行定义,此仅表示通过多个不同的名字可以找到同一个主机,仅此而已;
SOA
name:但钱区域的名字,例如baidu.com;一个区域解析库,有且只有一个SOA记录;【这里定义了区长】
value:由多部份组成
1、当前区域的主DNS服务器的域名,也可以使用当前区域的名字
2、当前区域管理员的邮箱地址,但地址中不能使用@符号,一般用 . 来替代,例如 linuxedu@163.com 就要写成 linuxedu.163.com
3、主从服务器协调属性的定义以及否定答案统一TTL值;例如:
test.com. 86400 IN SOA ns.test.com. nsadmin.test.com. ( 2019053101 ; //序列号,自己定义,一般使用时间来定义 2H ; //刷新时间 10M ; //重试时间 1W ; //过期时间 1D ; //否定答案的TTL值)
这里我们需要搞清楚几个值:
2019053101 YYYYMMDDnn 其中nn表示修订号,每次修改dns的解析记录,需要手动将修订好加一;
2H refresh刷新时间 设置的是slave dns多长时间来和master server进行修订好比对,如果不匹配,则自动同步下;
10M retry 重试时间 slave dns向master server进行域名库同步请求,master dns没有响应,则多长时间再次进行同步;
1W Expire 过期时间 master server如果不在了,slave dns提供解析的权威答案时间长短;
1D Minimum 这个值现在一般通过 $TTL 来全局定义;
NS
name:当前区域的名字
value:当前区域的某DNS服务器的名字,例如ns.test.com.;一个区域可以由多个NS记录;
例如:
test.com. IN NS ns1.test.com.test.com. IN NS ns2.test.com.
注意:
1、相连的两个资源记录的name相同时,后续可以省略;(所有的记录都是这样)
2、对于NS记录而言,任何一个NS记录后面的服务器名字,都应该在后续由一个A记录;
MX
name:当前区域的名字
value:当前区域的某邮件服务器(smtp服务器)的主机名
一个区域内,MX记录可以由多个,但是value之前的应该有一个数字(0-99),表示邮件服务器的优先级,越小则越优先;
例如:
test.com. IN MX 10 mx1.test.com. IN MX 20 mx2.text.com.
注意:
对于MX记录而言,任何一个MX记录后面的服务器名字,都应该再有一个A记录才行;
A
name:某主机的域名地址 例如:www.test.com.
value:对应主机的IP地址
例如:
www.test.com. IN A 1.1.1.1www.test.com. IN A 1.1.1.2
mx1.test.com. IN A 1.1.1.3mx2.test.com. IN A 1.1.1.3
这里需要注意的是,我们的A记录匹配域名,支持模糊查询
*.test.com. IN A 1.1.1.4test.com. IN A 1.1.1.4 //这两种写法都可以
这样写,可以避免用户在写错DNS域名的情况下通过模糊查找也能定位到正确的域名地址上来;
AAAA
name:域名地址
value:IPV6地址
和A记录没有太大的区别;
PTR
指针,用来实现反向地址解析;
name:ip 这里对IP有一定要求,必须反写;例如:1.2.3.4 要写为 4.3.2.1 再加上特定后缀名,完整写法为:4.3.2.1.in-addr.arpa.
value:主机域名地址
例如:
4.3.2.1.in-addr.arpa. IN RTP www.test.com4 IN PTR www.test.com //简写方式
注意:网络地址以及后缀是可以省略的。主机地址依然要反着写;
CNAME
name:别名的域名地址
value:正式的名字的域名地址
例如:
web.test.com. IN CNAME www.test.com.
子预授权
每个域的名称服务器都是通过其上级的名称服务器在解析库中进行授权的;
比如,你想在 .com 顶级域名下申请域名,则需要在 .com 的顶级域名库中,去添加你申请的域名名称,也就是NS记录才行,这样,在DNS迭代查询的时候时候,才能查到你公司的DNS服务器;
例如需要运用 .test.com 的域名,在 .com 服务器上就会有类似的配置
test.com. IN NS ns1.test.com.test.com. IN NS ns2.test.com.ns1.test.com. IN A 2.2.2.1ns2.test.com. IN A 2.2.2.2
这个过程,都在 .com 的服务器上完成,这个过程就叫做子预授权;
在 .com 的域名服务器上有了对应的 NS 和 A 记录后,这样,就可以去搭建下级本地的域名服务器了;
@ IN SOA ns1.test.com. ns1admin.testmail.com. ( 2019060101 2H 15M 1W 1D)@ IN NS ns1.test.com. IN NS ns2.test.com.ns1 IN A 2.2.2.1ns2 IN A 2.2.2.2www IN A 2.2.2.3mail IN MX 10 2.2.2.4
这样这个域环境就搭建完成了;
DNS注册基本知识
IANA 机构是全球来维护域名授权的机构,但是它无法维护到各个地区,这时候,我们需要有代理商,来为它维护这些分布在全球各地的域名;
在中国:主要的代理商有 万网 和 新网;申请到域名以后,如果需要在互联网上使用该域名搭建自己的网站,还需要到工信部备案;审核通过,才能正式开始使用的自己的域名;
在企业中,一般搭建私有服务器的域名解析都会找到中间的域名服务代理商,在中国,最大的代理公司也就是dnspod,在中国,大部分的域名解析都有这些公司来提供;