DNS

发布时间 2023-08-04 14:06:17作者: Tsumiki

一.名字解析介绍和DNS

1.本地名称解析配置文件:hosts

目录位置

linux 系统 :/etc/host

windows:c/windows/system32/drivers/etc/hosts

 修改 files 和 dns 的优先级

 

二.DNS服务器类型

       缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,

但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定

其他 DNS 服务器作为解析来源。

        主域名服务器:管理和维护所负责解析的域内解析库的服务器

         从域名服务器

          从主服务器或从服务器"复制"(区域传输)解析库副本

         序列号:解析库版本号,主服务器解析库变化时,其序列递增

刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔

重试时间间隔:从服务器请求同步失败时,再次尝试时间间隔

过期时长:从服务器联系不到主服务器时,多久后停止服务

通知机制:主服务器解析库发生变化时,会主动通知从服务器

 

三.DNS查询类型及原理

1)查询方式

递归查询

一般客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后,

若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到最终的肯定或否定的结

果后转交给客户机。此查询的源和目标保持不变,为了查询结果只需要发起一次查询。(不需要自己动手)

迭代查询

一般情况下(有例外)本地的DNS服务器向其它DNS服务器的查询属于迭代查询,如:若对

方不能返回权威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)再次发起进行查询,直到返回查询的结果为止。此查询的源不变,但查询的目标不断变化,为查询结果一般需要发起多次查询。(需要自己动手)

 

2)查询原理过程

正向解析查询过程:

①先查本机的缓存记录

②查询hosts文件

③查询dns域名服务器,交给dns域名服务器处理 以上过程成为递归查询:我要一个答案你直接会给我结果

④这个dns服务器可能是本地域名服务器,也有个缓存,如果有直接返回结果,如果没有则进行下一步

⑤求助根域服务器,根域服务器返回可能会知道结果的顶级域服务器让他去找顶级域服务器

⑥求助顶级域服务器,顶级域服务器返回可能会知道结果的二级域服务器然他去找二级域服务器

⑦求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的ip地址返回给本地域名服务器

⑧本地域名服务器将结果记录到缓存,然后把域名和ip的对应关系返回给客户端

 

windows系统查询dns缓存命令:ipconfig /displaydns

windows系统清理dns缓存命令:ipconfig /flushdns

linux清dns缓存需要安装nscd软件,启动、执行nscd -i hosts

 

DNS软件bind

DNS服务器软件:bind ,powerdns , dnsmasq , unbound , coredns

bind:服务器

bind-libs:相关库

bind-utils:客户端

bind-chroot:安全包,将dns相关文件放至/var/named/chroot/