Linux网络-DNS

116 阅读3分钟

DNS

DNS域名系统,应用层协议,是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,基于C/S架构,服务器端:53/udp, 53/tcp实际上,每一台 DNS 服务器都只负责管理一个有限范围(一个或几个域)内的主机域 名和 IP 地址的对应关系,这些特定的 DNS 域或 IP 地址段称为 zone(区域)。根据地址解 析的方向不同,DNS 区域相应地分为正向区域(包含域名到 IP 地址的解析记录)和反向区域

根域: 全球根服务器节点只有13个,10个在美国,1个荷兰,1个瑞典,1个日本

  • 一级域名:Top Level Domain: tld
  • 三类:组织域、国家域(.cn, .ca, .hk, .tw)、反向域
  • com, edu, mil, gov, net, org, int,arpa
  • 二级域名:magedu.com
  • 三级域名:study.magedu.com
  • 最多可达到127级域名

DNS服务器类型

  • 缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率, 但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定其他 DNS 服务器作为解析来源。

  • 主域名服务器:管理和维护所负责解析的域内解析库的服务器

  • 从域名服务器 从主服务器或从服务器"复制"(区域传输)解析库副本

DNS查询与原理

查询

  • 递归查询:一般客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到最终的肯定或否定的结果后转交给客户机。此查询的源和目标保持不变,为了查询结果只需要发起一次查询。(不需要自己动手)
  • 迭代查询:一般情况下(有例外)本地的DNS服务器向其它DNS服务器的查询属于迭代查询,如:若对方不能返回权威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)再次发起进行查询,直到返回查询的结果为止。此查询的源不变,但查询的目标不断变化,为查询结果一般需要发起多次查询。(需要自己动手)

查询原理

正向解析查询过程: 先查本机的缓存记录

  1. 查询hosts文件
  2. 查询dns域名服务器,交给dns域名服务器处理 以上过程成为递归查询:我要一个答案你直接会给我结果
  3. 这个dns服务器可能是本地域名服务器,也有个缓存,如果有直接返回结果,如果没有则进行下一步
  4. 求助根域服务器,根域服务器返回可能会知道结果的顶级域服务器让他去找顶级域服务器
  5. 求助顶级域服务器,顶级域服务器返回可能会知道结果的二级域服务器然他去找二级域服务器
  6. 求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的ip地址返回给本地域名服务器
  7. 本地域名服务器将结果记录到缓存,然后把域名和ip的对应关系返回给客户端

正向解析

安装bind.

yum  install bind* -y

image.png

image.png

编写域名

image.png

image.png

image.png image.png

修改网卡

image.png image.png

image.png

反向解析

image.png

vim /etc/named.rfc1912.zones

image.png

image.png

image.png

主从复制

主从服务器配置

image.png

从服务器配置(192.168.254.101)

 vim /etc/named.rfc1912.zones 

image.png

systemctl start named  //启动服务

主服务器配置

vim /etc/named.rfc1912.zones 

image.png

image.png

image.png

在从服务器上测试

image.png