开发者

Linux中DNS域名解析服务详解

开发者 https://www.devze.com 2025-10-10 09:57 出处:网络 作者: gtyy9
目录1、DNS简介2、DNS系统的作用3、DNS系统类型4、本地名称解析配置文件——hosts5、DNS服务器域名解析5.1DNS服务器工作原理(分层解析)5.2查询方式5.2.1递归查询5.2.2迭代查询6、构建域名解析服务器6.1正向
目录
  • 1、DNS简介
  • 2、DNS系统的作用
  • 3、DNS系统类型
  • 4、本地名称解析配置文件——hosts
  • 5、DNS服务器域名解析
    • 5.1DNS服务器工作原理(分层解析)
    • 5.2查询方式
      • 5.2.1递归查询
      • 5.2.2迭代查询
  • 6、构建域名解析服务器
    • 6.1正向解析
      • 6.2反向解析
        • 6.3主从复制
        • 总结

          1、DNS简介

          DNS(Domain Name Systern) 域名系统,应用层协议,是互联网的一项服务,是将域名转换成网络可以识别的IP地址,再通过IP地址访问主机。这种由文字组成的名称,显而易见更容易记忆

          它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,基于C/S架构服务器端:53/udp, 53/tcp。

          实际上,每一台DNS服务器都只负责管理一个有限范围(一个或几个域)内的主机域名和IP地址的对应关系,这些特定的DNS域或IP地址段称为zone(区域〉。

          根据地址解析的方向不同,DNS区域相应地分为正向区域(包含域名到IP地址的解析记录)和反向区域(包含IP地址到域名的解析记录)。

          2、DNS系统的作用

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

          DNS系统的分布式数据结构:

          • 根域:一般用"."表示,可省略不写
          • 一级(顶级)DNS服www.devze.com务器:专门负责一级域名的解析(一般代表一种类型的组织机构或国家地区)
          • 二级DNS服务器:专门负责二级域名的解析
          • 子域名(三级域名)DNS服务器:专门负责子域名的解析

          Linux中DNS域名解析服务详解

          3、DNS系统类型

          缓存域名服务器

          • 也称为DNS高速缓存服务器
          • 通过向其他域名服务器查询获得域名-->IP地址记录
          • 将域名查询结果缓存到本地,提高重复查询时的速度

          主域名服务器

          • 特定DNS区域的权威服务器,具有唯一性
          • 负责维护该区域内所有域名--www.devze.com>IP地址的映射记录
          • 需要自行建立所负责区域的地址数据文件

          从域名服务器

          • 也称为辅助域名服务器,是对主域名服务器的热备份
          • 其维护的域名-->IP地址记录来源于主域名服务器
          • 需要从主域名服务器自动同步区域地址数据库

          4、本地名称解析配置文件——hosts

          文件位置

          • linux hosts文件位置:/etc/hosts
          • Windows hosts文件位置 :c/windows/system32/drivers/etc/hosts

          优先级

          在/pythonetc/nsswitch.conf文件中默认hosts优先级高于DNS服务器

          Linux中DNS域名解析服务详解

          举例说明

          在hosts文件中自己百度的的IP与域名 IP地址是自己随机填写的

          Linux中DNS域名解析服务详解

          • files优先级高于dns

          /etc/nsswitch.conf文件中files在dns前 查看百度的IP地址会发现百度的IP地址为自己随机设置的IP

          Linux中DNS域名解析服务详解

          Linux中DNS域名解析服务详解

          • dns优先级高于files

          /etc/nsswitch.conf文件中在files前 查看百度的IP地址会发现百度的IP地址为dns服务器查询到的IP

          Linux中DNS域名解析服务详解

          5、DNS服务器域名解析

          5.1DNS服务器工作原理(分层解析)

          • 先查本机的缓存记录,查询etc/hosts文件,文件中如果存在域名与IP的记录直接调用,没有就利用DNS服务器
          • 客户端请求DNS域名服务器解析域名,交给DNS域名服务器处理此过程成为递归查询
          • 这个DNS服务器可能是本地域名服务器,查询自己的缓存记录,如果有直接返回结果,如果没有则进行下一步
          • 本地域名服务器求助根域python服务器,根域服务器返回可能会知道结果的顶级域服务器让他去找顶级域(一级域)服务器
          • 求助顶级域服务器,顶级域服务器返回可能会知道结果的二级域服务器然他去找二级域服务器
          • 求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的ip地址返回给本地域名服务器
          • 本地域名服务器将结果记录到缓存,然后把域名和IP的对应关系返回给客户端,客户机根据返回的IP地址进行访问

          5.2查询方式

          5.2.1递归查询

          客户端和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后, 若DNS服务器本身不能解析,则会向其他的DNS服务器发出查询请求,得到最终肯定或否定的结果转交给客户机。但是客户机不会自己再继续向域名服务器寻找,客户机属于等待状态。

          5.2.2迭代查询

          一般情况下本地DNS服务器向其它DNS服务器的查询属于迭代查询,若这个DNS服务器不能返回查询的IP地址,则这个DNS服务器会向下一个DNS服务器再次发起请求进行查询,直到返回查询的结果为止

          6、构建域名解析服务器

          6.1正向解析

          本机IP地址为192.168.52.200

          解析出www.my.com的IP地址

          步骤:

          • 安装软件包
          • 关闭防火墙
          • 编辑主配置文件named.conf
          • 编辑区域配置文件named.rfc1912.zones
          • 建立区域数据文件my.com.zone
          • 重启并测试

          安装bind软件包 (bind为DNS服务程序)并查看配置文件的路径

          Linux中DNS域名解析服务详解

          Linux中DNS域名解析服务详解

          关闭防火墙

          Linux中DNS域名解析服务详解

          编辑主配置文件

          Linux中DNS域名解析服务详解

          下拉主配置文件可以发现在主配置文件里包含区域配置文件

          Linux中DNS域名解析服务详解

          编辑区域配置文件,添加正向区域配置

          Linux中DNS域名解析服务详解

          编辑正向解析区域数据文件my.com.zone

          • 复制文件

          Linux中DNS域名解析服务详解

          • 编辑正向解析区域数据文件

          Linux中DNS域名解析服务详解

          编辑网卡配置文件,将DNS修改为本机

          Linux中DNS域名解析服务详解

          Linux中DNS域名解析服务详解

          重启服务

          Linux中DNS域名解析服务详解

          测试

          Linux中DNS域名解析服务详解

          6.2反向解析

          本机IP地址为192.168.52.100

          解析出192.168.52.88的域名

          步骤:

          • 安装软件包
          • 关闭防火墙
          • 编辑主配置文件named.conf
          • 编辑区域配置文件named.rfc1912.zones
          • 建立区域数据文件qyd.com.zone
          • 重启并测试

          安装bind软件包并查看配置文件的路径

          Linux中DNS域名解析服务详解

          Linux中DNS域名解析服务详解

          关闭防火墙

          Linux中DNS域名解析服务详解

          编辑主配置文件

          Linux中DNS域名解析服务详解

          编辑区域配置文件,添加反向区域配置

          Linux中DNS域名解析服务详解

          编辑区域数据配置文件

          • 复制并改名

          Linux中DNS域名解析服务详解

          • 编辑文件内容

          Linux中DNS域名解析服务详解

          编辑网卡配置文件,将DNS修改为本机

          Linux中DNS域名解析服务详解

          重启服务

          Linux中DNS域名解析服务详解

          测试 解析成功

          Linux中DNS域名解析服务详解

          6.3主从复制

          • 主服务器IP地址:192.168.52.200
          • 从服务器IP地址:192.168.52.100
          • 主服务器配置与6.1正向解析步骤相同

          从服务器配置

          安装软件包,查看配置文件

          Linux中DNS域名解析服务详解

          Linux中DNS域名解析服务详解

          关闭防火墙

          Linux中DNS域名解析服务详解

          编辑主配置文件

          Linux中DNS域名解析服务详解

          python

          编辑区域配置文件

          Linux中DNS域名解析服务详解

          启动named服务,自动复制主服务器中的区域数据配置文件

          Linux中DNS域名解析服务详解

          主服务器配置

          编辑主服务器区域配置文件,并重启服务

          Linux中DNS域名解析服务详解

          Linux中DNS域名解析服务详解

          编辑网卡配置文件,将从域名服务器增加为第二台DNS服务器

          Linux中DNS域名解析服务详解

          重启网络服务

          Linux中DNS域名解析服务详解

          关闭主服务器的DNS服务

          Linux中DNS域名解析服务详解

          测试

          Linux中DNS域名解析服务详解

          总结

          以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

          0

          精彩评论

          暂无评论...
          验证码 换一张
          取 消

          关注公众号