首页 > 代码库 > 一、DNS解析的基本原理

一、DNS解析的基本原理

一、DNS解析的基本原理

1、基础知识

DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。

2、专业术语

FQDN : Full Qualified Domain Name  完全合格域名

例如:www.baidu.com   www.mirrors.163.com

名称解析:主机名解析 把一种名称转换为另一种名称的过程

解析库:username <--> uid  存储域名与IP 对应的数据库

域名解析:根所用户所提供一种名称,去查询解析库,以得到另一种名称

递归:A--B--C--D

迭代:A--B  A--C   A---D 

hosts --> local dns cache --> dns server (cache) --> 迭代

正向解析:FQDN --- 解析库 --- IP

反向解析:IP --- 解析库 --- FQDN

域:domain, 区域:zone

反向区域:

区域名称为逆向网络地址加.in-addr.arpa做后缀

172.16.110.143

110.16.172.in-addr.arpa

说明:

正向解析和反向解析文件中的名称可以仅使用相对名称,它们均相对当前区域而言;

绝对后缀可以使用$ORIGIN来定义;

DNS服务器类型:

主DNS服务器 :主从结构中负责解析DNS域名的服务器

从DNS服务器 :主从结构中负责同步主DNS域名的服务器,主要作用是冗余备份

缓存服务器 :其实就是主DNS域名服务器查询非本地域名的缓存记录

解析库文件同步的过程:区域传送 (单方向传送)zone transfer

完全区域传送:axfr 主从同步全部数据都传递

增量区域传送: ixfr 主从同步跟新数据传递同步

周期性检查 :同步机制通知同步

3、根域名结构图

1、一般划分图

wps_clip_image-12555

2、按类划分图

wps_clip_image-27143

4、一次域名解析的过程,排除本地缓存DNS

wps_clip_image-26396

以www.dingchao.com为例

1、客户端请求本地DNS解析,递归给本地请求,本地查询解析库没有,

2、发给根 “.”查询

3、根查询说没有,叫去 “.com”根哪里查询,返回给本地

4、本地又去“.com”根哪里查询,查到到“.dingchao.com”

5、“.com”根哪里查询到 “.dingchao.com”返回给本地

6、本地又去“.dingchao.com”找到“www.dingchao.com”

7、“.dingchao.com”找到“www.dingchao.com”返回给本地DNS

8、本地DNS 把最后查询结果返回给客户端

9、客户端直接迭代到到“www.dingchao.com”

二、配置文件修改的基础知识

资源记录类型:

name  [ttl]  IN  RRType    value

1、SOA

任何解析库文件的第一个记录的类型必须是SOA

SOA:Start Of Authority

name: 区域名称,通常可以简写为@

value: 主DNS服务器的FQDN,也可以当前区域的区域名称;

例如:@ IN   SOA   ns.magedu.com.   admin.magedu.com.  (

        serial number   ;解析库的版本号,

例如2014080401

refresh time    ;周期性同步的时间间隔

retry time      ;重试的时间间隔

expire time     ;过期时长

negative answer ttl ;否定答案的统一缓存时长

          )

2、NS 记录

NS:name server

name: 区域名称

value: DNS服务器的FQDN

例如:@  IN  NS  ns.magedu.com.

注意:

如果有多台NS服务器,每一个都必须有对应的NS记录;

对于正向解析文件来讲,每一个NS的FQDN都应该有一个A记录;

MX:Mail eXchanger

name: 区域名称

value: 邮件服务器的FQDN

    例如:

@  IN  MX  10   mail.magedu.com.

@   IN  MX  20   mail2.magedu.com.

3、MX记录

注意:

如果有多台MX服务器,每一个都必须有对应的MX记录;但各MX记录还有优先级属性

对于正向解析文件来讲,每一个NS的FQDN都应该有一个A记录;

PTR: pointer

name: 逆向的主机IP地址加后缀in-addr.arpa,例如172.16.100.7/16, 网络地址为172.16, 主机地址为100.7,其name为7.100.in-addr.arpa.

value: FQDN

4、bind服务脚本

服务脚本:/etc/rc.d/init.d/named

主配置文件:/etc/named.conf, /etc/named.rfc1912.zones

区域解析库文件:/var/named/zone_name.zone

三、实验

wps_clip_image-27507

一、主服务器的正反解析

1、IP 设置好

2、安装rpm包的bind yum install bind*

3、修改主配置文档 /etc/named.conf

wps_clip_image-20640

wps_clip_image-23471

 

4、主配置文档修改好了就相当于是一个缓存dns服务器啦,可以启动服务查看是否支持

wps_clip_image-5929

5、正向主配置文件声明:修改主配置文件 /etc/named.rfc1912.zones

wps_clip_image-27000

6、zone配置文件的新建修改 /var/named/dingchao.com.zone

wps_clip_image-12558

$ORINIG 定义是个变量 相当于 dingchao.com. 另外一种配置方法

wps_clip_image-5123

6、对新建配置文件的语法测试

wps_clip_image-11492

7、修改权限并复制正向改名

wps_clip_image-18802

wps_clip_image-30955

8、反向配置文件的声明/etc/named.rfc1912.zones

wps_clip_image-27398

9、反向配置文件的修改 /var/named/172.16.110.zone

wps_clip_image-9041

测试反向配置语句

wps_clip_image-24073

10、重启服务 service named restart  查看配置结果 或者是

/etc/init.d/named restart

11、正向结果图

wps_clip_image-5319

12、反向结果图

wps_clip_image-18124

14、一些测试结果的命令

1、host -t RRType NAME [SERVER]

例如:host -t NS mageedu.com 172.16.110.143

2、nslookup

nslookup>

server IP:

set type={A|SOA|NS|MX}

name

3、dig

dig -t TYPE name @server

类型可使用:AXFR

例如: dig -t AXFR mageedu.com  @172.16.110.143

二、主从配置DNS配置

1、配置示意图如(上面1-1所示),配置好IP地址安装好bind,此处不必细说

2、注意事项

1、提供区域解析库

主DNS服务器:定义

从DNS服务器:同步而来

不能手动创建和修改

Linux的特性:只有管理员才能使用小于1024的端口;

named由管理员启动,启动完成后切换为以named系统用户的身份运行;

DNS主从同步:

2、时间同步;

ntp: network time protocol

ntpdate NTP_SERVER

crontab:

*/3 * * * * /sbin/ntpdate  172.16.0.1  &> /dev/null

3、bind版本差异

二者相同

主低、从高

从服务DNS安装的bind要高于或等于主DNS服务的版本,为的事上下兼容

(一)master服务器配置

1、主配置文件同前面一样

2、声明文件配置

wps_clip_image-19761

3、正向配置文件

wps_clip_image-18192

4、反向配置文件

wps_clip_image-19193

(二)从DNS 服务器配置

1、主配置文件同上一样注释掉

2、声明文件配置

wps_clip_image-24737

3、查看同步过来的文件

wps_clip_image-6578

四、总结

   通过DNS的学习一定要了解它的工作原理,至于上面的实验的话一定要注意细节,正方向文件配置的“.” ;声明文件中文件名字和真正编辑文件名字的匹配,主从同步防火墙的关闭,文件声明名字同主的一样,还有权限,属主属组等。