名字解析介绍
DNS服务
DNS:Domain Name System 应用层协议
C/S,53/udp, 53/tcp
BIND:Bekerley Internat Name Domain
ISC (www.isc.org)
本地名称解析配置文件:hosts
/etc/hosts
%WINDIR%/system32/drivers/etc/hosts
93.46.8.89 www.google.com
DNS域名
根域
一级域名:Top Level Domain: tld
com, edu, mil, gov, net, org, int,arpa
三类:组织域、国家域(.cn, .ca, .hk, .tw)、反向域
二级域名
三级域名
最多127级域名
ICANN(The Internet Corporation for Assigned Names and Numbers)互联网名称与数字地址分配机构,负责在全球范围内对互联网通用顶级域名(gTLD)以及国家和地区顶级域名(ccTLD)系统的管理、以及根服务器系统的管理
DNS域名结构
DNS解析
DNS查询类型:
递归查询
迭代查询
名称服务器:域内负责解析本域内的名称的主机
根服务器:13组服务器
解析类型:
FQDN --> IP
IP --> FQDN
注意:正反向解析是两个不同的名称空间,是两棵不同的解析树
DNS服务器类型
DNS服务器的类型:
主DNS服务器
从DNS服务器
缓存DNS服务器(转发器)
主DNS服务器:管理和维护所负责解析的域内解析库的服务器
从DNS服务器:从主服务器或从服务器“复制”(区域传输)解析库副本
序列号:解析库版本号,主服务器解析库变化时,其序列递增
刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔
重试时间间隔:从服务器请求同步失败时,再次尝试时间间隔
过期时长:从服务器联系不到主服务器时,多久后停止服务
“通知”机制:主服务器解析库发生变化时,会主动通知从服务器
区域传输
区域传输:
完全传输:传送整个解析库
增量传输:传递解析库变化的那部分内容
Domain: Fully Qualified Domain Name 正向:FQDN --> IP
反向: IP --> FQDN
负责本地域名的正向和反向解析库
正向区域
反向区域
DNS解析
一次完整的查询请求经过的流程:
Client -->hosts文件 -->DNS Service Local Cache --> DNS Server (recursion) --> Server Cache --> iteration(迭代) --> 根--> 顶级域名DNS-->二级域名DNS…
解析答案:
肯定答案:
否定答案:请求的条目不存在等原因导致无法返回结果
权威答案:
非权威答案:
资源记录
区域解析库:由众多RR组成:
资源记录:Resource Record, RR
记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX
SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解析库的第一条记录
A:internet Address,作用,FQDN --> IP
AAAA:FQDN --> IPv6
PTR:PoinTeR,IP --> FQDN
NS:Name Server,专用于标明当前区域的DNS服务器
CNAME : Canonical Name,别名记录
MX:Mail eXchanger,邮件交换器
TXT:对域名进行标识和说明的一种方式,一般做验证记录时会使用此项,如:SPF(反垃圾邮件)记录,https验证等
示例:_dnsauth TXT 2012011200000051qgs69bwoh4h6nht4n1h0lr038x
资源记录
资源记录定义的格式:
语法:name [TTL] IN rr_type value
注意:
(1) TTL可从全局继承
(2) @可用于引用当前区域的名字
(3) 同一个名字可以通过多条记录定义多个不同的值;此时DNS服务器会以轮询方式响应
(4) 同一个值也可能有多个不同的定义名字;通过多个不同的名字指向同一个值进行定义;此仅表示通过多个不同的名字可以找到同一个主机
SOA记录
name: 当前区域的名字,例如“lv.com.”
value: 有多部分组成
(1) 当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字;
(2) 当前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换
例如:admin.lv.com
(3) 主从服务区域传输相关定义以及否定的答案的统一的TTL
例如:
lv.com. 86400 IN SOA ns.lv.com. nsadmin.lvcom. (
2015042201 ;序列号
2H ;刷新时间
10M ;重试时间
1W ;过期时间
1D ;否定答案的TTL值
)
NS记录
name: 当前区域的名字
value: 当前区域的某DNS服务器的名字,例如ns.magedu.com.
注意:一个区域可以有多个NS记录
例如:
lv.com. IN NS ns1.lv.com.
lv.com. IN NS ns2.lv.com.
注意:
(1) 相邻的两个资源记录的name相同时,后续的可省略
(2) 对NS记录而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录
MX记录
name: 当前区域的名字
value: 当前区域的某邮件服务器(smtp服务器)的主机名
一个区域内,MX记录可有多个;但每个记录的value之前应该有一个数字(0-99),表示此服务器的优先级;数字越小优先级越高
例如:
lv.com. IN MX 10 mx1.lv.com.
IN MX 20 mx2.lv.com.
注意:对MX记录而言,任何一个MX记录后面的服务器名字,都应该在后续有一个A记录
A记录
name: 某主机的FQDN,例如:www.lv.com.
value: 主机名对应主机的IP地址
例如:
www.lv.com. IN A 1.1.1.1
www.lv.com. IN A 2.2.2.2
mx1.lv.com. IN A 3.3.3.3
mx2.lv.com. IN A 4.4.4.4
$GENERATE 1-254 HOST$ IN A 1.2.3.$
*.lv.com. IN A 5.5.5.5
lv.com. IN A 6.6.6.6
避免用户写错名称时给错误答案,可通过泛域名解析进行解析至某特定地址
其它记录
AAAA:
name: FQDN
value: IPv6
PTR:
name: IP,有特定格式,把IP地址反过来写,1.2.3.4,要写作4.3.2.1;而有特定后缀:in-addr.arpa.,所以完整写法为:4.3.2.1.in-addr.arpa.
value: FQDN
例如:
4.3.2.1.in-addr.arpa. IN PTR www.lv.com.
如1.2.3为网络地址,可简写成:
4 IN PTR www.lv.com.
注意:网络地址及后缀可省略;主机地址依然需要反着写
别名记录
CNAME:
name: 别名的FQDN
value: 真正名字的FQDN
例如:
www.lv.com. IN CNAME websrv.lv.com.
子域
子域授权:每个域的名称服务器,都是通过其上级名称服务器在解析库进行授权
类似根域授权tld:
.com. IN NS ns1.com.
.com. IN NS ns2.com.
ns1.com. IN A 2.2.2.1
ns2.com. IN A 2.2.2.2
lv.com. 在.com的名称服务器上,解析库中添加资源记录
lv.com. IN NS ns1.lv.com.
lv.com. IN NS ns2.lv.com.
lv.com. IN NS ns3.lv.com.
ns1.lv.com. IN A 3.3.3.1
ns2.lv.com. IN A 3.3.3.2
ns3.lv.com. IN A 3.3.3.3
glue record:粘合记录,父域授权子域的记录
互联网域名
域名注册:
代理商:
万网 :https://wanwang.aliyun.com/
www.net.cm
新网 : http://www.xinnet.com
godaddy :https://sg.godaddy.com/
注册完成以后,想自己用专用服务来解析
管理后台:把NS记录指向的服务器名称,和A记录指向的服务器地址
yum install bind -y
2、启动服务(此时ss -ntlu 可以看到udp53和tcp53端口都是打开的)
systemctl start named
3、修改dns的配置文件
vim /etc/named.conf