DNS域名解析服务
域名作为替代IP地址的访问名称,构成是由顶级域名—代表国家,机构或组织等,二级域名—企业名称或品牌名称等,主机名—www或主机所提供的服务名称等自主命名组成,相较于IP地址,域名更容易被理解和记忆。
鉴于互联网中的域名和 IP 地址对应关系数据库太过庞大, DNS 域名解析服务采用了类似目录树的层次结构来记录域名与 IP 地址之间的对应关系,从而形成了一个分布式的数据库系统,如下图所示:
DNS服务器的类型
- 主服务器: 在特定区域内具有唯一性,负责维护该区域内的域名与 IP 地址之间的对应关系。
- **从服务器:**从主服务器中获得域名与 IP 地址的对应关系并进行维护,以防主服务器宕机等情况。
- 缓存服务器: 通过向其他域名解析服务器查询获得域名与 IP 地址的对应关系,并将经常查询的域名信息保存到服务器本地,以此来提高重复查询时的效率
简单来说,主服务器是用于管理域名和 IP 地址对应关系的真正服务器,从服务器帮助主服务器“打下手”,分散部署在各个国家、省市或地区,以便让用户就近查询域名,从而减轻主服务器的负载压力。缓存服务器不太常用,一般部署在企业内网的网关位置,用于加速用户的域名查询请求。
DNS服务器解析分类
- SOA:描述域管理NS,主从DNS服务器同步参数
- NS:域DNS服务器FQDN
- A:域名到IP的映射
- MX:域邮件服务器
- CNAME:域名别名
- PTR:IP到域名的映射
DNS服务器的解析过程
DNS 域名解析服务采用分布式的数据结构来存放海量的“区域数据”信息,在执行用户发起的域名查询请求时,具有递归查询和迭代查询两种方式。所谓递归查询,是指 DNS 服务器在收到用户发起的请求时,必须向用户返回一个准确的查询结果。如果 DNS 服务器本地没有存储与之对应的信息,则该服务器需要询问其他服务器,并将返回的查询结果提交给用户。而迭代查询则是指, DNS 服务器在收到用户发起的请求时,并不直接回复查询结果,而是告诉另一台 DNS 服务器的地址,用户再向这台 DNS 服务器提交请求,这样依次反复,直到返回查询结果。
向 DNS 服务器发起域名查询请求的流程
Bind服务程序的主要配置文件
-
主配置文件(/etc/named.conf): 只有 58 行,而且在去除注释信息和空行之后,实际有效的参数仅有 30 行左右,这些参数用来定义 bind 服务程序的运行。
-
区域配置文件(/etc/named.rfc1912.zones): 用来保存域名和 IP 地址对应关系的所在位置。类似于图书的目录,对应着每个域和相应 IP 地址所在的具体位置,当需要查看或修改时,可根据这个位置找到相关文件。
-
数据配置文件目录(/var/named): 该目录用来保存域名和 IP 地址真实对应关系的数据配置文件
例子1:DNS正向解析
1.安装bind服务程序
yum -y install bind*
2.配置主配置文件
vim /etc/named.conf #修改主配置文件中的如下两行
listen-on port 53 { any; }; #监听所有地址的53端口
allow-query { any; }; #允许所有人请求
检查配置文件参数是否有错误,执行如下命令: