一、DNS简介
DNS(DomainNameSystem,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。通常DNS在查询的时候是以udp这个快速的传输协议来查询的,如果一旦没有办法查询到完整的信息时就会再次以TCP协议来进行重新查询,因此DNS服务在启动的时候会同时开启tcp的53端口和udp的53端口
DNS的主要作用就是将主机名解析成IP地址的过程,通过配置DNS服务器地址,主机不需要知道对应的IP地址就能通过主机名的形式访问互联网。
二、DNS域名
根域
一级域名:Top Level Domain: tld
com, edu, mil, gov,net, org, int,arpa
三类:组织域、国家域(.cn, .ca, .hk, .tw)、反向域
二级域名
三级域名
最多127级域名
三、DNS解析
1.DNS查询类型:递归查询和迭代查询
递归查询:一般是客户机和服务器之间的查询,即只发送一起请求,其他的工作交由上层服务器去解决,然后最后一层一层的反馈结果到客户端。(负责到底)
迭代查询:一般是DNS服务器与DNS服务器之间的方式,最起初的DNS服务器负责发起请求,而其他涉及到的DNS服务器只负责响应即可,然后一直查找到目标DNS服务器,并将结果返回给客户端(不负责到底 给一个推荐的结果)。
2.解析类型
正向解析 FQDN --> IP
反向解析 IP --> FQDN
正反向解析是两个不同的名称空间,是两棵不同的解析树
3.一次完整的查询请求经过的流程:
Client -->hosts文件 -->DNS Service Local Cache --> DNS Server(recursion) --> Server Cache --> iteration(迭代) --> 根-->顶级域名DNS-->二级域名DNS…
解析答案:
肯定答案:正确解析了请求的结果
否定答案:请求的条目不存在等原因导致无法返回结果
权威答案:负责该域的服务器直接给出的答案
非权威答案:非负责该域的服务器直接给出的答案
四、DNS服务器类型
1.主DNS服务器:管理和维护所负责解析的域内解析库的服务器
2.从DNS服务器:从主服务器或从服务器“复制”(区域传输)解析库副本
3.缓存服务器(也叫转发器):“通知”机制,主服务器解析库发生变化时,会主动通知从服务器
五、资源记录
解析记录在DNS当中称为DNS数据库。DNS数据库又称为正解和反解,正解就是从主机名到IP过程,反解就是IP反向解析到主机名的过程,无论正解还是反解,每个域名所对应的解析记录称之为zone(域),如mail.com这个zone,正解和反解在zone记录中是由众多的RR(资源记录)组成的,这些记录的类型有:A,AAAA, PTR, SOA, NS, CNAME, MX。
资源记录定义的格式:
语法:name[TTL] IN rr_type value
1.SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解析库的第一条记录
name: 当前区域的名字,例如“music.com.”
value:有多部分组成
(1)当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字;
(2)当前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换,例如linuxedu.magedu.com
例如:
music.com. 86400 IN SOA ns.music.com. nsadmin.music.com. (
2015042201 ;序列号
2H ;刷新时间
10M ;重试时间
1W ;过期时间
1D ;否定答案的TTL值
)
A记录:正向解析,后面对应的是IPv4地址,域名解析成IP
name: 某主机的FQDN,例如www.music.com.
value: 主机名对应主机的IP地址
例如:www.music.com. IN A 1.1.1.1
AAAA记录:正向解析,后面对应的是IPv4地址,域名解析成IP
name: FQDN
value: IPv6
PTR记录:反向解析,后面记录的数据就是反解到的主机名
NS记录:标明当前区域的DNS服务器
name: 当前区域的名字
value: 当前区域的某DNS服务器的名字.
例如:
ns.music.com.
CNAME记录:别名记录
name: 别名的FQDN
value: 真正名字的FQDN
MX:邮件服务器地址
name: 当前区域的名字
value: 当前区域的某邮件服务器(smtp服务器)的主机名
一个区域内,MX记录可有多个;但每个记录的value之前应该有一个数字(0-99),表示此服务器的优先级;数字越小优先级越高
例如:
music.com. IN MX 10 mx1.music.com.
IN MX 20 mx2.music.com.
四、部署DNS服务器
1.安装DNS服务器软件包bind
dns服务器, 软件包 bind, 程序名 named
程序包:yum list all bind*
bind:服务器
bind-libs:相关库
bind-utils:客户端
bind-chroot: /var/named/chroot/
yum install bind
systemctl start named #开启之后开启udp和tcp两个端口
systemctl enabled named
2.配置相关配置文件
zone "music.com" IN {
type master;
file "music.com.zone";
}
2
)配置解析数据信息。创建相应的区域数据库文件
可根据模板创建
/
var/named/named.localhost
vim /var/named/music.com
$TTL 1D
@ IN SOA master.music.com. admin.music.com. (
0 ; serial #版本号 判断文件是否更新
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
master A 172.20.111.238
www A 172.20.111.19
chgrp named music.com.zone
systemctl restart named