DNS域名解析服务

232 阅读6分钟

一.DNS简介

1.介绍:

域名管理系统DNS(Domain Name System)是域名解析服务器的意思,应用层协议,是互联网的一项服务。它在互联网的作用是:把域名转换成网络可以识别的ip地址,在通过IP地址访问主机。 种由文字组成的名称,显而易见要更容易记忆。

实际上,每一台 DNS 服务器都只负责管理一个有限范围(一个或几个域)内的主机域 名和 IP 地址的对应关系,这些特定的 DNS 域或 IP 地址段称为 zone(区域)。根据地址解析的方向不同,DNS 区域相应地分为正向区域(包含域名到 IP 地址的解析记录)和反向区 域(包含 IP 地址到域名的解析记录)。

2.作用

  • 正向解析:根据域名查找对应的ip地址

  • 反向解析:根据ip地址查找对应的域名

3.默认端口

  • 连接DNS服务器,使用TCP协议的53端口。
  • DNS服务器进行解析,使用UDP协议的53端口。

4.DNS系统的分布式数据结构

微信截图_20230803172447.png

根域: 全球根服务器节点只有13个,10个在美国,1个荷兰,1个瑞典,1个日本

  • 一级域名:Top Level Domain: tld
  • 三类:组织域、国家域(.cn, .ca, .hk, .tw)、反向域
  • com, edu, mil, gov, net, org, int,arpa
  • 二级域名:magedu.com
  • 三级域名:study.magedu.com
  • 最多可达到127级域名

ICANN(The Internet Corporation for Assigned Names and Numbers)互联网名称与数字地址分配机构,负责在全球范围内对互联网通用顶级域名(gTLD)以及国家和地区顶级域名(ccTLD)系统的管理、以及根服务器系统的管理。

  • .com 工商企业
  • .net 网络供应商
  • .edu 教育机构
  • .cn 中国国家域名
  • .org 团体组织
  • .gov 政府部门
  • .uk 英国国家域名

二级DNS服务器:专门负责二级域名的解析

  • .net.cn
  • .edu.cn
  • .com.cn

主机站点

  • news
  • mail
  • www

注:

  • 114.114.114.114是国内移动、电信和联通通用的DNS服务器,解析成功率相对来说更高,国内用户使用的比较多,速度相对快、稳定,是国内用户上网常用的DNS。

  • 8.8.8.8是GOOGLE公司提供的DNS服务器,该地址是全球通用的,相对来说,更适合国外以及访问国外网站的用户使用。

5.DNS系统类型

缓存域名服务器

也称为DNS高速缓存服务器

通过向其他域名服务器查询获得域名->ip地址记录

将域名查询结果缓存到本地,提高重复查询的速度

主域名服务器

特定DNS区域的权威服务器,具有唯一性

复制维护该区域内所有域名->ip地址的映射记录

需要自行建立所负责区域的地址数据文件

从域名服务器

也成为辅助域名服务器,是对主域名服务器的热备份

其维护的域名->IP地址记录来源于主域名服务器

需要从主域名服务器自动同步区域地址数据库

6.DNS的查询方式(递归查询和迭代查询)

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

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

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

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

方不能返回权威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)再次发起

进行查询,直到返回查询的结果为止。此查询的源不变,但查询的目标不断变化,为查询结果一般需

要发起多次查询。(需要自己动手)

7.域名解析过程

  • 客户机先去查找本机的/etc/hosts 文件,看文件中是否存在该域名和IP地址的映射记录。如果有就调用,没有就进行下一步。

  • 客户机请求本地域名服务器(LDNS)来解析这个域名,主机要求本地域名服务器直接返回最终结果。在返回结果之前,客户机将完全处于等待状态,不再二次请求。统一由本地域名服务器向各级域名服务器转发请求。

  • 本地域名服务器收到客户机的请求后,先查询自己的缓存信息,如果有这个域名的映射记录则返回结果,没有则进行下一步。

  • 本地域名服务器请求根域名服务器解析这个域名,根域名告诉本地域名服务器去找对应的一级域名服务器。

  • 本地域名服务器请求一级域名服务器解析这个域名,一级域名服务器告诉它去找对应的二级域名服务器。

  • 本地域名服务器请求二级域名服务器解析这个域名,二级域名服务器告诉它去找对应的子域名服务器。

  • 本地域名服务器请求子域名服务器解析这个域名,子域名服务器返回对应的IP地址。

  • 本地域名服务器将IP地址记录到缓存中,并返回给客户机。

二.DNS软件bind

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

  • bind:服务器

  • bind-libs:相关库

  • bind-utils: 客户端

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

三.正向解析

举例:

1.将DNS服务器改为本机IP

微信截图_20230803191002.png

2.本机使用的DNS服务器已变为本机地址

微信截图_20230803191337.png

3.安装主软件与配置包管理软件及查看配置文件路径

微信截图_20230803184332.png

微信截图_20230803184836.png

4.编辑主配置文件

微信截图_20230803185601.png

5.启动named服务

微信截图_20230803191644.png

6.编辑区域配置文件/etc/named.rfc1912.zones文件,设置正向解析区域。

微信截图_20230803192338.png

7.建立正向解析区域数据库文件hrx.com.zone

微信截图_20230803192711.png

8.编辑hrx.com.zone文件,设置每个域名对应的IP地址记录。

微信截图_20230803194505.png

9.重新启动named服务,或重载配置。验证正向解析是否成功。

微信截图_20230803193651.png

四.反向解析

注:相关配置上面实验已经设置完毕,接着做反向解析。

1.编辑/etc/named.rfc1912.zones文件

微信截图_20230804120926.png

微信截图_20230804121353.png

2.复制反向解析文件

微信截图_20230804121553.png

3.编辑反向数据库文件

微信截图_20230804121810.png

微信截图_20230804122149.png

4.重启服务

微信截图_20230804122304.png

5.验证反向解析

微信截图_20230804122435.png

五.主从复制

注释:做主从复制需要两台虚拟机,而上面正向解析已经做好,我们这里可以 直接使用,所以现在我们开始做从服务器相关配置。

小一.从服务器

1.安装bind软件包

微信截图_20230804180728.png

2.关闭防火墙和selinux

微信截图_20230804181036.png

3.编辑全局文件

微信截图_20230804181223.png

微信截图_20230804181337.png

4.编辑区域文件

微信截图_20230804181454.png

微信截图_20230804181735.png

5.重启服务

微信截图_20230804181839.png

6.检查是否备份到数据

微信截图_20230804182020.png

小二.主服务器设置

1.重新编辑文件

微信截图_20230804182209.png

微信截图_20230804182426.png

2.编辑网卡

微信截图_20230804182545.png

微信截图_20230804182702.png

微信截图_20230804182803.png

3.停用主服务器named服务

微信截图_20230804182944.png

4.验证实验结果

微信截图_20230804183121.png

总结:注意空格等符号,否则容易造成实验失败,检查需要耗费时间。