DNS服务实现原理及安装部署

一、DNS简介

DNS(DomainNameSystem,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。通常DNS在查询的时候是以udp这个快速的传输协议来查询的,如果一旦没有办法查询到完整的信息时就会再次以TCP协议来进行重新查询,因此DNS服务在启动的时候会同时开启tcp53端口和udp53端口

DNS的主要作用就是将主机名解析成IP地址的过程,通过配置DNS服务器地址,主机不需要知道对应的IP地址就能通过主机名的形式访问互联网。

二、DNS域名

根域

一级域名:Top Level Domain: tld

com, edu, mil, gov,net, org, int,arpa

三类:组织域、国家域(.cn, .ca, .hk, .tw)、反向域

二级域名

三级域名

最多127级域名

DNS 域名结构

三、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

(3)主从服务区域传输相关定义以及否定的答案的统一的TTL

	例如:
		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.配置相关配置文件

/etc/named.rfc1912.zones  DNS的区域配置文件
/etc/named.conf  为DNS的主配置文件
/etc/rc.d/init.d/named  DNS的服务脚本
1)配置区域数据信息vim/etc/named.rfc1912.zones  #编辑这个文件,创建域,这里以添加music域为例
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

四、测试 DNS 服务是否可以正常解析,如下图所示解析成功

猜你喜欢

转载自blog.csdn.net/weixin_41979048/article/details/80530822