????????DNS:Domain Name System 域名系统,应用层协议,是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,基于C/S架构。
服务器端:
????????TCP 53号端口:连接DNS服务器
????????UDP 53号端口:解析DNS
? ? ? ? DNS系统在网络中的作用就算维护右拐地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正向解析与反向解析。
域名的组成由多个部分组成,包括:
????????1. 顶级域名(Top-level domain,TLD):顶级域名是域名的最高级别分类,它位于域名的最右边,常见的顶级域名包括.com、.net、.org、.edu、.gov等。
????????2. 二级域名(Second-level domain,SLD):二级域名是顶级域名之下的一个级别,它位于顶级域名的左边,用于指代组织、公司、个人等实体。
????????3. 子域名(Subdomain):子域名是在二级域名之下的一个级别,它位于二级域名的左边,用于进一步细分网站或服务的部分。
????????4. 主机名(Hostname):主机名是子域名之下的一个级别,它通常指代一个具体的计算机或服务器,用于定位特定的网站或服务。
例如,www.baidu.com.中,.是根域,.com是顶级域名,.baidu是二级域名,www是主机名。
根的dns服务器只能解析????????????????主机名+根域
顶级域的dns服务器只能解析? ? ? ? ?主机名+顶级域+根域
二级域的dns服务器只能解析? ? ? ? ?主机名+二级域+顶级域+根域。
DNS的查询方式有以下几种:
????????1. 递归查询(Recursive Query):客户端向本地DNS服务器发送查询请求,如果本地DNS服务器有缓存,则直接返回结果;如果没有缓存,则向其他DNS服务器继续查询,并一直追踪直到得到最终的查询结果,然后返回给客户端。(只需要一次就能得到结果)
????????2. 迭代查询(Iterative Query):客户端向本地DNS服务器发送查询请求,本地DNS服务器将查询请求转发给根域名服务器,根域名服务器返回所查询的顶级域名服务器的地址,本地DNS服务器再将查询请求转发给顶级域名服务器,顶级域名服务器返回所查询的权威域名服务器的地址,本地DNS服务器再将查询请求转发给权威域名服务器,直到得到最终的查询结果,然后返回给客户端。(需要多次)
DNS解析过程大致分为以下步骤:
????????1. 客户端发起DNS查询请求:当用户在浏览器中输入一个域名(如www.baidu.com)并按下回车键时,操作系统的网络栈会将该域名发送给本地DNS服务器,发起DNS查询请求。
????????2. 本地DNS服务器查询缓存:本地DNS服务器首先会检查自己的缓存(/etc/hosts)中是否有该域名对应的IP地址。如果有,则直接返回给客户端(递归),完成解析过程。
????????3. 本地DNS服务器进行迭代查询:如果本地DNS服务器的缓存中没有对应的IP地址,它会将查询请求转发给根域名服务器。根域名服务器返回顶级域名服务器的地址。
????????4. 查询顶级域名服务器:本地DNS服务器将查询请求转发给顶级域名服务器,并请求解析该域名。顶级域名服务器返回二级域名服务器的地址。
????????5. 查询二级域名服务器:本地DNS服务器再将查询请求转发给二级域名服务器,并请求解析该域名。二级域名服务器返回域名对应的IP地址。
????????6. 本地DNS服务器响应客户端:本地DNS服务器收到域名对应的IP地址后,将结果缓存,并将该IP地址返回给客户端。
????????7. 客户端向目标服务器发起请求:客户端收到IP地址后,会向该IP地址对应的服务器发送请求,进行网络通信。
权威dns服务器: 解析成功的服务器成为权威服务器。
缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效果,但是没有自己控制的区域地址数据。
主域名服务器:维护某一个特定DNS区域的地址数据库,对其中的解析记录具有自主控制权,是指定区域中唯一存在的权威服务器。
各软件包的主要作用如下:
bind:提供了域名服务的主要程序及相关文件。
bind-utils:提供了对DNS服务器的测试工具程序,如nslookup等。
bind-libs:提供了bind、bind-utils需要使用的库函数。
默认已安装 bind-utils 和?bind-libs ,所以只需要安装 bind 和 bind-chroot 即可。
? ? ? ? 1. 安装bind软件包
? ? ? ? 2. 修改配置文件
?vim /etc/named.conf?——主配置文件
vim?/etc/named.rfc1912.zones —— 域名配置文件
/var/named这个文件夹是 named 用户的 家目录?
主服务器地址:172.168.1.11
从服务器地址:172.168.1.22
?????????等主服务器配置好了再启动
关闭主服务器的服务后