DNS学习笔记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DNS学习笔记相关的知识,希望对你有一定的参考价值。

主要内容:
dns简介(定义,组成,分类)
什么是递归查询与迭代查询?
为什么禁用权威域名服务器递归查询?
构建域名解析缓存
利用BIND实现简单负载均衡
掌握BIND监控技巧

dns简介

dns(domain name system, 域名系统)带层级的分布式系统,主要负责将域名转换到IP地址,反查从IP到域名的解析以及宣告邮件路由等信息。如:网站访问,邮件服务

组成

1)域名服务器(服务端),提供域名解析服务的软件,一般监听UDP,TCP的53端口。

如:linux系统中常见的BIND,windows server 中集成的DNS服务器组件。

2)解析器(客户端),访问域名服务器的客户端。负责解析从域名服务器获取的响应,向调用它的应用响应返回IP地址或者别名等信息。

如:linux系统中的gethostbyname()函数,windows系统中的nslookup等。

域名服务器,根据用途分类

权威域名服务器:

1)根域名服务器,最上层权威域名服务器,负责对.com,.cn,.org 等顶级域名的向下授权。

2)顶级域名服务器,分两类,通用顶级域名(如.com, .org, .info),国家代码顶级域名(如:.uk, .cn, .jp)

3)二级域名服务器,服务于具体域名解析,如:sdo.com

以上三级有上向下授权

缓存域名服务器

负责接收解析器发过来的DNS请求,依次向根域名服务器,顶级域名服务器,二级域名服务器,获取DNS的解析条目,然后把响应结果发送给解析器。同时根据DNS条目的TTL(time to live, 存活时间)值进行缓存。

转发域名服务器

负责接收解析器的请求,转发给指定的上级域名服务器获得DNS的解析条目,然后响应结果给解析器,不做缓存,只做转发。

什么是递归查询与迭代查询?

递归查询是依次向根域名服务器,顶级域名服务器,二级域名服务器,获取DNS的解析条目。

迭代查询是指域名服务器并不直接代替解析器进行依次查询,而是返回一个参考列表,这个列表指出了解析DNS请求的服务器,由解析器向该列表的服务器进行DNS查询。

为什么禁用权威域名服务器递归查询?

原因:打开递归功能,相当于把它配置成开放的DNS服务器,会造成大量的数据流量,影响正常业务。

构建域名解析缓存

1.优化DNS响应速度,通过缓存结果,减少外部的访问,减少网络访问的延时。

2.减少DNS对外部网络的依赖,可减少短暂的外部网络不可用导致的影响。

NSCD,名称服务缓存进程。linux环境中广泛使用的域名缓存软件。软件的安装这里就不介绍了。

windows 查看当前系统中缓存的条目,ipconfig /displaydns

注意:记录类型:1为A记录,5为CNAME别名

清理本机DNS缓存 ipconfig /flushdns

利用BIND实现简单负载均衡

1)A记录,这是简单和常用的类型,即把域名解析为IP地址

2)CNAME记录,别名,就是多个域名指向同一个IP

3)ns记录。它指定使用ns1.sdo.com作为解析授权域sdo.com的权威域名服务器。

支持同一个域名指定多个A记录和NS记录。

掌握BIND监控技巧

系统负载监控,CPU使用率,内存使用率,网络带宽监控,

named 进程监控。

使用dig对named提供的服务进行监控







以上是关于DNS学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

13.swoole学习笔记--DNS查询

DNS学习笔记之DNS理论知识

DNS学习笔记

学习笔记-DNS服务和BIND

DNS服务相关概念_学习笔记

Python学习笔记-DNS域名轮循业务监控