linux|Linux中DNS域名解析服务

目录
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服务器:专门负责一级域名的解析(一般代表一种类型的组织机构或国家地区)
二级DNS服务器:专门负责二级域名的解析
子域名(三级域名)DNS服务器:专门负责子域名的解析

linux|Linux中DNS域名解析服务
文章图片

3、DNS系统类型 缓存域名服务器
  • 也称为DNS高速缓存服务器
  • 通过向其他域名服务器查询获得域名-->IP地址记录
  • 将域名查询结果缓存到本地,提高重复查询时的速度
主域名服务器
  • 特定DNS区域的权威服务器,具有唯一性
  • 负责维护该区域内所有域名-->IP地址的映射记录
  • 需要自行建立所负责区域的地址数据文件
从域名服务器
  • 也称为辅助域名服务器,是对主域名服务器的热备份
  • 其维护的域名-->IP地址记录来源于主域名服务器
  • 需要从主域名服务器自动同步区域地址数据库
4、本地名称解析配置文件——hosts 文件位置
  • Linux hosts文件位置:/etc/hosts
  • windows hosts文件位置 : c/windows/system32/drivers/etc/hosts
优先级
在/etc/nsswitch.conf文件中默认hosts优先级高于DNS服务器
linux|Linux中DNS域名解析服务
文章图片

举例说明
在hosts文件中自己百度的的IP与域名 IP地址是自己随机填写的
linux|Linux中DNS域名解析服务
文章图片

  • files优先级高于dns
【linux|Linux中DNS域名解析服务】/etc/nsswitch.conf文件中files在dns前 查看百度的IP地址会发现百度的IP地址为自己随机设置的IP
linux|Linux中DNS域名解析服务
文章图片

linux|Linux中DNS域名解析服务
文章图片

  • dns优先级高于files
/etc/nsswitch.conf文件中在files前 查看百度的IP地址会发现百度的IP地址为dns服务器查询到的IP
linux|Linux中DNS域名解析服务
文章图片

5、DNS服务器域名解析 5.1DNS服务器工作原理(分层解析)
  1. 先查本机的缓存记录,查询etc/hosts文件,文件中如果存在域名与IP的记录直接调用,没有就利用DNS服务器
  2. 客户端请求DNS域名服务器解析域名,交给DNS域名服务器处理此过程成为递归查询
  3. 这个DNS服务器可能是本地域名服务器,查询自己的缓存记录,如果有直接返回结果,如果没有则进行下一步
  4. 本地域名服务器求助根域服务器,根域服务器返回可能会知道结果的顶级域服务器让他去找顶级域(一级域)服务器
  5. 求助顶级域服务器,顶级域服务器返回可能会知道结果的二级域服务器然他去找二级域服务器
  6. 求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的ip地址返回给本地域名服务器
  7. 本地域名服务器将结果记录到缓存,然后把域名和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|Linux中DNS域名解析服务
文章图片

linux|Linux中DNS域名解析服务
文章图片

关闭防火墙
linux|Linux中DNS域名解析服务
文章图片

编辑主配置文件
linux|Linux中DNS域名解析服务
文章图片

下拉主配置文件可以发现在主配置文件里包含区域配置文件
linux|Linux中DNS域名解析服务
文章图片

编辑区域配置文件,添加正向区域配置
linux|Linux中DNS域名解析服务
文章图片

编辑正向解析区域数据文件my.com.zone
  • 复制文件
linux|Linux中DNS域名解析服务
文章图片

  • 编辑正向解析区域数据文件
linux|Linux中DNS域名解析服务
文章图片

编辑网卡配置文件,将DNS修改为本机
linux|Linux中DNS域名解析服务
文章图片

linux|Linux中DNS域名解析服务
文章图片

重启服务
linux|Linux中DNS域名解析服务
文章图片

测试
linux|Linux中DNS域名解析服务
文章图片

6.2反向解析
本机IP地址为192.168.52.100
解析出192.168.52.88的域名
步骤:安装软件包
关闭防火墙
编辑主配置文件named.conf
编辑区域配置文件named.rfc1912.zones
建立区域数据文件qyd.com.zone
重启并测试
安装bind软件包并查看配置文件的路径
linux|Linux中DNS域名解析服务
文章图片

linux|Linux中DNS域名解析服务
文章图片

关闭防火墙
linux|Linux中DNS域名解析服务
文章图片

编辑主配置文件
linux|Linux中DNS域名解析服务
文章图片

编辑区域配置文件,添加反向区域配置
linux|Linux中DNS域名解析服务
文章图片

编辑区域数据配置文件
  • 复制并改名
linux|Linux中DNS域名解析服务
文章图片

  • 编辑文件内容
linux|Linux中DNS域名解析服务
文章图片

编辑网卡配置文件,将DNS修改为本机
linux|Linux中DNS域名解析服务
文章图片

重启服务
linux|Linux中DNS域名解析服务
文章图片

测试 解析成功
linux|Linux中DNS域名解析服务
文章图片

6.3主从复制 主服务器IP地址:192.168.52.200
从服务器IP地址:192.168.52.100
主服务器配置与6.1正向解析步骤相同
从服务器配置
安装软件包,查看配置文件
linux|Linux中DNS域名解析服务
文章图片

linux|Linux中DNS域名解析服务
文章图片

关闭防火墙
linux|Linux中DNS域名解析服务
文章图片

编辑主配置文件
linux|Linux中DNS域名解析服务
文章图片

编辑区域配置文件
linux|Linux中DNS域名解析服务
文章图片

启动named服务,自动复制主服务器中的区域数据配置文件
linux|Linux中DNS域名解析服务
文章图片

主服务器配置
编辑主服务器区域配置文件,并重启服务
linux|Linux中DNS域名解析服务
文章图片

linux|Linux中DNS域名解析服务
文章图片

编辑网卡配置文件,将从域名服务器增加为第二台DNS服务器
linux|Linux中DNS域名解析服务
文章图片

重启网络服务
linux|Linux中DNS域名解析服务
文章图片

关闭主服务器的DNS服务
linux|Linux中DNS域名解析服务
文章图片

测试
linux|Linux中DNS域名解析服务
文章图片

    推荐阅读