DNS 是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。 
它负责把域名转换为ip地址,人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是一一对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。


DNS最主要实现方式 是FQDN 向IP地址解析.由根域,顶级域,二级域,子域,主机名组成。整个域名空间是以倒置树形。结构组成


正向解析:  FQDN-->IP

反向解析:    IP-->FQDN

正反向解析技术不同,不应该存放于同一个数据库文件中进行。


查询:

    递归查询:发出一个请求,最终得到答案。

    迭代查询:发出一次请求,不一定得到答案。


DNS服务器类型

    主服务器 master

    辅助DNS服务器 slave

    缓存名称服务器

    转发服务器 foward


Linux 中DNS服务是由 bind 这个开源软件来提供的。在安装这个软件后,有后台守护进程来 named 控制,运行此进程的用户是系统用户 named。为了安全考虑,named 进程一般运行于 chroot 环境中,模拟的根在 /var/named/chroot 目录下。

配置文件服务脚本: /etc/init.d/named 

主配置文件: /etc/named.conf  /etc/named.rfc1912.zones

区域配置(解析库)文件:/var/named/NAME.zone


主配置文件,全局配置options:主要定义端口,监听IP地址,是否递归,等选项

学习笔记 DNS 子域授权 view_DNS


日志系统配置:logging

学习笔记 DNS 子域授权 view_DNS_02

区域定义 :zone 能为指定目录下zone 进行解析 

学习笔记 DNS 子域授权 view_DNS_03


配置主DNS 服务器

首先在主配置文件中 定义区域zone


学习笔记 DNS 子域授权 view_DNS_04

解析域名首先要定义一个zone 文件 ,路径是相对路径 默认路径是放在 /var/named/以zone结尾的文件

zone ,,每一个资源记录都有类型用于表示资源的功能

SOA:起始授权

NS:域名服务器

MX:邮件交换器

A:IPv4 地址

PTR:反向解析

AAAA:IPv6

CNAME:正式名称 


学习笔记 DNS 子域授权 view_DNS_05

对应 域名服务器 一定要有一定 A 记录

@表示当前区域的区域名

用dig 命令 测试dns

学习笔记 DNS 子域授权 view_DNS_06


反向解析:


反向解析区域数据库文件:区域名称以逆向的网络地址,并以.in-addr.arpa为后缀
   第一条必须SOA
   应该具有NS记录,但不能出现MX和A记录
   较常见的微PTR记录
   名称为逆向的主机名

在主配置文件添加一个zone


学习笔记 DNS 子域授权 view_DNS_07



学习笔记 DNS 子域授权 view_DNS_08

学习笔记 DNS 子域授权 view_DNS_09

辅助DNS 服务器

 

要定义配置文件 下 建立zone区域

学习笔记 DNS 子域授权 view_DNS_10

学习笔记 DNS 子域授权 view_DNS_11

如果主DNS 服务器 通知辅助DNS服务器  解析库文件中加入辅助DNS 服务器

之后 添加一条NS 记录和A记录 辅助DNS 服务器 IP 地址,DNS 一般是以named用户运行。改变属主和属组。更新主DNS 服务器,要在版本号上加1,这样才能通知辅助服务器来更新DNS 解析库文件。

注意:DNS辅助服务器在去主服务器同步数据时,我们首先要保证时间同步

学习笔记 DNS 子域授权 view_DNS_12

学习笔记 DNS 子域授权 view_DNS_13

子域授权:是指在原有的区域划分一个小区域并指定新的DNS 服务器,这个小区域如果有客户端请求分析,则只要找到新的子DNS服务器,这样可以减轻主DNS服务器的压力,便于管理,一般都是正向解析。

正向解析区域子域方法:

  定义一个子区域:例如
   ops.leifeng.com.  IN  NS  ns1.ops.leifeng.com.
   ops.magedu.com.  IN  NS  ns2.ops.leifeng.com.
   ns1.ops.leifeng.com.  IN  A  1.1.1.1
   ns2.ops.leifeng.com.  IN  A  2.2.2.2

   fin.leifeng.com.  IN  NS  ns1.fin.leifeng.com
   fin.leifeng.com.  IN  NS  ns2.fin.leifeng.com.
   ns1.fin.leifeng.com.  IN  A  3.1.1.1
   ns2.fin.leifeng.com.  IN  A  3.3.3.3

在主服务器 解析库文件中定义一个 NS 和A 记录

学习笔记 DNS 子域授权 view_DNS_14

在子域配置文件添加zone

学习笔记 DNS 子域授权 view_DNS_15

解析库文件

学习笔记 DNS 子域授权 view_DNS_16

子域是无法解析父域的,因为当接到这个查询的时候它会转发给跟"."经过根查询来查找父域

如果想继续查询的话,一般都是转发给 父域让父域来解析

定义转发域

转发有两种方式 

全局转发 :对非本机所有负责的解析的区域的请求,统统转发的给服务器

在解析库添加

学习笔记 DNS 子域授权 view_DNS_17


区域转发:禁转发对特定区域的请求至某服务器  

学习笔记 DNS 子域授权 view_DNS_18

学习笔记 DNS 子域授权 view_DNS_19

bind view

    视图:一个bind 服务器可定义多个view,每个view中可定义一个或多个zone,每个view用来匹配一组客户端,每个view内可能需要对同一区域进行解析,但使用不同的区域解析库文件

view检查是自上而下的。优先有匹配的view放在上面。一旦启用了view ,所有的zone都只能定义在view,仅有必要在匹配到允许递归请求的客户端所在view区域中定义根区域。

电信网通,之间互访延迟很大,为了让客户获得更好的上网体验,在电信和网通线路上各假设一台服务器,,其中一台接入电信专线,一台接入网通专线。但是要让用户透明的访问此网站,不需要让用户进行人工的网站选择。我们可以采用DNS服务器中的view功能,让不同的IP指向在不同网络上的主机。

   基本格式: view VIEW_NAME {
                         zone {};
                         zone {};
  };