目录

一、DNS基本概念

1、DNS简介

2、DNS的作用

3、DNS的域名结构

1)根域

2)顶级域

3)二级域

4)子域/三级域

5)主机

4、DNS服务器类型

1)主域名服务器

2)从域名服务器

3)缓存域名服务器

4)转发域名服务器

5、DNS查询过程

1)递归查询

2)迭代查询

二、构建DNS域名解析服务器过程

1、正向解析

2、反向解析

3、配置主从服务器

1)主服务器配置

2)从服务器配置


一、DNS基本概念

1、DNS简介

DNS(Domain Name System)是域名解析服务器的意思,应用层协议,是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS服务使用TCP和UDP的53端口,TCP的53端口用于连接DNS服务器,UDP的53端口用于解析DNS。每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

2、DNS的作用

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

反向解析:根据IP地址查看对应的域名

3、DNS的域名结构

1)根域

位于树状结构最顶层,用"."表示

2)顶级域

一般代表一种类型的组织机构或国家地区

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

3)二级域

用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家部门统一管理

例如:.net.cn

           .edu.cn

           .com.cn

4)子域/三级域

二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名

5)主机

主机位于域名空间最下层,就是一台具体的计算机

主机名:www

               mail

域名与IP地址之间是多对一的关系,一个IP地址不一定只对应一个域名,且一个域名只可以对应一个IP地址

4、DNS服务器类型

1)主域名服务器

负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。

2)从域名服务器

当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。

3)缓存域名服务器

只提供域名解析结果的缓存功能 目的在于提高查询速度和效率,但没有域名数据库。它从某个远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息时用它予以响应。缓存域名服务器不是权威性服务器,因为提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。

4)转发域名服务器

负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。

5、DNS查询过程

客户端发出请求后,首先找到根域服务器,根域服务器会委派给顶级域服务器,顶级域服务器再委派给二级域服务器,二级域服务器再委派给子域服务器,子域服务器根据主机名的映射解析,解析出对应的IP地址,返还给客户端,客户端再使用IP地址进行访问

1)递归查询

“递归解析”是最常见也是默认的一种解析方式。在这种解析方式中,如果客户端配置的本地域名服务器(Local DNS服务器)不能解析的话,则后面的查询过程全部由本地域名服务器代替DNS客户端进行查询,直到本地域名服务器从权威域名服务器得到了正确的解析结果,然后由本地域名服务器告诉DNS客户端查询的结果。

在整个递归查询过程中,除一开始客户端向本地域名服务器发起查询请求外,其余各个环节均是以本地域名服务器为中心进行迭代查询,DNS客户端一直处于等待状态,直到本地域名服务器发回最终查询结果。相当于,在整个查询环节中本地域名服务器承担了中介代理的角色。

1.客户端向本机配置的本地域名服务器发起DNS域名查询请求

2.本地域名服务器收到请求后,会先查询本地缓存,如果有记录值会直接返回给客户端;如果没有记录,则本地域名服务器会向根域名服务器发起请求

3.根域名服务器收到请求后,会根据所要查询域名中的后缀将所对应的顶级域名服务器(如.com、.cn等)返回给本地域名服务器

4.本地域名服务器根据返回结果向所对应的顶级域名服务器发起查询请求

5.对应的顶级域名服务器在收到DNS查询请求后,也是先查询自己的缓存,如果有所请求域名的解析记录,则会直接将记录返回给本地域名服务器,然后本地域名服务器再将记录返回给客户端,完成整个DNS解析过程

6.如果顶级域名服务器没有记录值,就会将二级域名对应的服务器地址返回给本地域名服务器,本地域名服务器再次对二级域名服务器发起请求,如此类推,直到最终对应区域的权威域名服务器返回结果给本地域名服务器。然后本地域名服务器将记录值返回给DNS客户端,同时缓存本地查询记录,以便在TTL值内用户再次查询时直接将记录返回给客户端

2)迭代查询

DNS 服务器会向客户机提供其他能够解析查询请求的DNS 服务器地址,当客户机发送查询请求时,DNS 服务器并不直接回复查询结果,而是告诉客户机另一台DNS 服务器地址,客户机再向这台DNS 服务器提交请求,依次循环直到返回查询的结果为止。迭代查询则是指所有查询工作全部由客户端自己进行

首先客户端向本地域名服务器发起请求,如果本地域名服务器没有缓存记录,客户端便会依次对根域名服务器、顶级域名服务器和二级域名服务器等发起迭代查询,直到获得最终的查询结果

在以下条件之一满足时,就会采用迭代解析方式:

1.在查询本地域名服务器时,如果客户端的请求报文中没有申请使用递归查询,即在DNS请求报文中的RD字段没有设置为1

2.客户端在DNS请求报文中申请使用递归查询,但所配置的本地域名服务器禁止使用递归查询,即在应答DNS报文头部的RA字段设置为0

二、构建DNS域名解析服务器过程

1、正向解析

安装bind软件包

yum install bind bind-utils -y

 查询配置文件

rpm -qc bind

 修改主配置文件

vim /etc/named.conf

 修改区域配置文件

 配置正向数据文件

将数据配置文件复制到之前所创文件中

修改复制文件

vim jhy.com.zone

 修改后

 修改域名地址

vim /etc/resolv.conf

 启动服务关闭防火墙

 DNS域名解析验证

2、反向解析

修改/etc/named.rfc1912.zones配置文件,添加反向区域配置

