我们知道,UNIX DNS服务器的最常用软件是BIND,它源自U.C. Berkeley但现在则由Internet Software Consortium.负责。BIND提供了解析器和名字服务器软件,解析器做实际的查询工作而名字服务器则提供响应。BIND将名字服务器分成三个部分:主域名服务器包含了有关一个域的全部数据;辅助域名服务器则有效地从主域名服务器拷贝DNS数据库;(唯)高速缓冲服务器通过缓冲查询来建立例外的DNS数据库。只有主域名服务器和辅助域名服务器才被当作涉及特定域的授权服务器。
  
  下面以AIX 的UNIX系统为例来说明主域名服务器、辅助域名服务器和UNIX DNS客户机的创建,来实现“规划与设计篇”的域名结构的例子。
  
  一、 主域名服务器的创建
  
  创建主域名服务器的步骤:
  创建named的控制文件;
  创建域名区域文件;
  创建IP区域文件和本地IP区域文件;
  创建缓冲区文件;
  
  1、named控制文件
  named的控制文件是/etc/named.boot(BIND4版本),在named启动时读入。它说明named使用的所有数据的存放位置,named用这些数据创建一个初始域名服务器数据库。
  named.boot文件内容如下图所示:
  
  directory项告诉named在/etc/named.boot文件中所列文件存放的目录。
  Domain项说明本地主机所在的域,域名服务器用它作为缺省域。
  Primay项表明本地主机named作为哪个域的主域名服务器,以及从哪个文件获得描述本域的数据。
  反向映射的域名永远以“in-addr.arpa”结尾,形成一个域名的IP地址必须反写,这是因为IP地址的最重要的8位位组应排在第一位,而域名表达方式与IP的表达方式恰好相反,即最低有效的8位位组排在最前面,每个物理网络应用一个资源文件与之对应。
  在cache记录项的domain域中的圆点“.”表示末列在其他地方的任何领域,缓存文件(cache file)允许缺省域中的一个主机与该域之外的其他主机通信。
  
  /etc/named.conf(BIND8版本)文件内容如下:
  
  options {
  directory "/etc";
  };
  
  zone "." IN {
  type hint;
  file "named.ca";
  };
  
  zone "localhost" IN {
  type master;
  file "localhost.zone";
  allow-update { none; };
  };
  
  zone "0.0.127.in-addr.arpa" IN {
  type master;
  file "named.local";
  allow-update { none; };
  };
  
  zone "ghq.js.com" IN {
  type master;
  file "resolv.conf";
  allow-update { none; };
  };
  
  zone "1.32.10.in-addr.arpa" IN {
  type master;
  file "named.revip1";
  allow-update { none; };
  };
  
  zone "2.32.10.in-addr.arpa" IN {
  type master;
  file "named.revip2";
  allow-update { none; };
  };
  
  笔者认为在这里不用解释,大家也会知道上面配置的具体含义。
  
  2、域名区域文件
  AIX系统提供了创建区域文件的awk文件。awk文件将读取系统的/etc/hosts文件,然后创建相应的区域文件。但是awk文件并不意味着能为每个环境建立一个完美的区域文件,它仅提供一个创建区域文件的入门手段。文件建立以后,就可用文件编辑器根据需要修改或添加记录。作为一个例子,用awk文件生成区域文件的方法如下:
  # cd /usr/samples/tcpip
  # ./hosts.awk /etc/hosts >/etc/named.dc
  # ./addrs.awk /etc/hosts >/etc/named.revip1
  # ./addrs.awk /etc/hosts >/etc/named.revip2
  
  下面给出了一个域名区域文件/etc/named.dc的内容。
  /etc/named.dc文件内容如下图所示:
  
  资源记录格式为:
  NAME TTL CLASS TYPE RDATA
  其中:
  NAME:说明一个域、区域、一个主机名字或者主机别名等。它必须在文件的第一列。若该域为空,则其值为前一个资源记录的NAME域值;
  TTL:信息存活时间,以秒为单位。99999999表示信息永远不会超时。如果没有TTL值,则把TTL缺省值设置为SOA记录的Minimum项之值;
  CLASS:记录的地址类型,有IN和ANY两个值。其中IN代表Intemet地址,而ANY代表任何其他的地址类;
  TYPE:资源记录类型。合法的类型有:
  SOA----Start of Authority (中央权威机构);
  NS----NameServer(域名服务器);
  A----Address(地址);
  HINFO----标准各字;
  MX----邮件交换。
  RDATA:说明特殊资源记录类型的细节,它有几个特殊字符:
  :----表示注释;
  .----用在名字域时,若圆点后无具体内容则该圆点表示当前域;
  @ ----用在名字域时,单个的“@”表示当前域;
  ()----圆括号用来接续不止一行的数据项。
  SOA表示管理机构所在地。SOA记录表明:
  数据文件所在的主机名字,以及负责维护数据文件的用户的E-mini地址;
  serial --表示数据文件版本号。当数据文件里的数据修改时,这个版本号应随之增加;
  refresh --检查数据是否需要刷新的时间间隔,以秒为单位。为辅助域名服务器用;
  retry --辅助域名服务器在做刷新时无法连接到主域名服务器的情况下,辅助域名服务器等待的时间间隔,以秒为单位;
  expire --上限时间;用于辅助域名服务器。当辅助域名服务器一直不能与主域名服务器通信时,辅助域名服务器刷新数据的时间上限;
  minimum --缺省的最小存活时间。当其他项的TTL值比此值小时,用此值替代。
  
  3、IP区域文件和本地IP区域文件
  IP Zone文件如下所示。
  /etc/named .revip1文件内容下图3所示:
  
  本地IP Zone文件如下所示。
  /etc/named.local文件内容如下:
  
  @ IN  NS  sys1.ghq.js.com
  1  IN  PTR localhost.ghq.js.com
  
  在DNS里,域名形成一种层次结构。为了解析一个地址,系统从根向下针对名字中的每个域查询域名服务器,把主机名字翻译成主机IP地址。
  
  IP区域文件的合法资源记录类型是SOA、NS和PTR----域名指针(Domain Name Pointer)。由于另一些系统位于10.32.2网络,因此IP区域文件必须有两个,每个网络一个。这两个文件都由/etc/hosts生成,而/etc/hosts文件中包含了两个网络的登记项。因此必须用文本编辑将另一网络的登记项删掉,只保留本地网络上的主机地址八位位组(把本地网络主机的网络地址部分的八位位组也删掉)。
  
  除了这个IP区域文件外,还必须有一个本地IP区域文件,它包含网络127.0.0.1的回送地址。其合法的资源记录类型为SOA、NS和PTR。对于本地IP区域文件,SOA记录不是必要的,但在域名区域文件和IP区域文件中是必要的。
  
  4、缓存文件
  当一个名字不能在本区域解析时,named进程会和缓存文件中所列的其他域名服务器进行交互,直到它解析出这个名字为止,或者直至它查询了所有列出的域名服务器为止。
  /etc/named.ca 文件内容如下:
  
  .          999999  IN   NS   sys99.js.com
  sys99.js.com  999999  IN   A    10.32.7.99
  
  缓存文件包含域名服务器的地址,这些域名服务器是更高一级域的权威域名服务器。
  
  二、辅助域名服务器的创建
  
  创建辅助域名服务器的步骤如下:
  创建named的控制文件;
  创建本地IP区域文件和缓存文件。
  
  1、named控制文件
  
  辅助域名服务器的named控制文件与主域名服务器略有不同,它比主域名服务器的Named控制文件至少多一个secondary项。Secondary项表示本地named进程是本域的辅助域名服务器,它接收来自指定IP地址的域信息,并把它存放在指定的文件中,这个文件是主域名服务器的备份文件。
  
  /etc/named.boot(BIND4版本)文件内容如下图所示:
  
  若从其中一个主域名服务器收到域信息的新拷贝,则named进程将更新那个域名服务器的备份文件。named进程第一次启动时,辅助域名服务器就下载主域名服务器的信息;辅助域名服务器根据SOA记录规定的刷新时间间隔,去主域名服务器查询相关信息。
  
  /etc/named.conf(BIND8版本)文件内容如下:
  
  options {
  directory "/etc";
  };
  
  zone "." IN {
  type hint;
  file "named.ca";
  };
  
  zone "localhost" IN {
  type master;
  file "localhost.zone";
  allow-update { none; };
  };
  
  zone "0.0.127.in-addr.arpa" IN {
  type master;
  file "named.local";
  allow-update { none; };
  };
  
  zone " ghq.js.com " IN {
  // type master;
  type slave;
  // type后面的值已经成为slave;
  file " named.dc.bak ";
  //file 后面也可以是别的文件名不必与主域DNS服务器的设置一样
  masters { 10.32.1.1; };
  //10.32.1.1 为主域DNS服务器的IP地址,
  };
  
  zone "1.10.32.in-addr.arpa" IN {
  // type master;
  type slave;
  // typ

转载于:https://blog.51cto.com/annexmicro/1676

UNIX下DNS服务器之创建篇(下)相关推荐

  1. centos7下dns服务搭建

    centos7下dns服务搭建 第一步 环境准备 第二步 修改dns配置文件并启动dns 第三步 配置文件详解(摘抄) 第四步 测试dns服务 第一步 环境准备 1.配置网络 vi /etc/sysc ...

  2. 手把手教你如何将树莓派网关链接到服务器之第二篇

    本文为系列文章--手把手教你如何将树莓派网关连接到服务器之第二篇,涉及图1所示步骤二:如何在电脑上操作,配置树莓派网关的密码.频段以及选择服务器. 将树莓派网关连接到服务器的主要流程图如图1所示: 图 ...

  3. 前端简易服务器之vscode篇(可供项目预览手机访问电脑网页等)

    几种方案本质其实都是启动一个简易服务器然后手机访问来实现的,一般来说使用webpackia脚手架搭建的项目都会自动启动一个服务所以并不需要使用这些方案再重复启动了,直接在config配置下host即可 ...

  4. Linux下DNS服务管理

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

  5. DNS服务器之二:权威服务器的搭建(正向、反向、双向解析、远程更新、辅助DNS)与动态域名解析

     上一篇博客中,我们已经详细介绍了DNS服务器,其中包括权威与非权威DNS服务器.现在,我们以维护westos.com域为例,进行权威服务器的搭建 1 权威服务器的正向解析 1.1 权威服务器的配置( ...

  6. DNS服务器之二:从服务器的实现

    DNS从服务的搭建 一.安装 [root@localhost~]# yum install bind 二.修改主配置文件 [root@localhost~]# cat /etc/named.conf ...

  7. DNS服务器之简单配置(一)

    名词解释: 域名: 域名是域名系统名字空间中,从当前节点到根节点的路径上所有节点标记的点分顺序连接. 域: 域是指域名系统名字空间中的一个子集,也就是树形结构名字空间中的一颗子树.这个子树根节点的域名 ...

  8. DNS BIND 搭建域名智能解析DNS服务器之IP地址归类(ACL)

    bind的是通过ACL+View实现域名的智能解析,实现流程即:客户端发送dns解析请求,bind通过acl过滤客户端Ip到对应view,然后查询该view下的配置zone解析出域名地址返回给客户端. ...

  9. 用自己的路由器建立自己的服务器之创建网页

    首先申请个域名,用阿里服务器托管(使用免费二级域名也可以,较长的二级域名用新浪的短域名服务) 然后打开wan的入站数据(有风险哦) 然后修改/www下的index ,自己在/www创建一个网页,从素材 ...

最新文章

  1. 【119】开始学习CMD
  2. python 删除列表中的指定元素
  3. Write-Ahead Transaction Log
  4. html怎样使图片不占位子,复式客厅上阁楼楼梯安装什么位置不占地方 最节约空间的阁楼楼梯设计图片...
  5. 二维数组求最小值_05-最大子矩形-最大值减去最小值小于或等于num的子数组数量...
  6. Kubernetes 入门(1)基本概念
  7. 浙大计算机基础知识题1,浙大作业1计算机基础知识题.docx
  8. 另类终端「GitHub 热点速览 v.22.15」
  9. PDF软件有这么好用的打印机,你知道吗?
  10. 加拿大布兰登大学计算机专业,名校大揭底:布兰登大学到底怎么样?
  11. Android之shape属性设置
  12. Excel如何将单元格中的多数字提取出来
  13. linux_study_1
  14. 根据图片地址上传图片
  15. H5 百度高德地图导航
  16. css实现人走路效果,如何使用纯CSS实现一个人独自行走的动画效果(附源码)
  17. 坦克世界服务器系统不更新失败怎么办,坦克世界安装更新数据失败怎么办? 爱问知识人...
  18. POI中设置单元格背景色
  19. MySQL版 emp 数据库
  20. Hibernate实例--注解配置表映射

热门文章

  1. 初识JS-基础中的基础
  2. 分享一个一分钟就学会的vue小技巧(真的一看就会~~)
  3. 新手须知,前端该如何与后端合作?
  4. 拼多多api接口php算法,PHP 调用 拼多多 API 模板
  5. linux 添加新的系统调用,如何在Linux中添加新的系统调用
  6. 一步一步学习Servlet输出HelloServlet详解
  7. NYOJ-找点(贪心)
  8. clion配置opencv3.20(cmake+tdm-gcc)
  9. ubuntu环境搭建六:安装chrome浏览器
  10. 发哥推荐的linux网站,记录一下