目录
一、DNS的简介
DNS的定义:
DNS是"域名系统"的英文缩写。它作为将域名和P地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS服务使用TCP和UDP的53端口,Tcp的53端口用于连接DNS服务器,UDP的53端口用于解析DNS。每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
TCP 53号端口:连接DNS服务器
UDP 53号端口:解析DNS
DNS系统的分布式数据结构👇

1.根域
根域的作用是用来表示域名的最顶层,它是整个域名系统的基础一般用一个 "." 表示
2.顶级域
DNS中的一种域名层级,位于根域下面,是域名的最高级别。通常用来代表一种类型的组织机构、国家地区或者某种特定的用途。
3.二级域
DNS中的一个层级,位于顶级域名之下,用来标明顶级域名内的一个特定的组织、公司、机构或者地区。(在国家和地区顶级域名下面设置的二级域名通常由该国家或地区的网络管理部门或注册机构统一管理)
4.子域
指在一个顶级域名或二级域名下创建的更低一级的域名。DNS域名系统中,子域名是由更高级别的域名的所有者创建和管理的,它们被用来进一步划分和组织网络
5.主机
指网络中的具体计算机或设备,位于DNS中的最下层。每台主机都有一个唯一的主机名,用来识别和区分不同的计算机。主机名通常用来表示特定的服务、应用程序或者功能,比如 www 表示Web服务器、mail 表示邮件服务器等。
DNS系统的作用
正向解析:根据域名查找对应的IP地址 (确定域名所对应的IP地址)
反向解析:根据IP地址查找对应的域名 (确定IP地址所对应的域名)
DNS系统类型
缓存域名服务器
- 也称为DNS高速缓存服务器
- 通过向其他域名服务器查询获得域名 ->IP地址记录
- 将域名查询结果缓存到本地,提高重复查询时的速度
主域名服务器
- 特定DNS区域的权威服务器,具有唯一性
- 负责维护该区域内所有域名->IP地址的映射记录
- 需要自行建立所负责区域的地址数据文件
从域名服务器
- 也称为辅助域名服务器,是对主域名服务器的热备份
- 其维护的域名->IP地址记录来源于主域名服务器
- 需要从主域名服务器自动同步区域地址数据库
两种查询方式
1 递归查询
(主机向本地域名服务器的查询一般都是采用递归查询)
递归查询是一种 DNS 查询方式,其中 DNS 客户端发送一个查询请求到 DNS 服务器,并要求服务器提供所请求的数据。如果服务器拥有所请求的数据,它会直接返回给客户端;如果没有,它会代表客户端向其他 DNS 服务器发出查询,直到找到所需的数据或者达到查询超时限制。递归查询的过程是由 DNS 服务器完成的,而不是由 DNS 客户端自己进行的。
(简单来说就是将DNS解析请求一探到底,再逐层返回)
2 迭代查询
(本地域名服务器向根域名服务器的查询是迭代查询)
迭代查询是另一种 DNS 查询方式,其中 DNS 客户端向 DNS 服务器发送一个查询请求,并要求服务器提供所请求的数据或者指示它应该向哪个其他 DNS 服务器发送进一步的查询。DNS 服务器要么返回所请求的数据,要么提供另一个 DNS 服务器的地址,让客户端继续查询。客户端将继续向返回的服务器发送查询,直到找到所需的数据或者达到查询超时限制。与递归查询不同,迭代查询是由 DNS 客户端在与多个 DNS 服务器之间进行的。
(简单来说就是每次DNS解析请求都会用相对应的响应回复)

二.正向解析实验
1.先关闭防火墙、selinux

(vim /etc/selinux/config打开以后改为SELINUX= disabled关闭)

2.安装bind
yum install -y bind #安装

3.查看配置、修改配置
先查看配置

再修改配置

{ any; } 允许服务器在所有可用的网络接口上接收来自客户端的 DNS 查询请求
allow-query { any; } BIND 服务器允许任何 IP 地址的主机向其发送 DNS 查询请求
4.修改区域配置文件
正向解析👇

反向解析👇

5.修改
正向解析👇

反向解析👇

6.开启/重启named服务

7.验证

( vim ifcfg-en33打开后配置信息)👇

(vim /etc/resolv.conf打开后的配置信息) 👇