vim /etc/named.rfc1912.zones

 复制配置文件到指定区域,然后编辑指定区域数据配置文件

[root@localhost named]# cp -p jhy.com.zone jdp.com.zone
[root@localhost named]# vim jdp.com.zone

 关闭防火墙,Linux安全机制,打开DNS域名解析服务

 修改DNS地址

 重启服务后解析测试

3、配置主从服务器

实验环境:接上述实验继续进行配置,需再开启一台虚拟机当作服务器

1)主服务器配置

延用上述实验那台

添加从服务器IP地址

vim /etc/resolv.conf

2)从服务器配置

新打开虚拟机,安装bind

编辑主配置文件

 编辑区域配置文件

 查看从服务器中是否备份主服务器中区域数据配置文件

[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl start named
[root@localhost ~]# cd /var/named
[root@localhost named]# ls

重启DNS域名解析服务,进行DNS测试

Linux中DNS服务相关推荐

  1. Linux中常见服务对应的端口号

    Linux中常见服务对应的端口号 一.常见服务对应的端口号 端口:0 端口:1 端口:7 端口:19 端口:20(数据端口) 21(控制端口) 端口:22 端口:23 端口:25 端口:42 端口:5 ...

  2. Linux中DNS服务器地址查询命令nslookup使用教程

    这篇文章主要介绍了Linux中DNS服务器地址查询命令nslookup使用教程,是Linux服务器运维的必备知识,需要的朋友可以参考下 nslookup 程序是DNS 服务的主要诊断工具,它提供了执行 ...

  3. windows访问虚拟机DNS服务器,windows虚拟机中DNS服务配置

    在linux虚拟机中进行DNS服务配置并进行正向解析反向解析我博客中已经写过,下面 我来介绍一下在windows虚拟机中DNS服务的配置使用. 1.打开一台windows虚拟机中服务器管理器--角色- ...

  4. python脚本在linux上运行的两种方式_python脚本当作Linux中的服务启动实现方法

    脚本服务化目的: python 在 文本处理中有着广泛的应用,为了满足文本数据的获取,会每天运行一些爬虫抓取数据.但是网上买的服务器会不定时进行维护,服务器会被重启.这样我们的爬虫服务就无法运行.这个 ...

  5. 设置独立服务www在Linux,linux中的服务

    Spring Boot 如何部署到 Linux 中的服务 打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux ...

  6. P7 - Windows系统中DNS服务 之 ipconfig命令

    [软考-软件设计师-历年真题-2012年下半年上午基础知识] 如果DNS服务器更新了某域名的IP地址,造成客户端域名解析故障,在客户端可以用两种方法解决此问题,其中一种是在Windows命令行下执行( ...

  7. linux中DNS域名解析服务

    目录 一.DNS 1.DNS简介 2.DNS系统的分布式数据结构 2.1 域名结构解析(简版) 2.2 域名结构解析(详细) 3.DNS系统的作用 4.DNS完整过程 5.查询方式 6.打开一个网页中 ...

  8. linux中DNS的介绍及DNS的高速缓存

    1.什么是DNS 域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网.DNS使用TCP ...

  9. Linux下DNS服务管理

    DNS(Domain Name System)域名系统 1.DNS的定义 网络中为了区别各个主机,必须为每台主机分配一个惟一的地址,这个地址即称为"IP地址".但这些数字难以记忆, ...

最新文章

  1. ADPRL - 近似动态规划和强化学习 - Note 8 - 近似策略迭代 (Approximate Policy Iteration)
  2. Unity Log重新定向
  3. poj2724(二分图匹配)
  4. 十一:外观模式详解(Service,action与dao)
  5. linux shell 去掉 文本换行符
  6. FFmpeg再学习 -- 视音频基础知识
  7. 2023年多播ABR市场将达8亿美元
  8. 深入JAVA注解之方法注解
  9. 中点和中值滤波的区别_频谱仪和EMI测试接收机什么区别?安泰维修中心分享
  10. 洛谷P4325、P4413题解(Java语言描述)
  11. 前端们等了8年!HTML5标准终于完工了
  12. PHP 验证日期格式
  13. 一个防御SQL注入攻击需要注意的问题
  14. 【车间调度】基于matlab遗传算法求解多目标流水车间调度问题【含Matlab源码 443期】
  15. Typora免费版下载【Mac、Windows】
  16. 网络授时设备(NTP时钟服务器)助力智能交通管控平台
  17. c# 高级开发应用:防止界面卡死之Application.DoEvents应用
  18. [项目管理-6]:软硬件项目管理 - 项目沟通管理(渠道、方法)
  19. SciPy安装超时(timed out)
  20. 注塑成型缺陷熔接痕产生原因及解决方案

热门文章

  1. 有源音箱和无源音箱哪个好
  2. VC/MFC DDX和DDV机制介绍
  3. iOS 有关界面设计规范的一些总结
  4. 熊乃瑾自制蛋糕探望孤儿 岁末温情分享关爱
  5. vant weapp 多选上传图片_使用vant组件upLoad上传视频或图片
  6. easyExcel/poi导出文件Can not close IO,This archive contains unclosed entries
  7. Emlog小程序-Brief3.0
  8. Android10源码编译报错ninja: build stopped: subcommand failed处理
  9. iOS编程基础-Swift(三)-变量与简单类型
  10. 不会分布式锁,彬彬教你啊