想学好一个知识,最好是由浅入深,浅是什么?是概念,是理论,只有知道了概念,知道了理论,实践起来就如虎添翼了,我这里给大家先介绍一下概念和相关理论 ,等下来就给大家介绍一下如何创建DNS,及创建从DNS。

一、关于DNS零碎知识点

DNS (Domain Name Service):名称解析

Name Resolving 名称转换(背后有查询过程,数据库)

域名:www.shuaige.com 主机名(FQDNFull Qualifide Domain Name,完全限定域名),shuaige.com/com (域名)

DNS主要实现FQDN<-->IP转换,双向转换

nsswitch:提供平台,不提供转换。

    libnss_files.so

 libnss_dns.so

hosts : files   dns

    file:/etc/hosts

    dns:DNS

stub resolver:名称解析器

TLD:顶级域(一般非为三类, 查找是自顶向下。)

     组织域:.com,.org,.net,.cc

     国家域:.cn,.tw,.hk,.iq,.ir,.jp

     反向域:IP-->FQDN [不在同一条数据库]

            反向:IP-->FQDN

            正向:FQDN-->IP

为了安全,根不给任何一个递归。

      递归:只经过一次请求

迭代:经过多次请求

查询:

     递归:只发出一次请求

     迭代:发出多次请求

解析:

      反向:IP-->FQDN

      正向:FQDN-->IP

DNS分布式数据库

    上级进知道其直接下级

    下级只知道根的位置

监听的协议及端口:(默认情况下查询过程都是使用udp协议的因为udp的速度快,因为不需要三次握手)

          53/udp :默认

          53/tcp :一般从服务器到主服务器传输数据的时候为了保证数据的完整性,可靠的传输

          953/tcprndc监听的。

二、DNS服务器及类型

 1、DNS服务器

     接受本地客户查询请求(递归)

     外部客户端请求:请求权威答案    

          肯定答案中有TTL

          否定答案中也包含TTL 

      外部客户端请求:非权威答案

  2、DNS服务器类型

       (1)DNS服务器:数据修改

  (2)辅助DNS服务器:请求数据同步

         定义五种属性信息。

              serial number(版本号、序列号)

              refresh:刷新时间,定义辅助DNS服务器隔多长时间检查主DNS服务器

              retry :重试时间

              expire:过期时间

              nagative ansver TTL :定义否定答案生存周期

       (3)缓存DNS服务器 

       (4)转发器:不缓存,只转发

    数据库中的每一个条目称为一个资源记录(Resource Record ,RR)

三、资源记录的格式:

  1. 第一段    第二段        第三段       第四段             第五段 
  2.  
  3. NAME       [TTL]         IN        RRT(资源记录类型)  VALUE 
  4. www.shuaige.com.         IN         A                   1.1.1.1 
  5. 1.1.1.1                  IN        PTR                 www.shuaige.com. 

【提示:后面这个点必须加上】

资源记录类型:

     1SOA(Start Of Authority):  起始授权记录【提示:第一条必须是它,区域文件中只能有一条】

  1. 格式: ZONE NAME(@)   TTL  IN       SOA     FQDN(主DNS服务器名称)            ADMINISTRATOR_MAILBOX( 
  2.                                   serial number 
  3.                                   refresh 
  4.                                   retry 
  5.                                   expire 
  6.                                   na ttl )  

      时间单位:M(分钟)、H(小时)、D(天)、W(周),默认单位为秒

      邮件格式:admin@shuaige.com-写为-->admin.magedu.com

例如:

  1. magedu.com.      600     IN        SOA    ns1.magedu.com      admin.magedu.com( 
  2.                                      2013040101(最长不能超过10位) 
  3.                                      1H 
  4.                                      5M 
  5.                                      1W 
  6.                                      1D ) 

       2[常用]NS:Name Server):DOMAIN NAME --> FQDN

 例如:magedu.com.       600   IN    NS       ns.magedu.com.[从区域名到主机名]

       ns.magedu.com     600   IN    A         1.1.1.2

       3MXMail eXchanger):ZONE NAME-->FQDN

             格式:   ZONE  NAME   TTL    IN      MX   pri    VALUE

                优先级;从0-99的,数字越小级别越高

                           magedu.com.      600   IN   MX   10    mail.magedu.com.

                           mail.magedu.com. 600   IN      MX   A     1.1.1.3      

       4Aaddress) : FQDN-->IPv4  【提示:只要是从主机名的资源类型都是A

       5AAAA FQDN-->IPv6

       6PTR (pointer):IP-->FQDN

       7CNAME:别名记录

四、区域类型及区域传送类型      

    区域类型:

         主区域:master

         从区域:slave

         提示区域:hint 【定义根在什么地方】

         转发区域:forward

    区域传送的类型:

         完全区域传送:axfr

         增量区域传送:ixfr 

五、bind97

    1、/etc/named.conf:主配置文件所在

        BIND进程的工作属性

        区域的定义          

    2、/etc/rcdc.key [只是密钥]

            rcdc: Remote Name Domain Controller

            密钥文件

            /etc/rndc.conf 配置信息

     3、/var/named/    区域数据文件

     4、/etc/rc.d/init.d/named 【服务控制脚本】和/etc/sysconfig/named  不是bind提供的。是提供方提供的。   去读:/etc/rc.d/init.d/fuctions  

             {start|stop|restart|status|reload|}可能有时候会不支持configtest[测试]

             二进制程序:named 默认使用-c去读取配置文件/etc/named.conf

dig :DNS lookup utility

   -t RT NAME 例如:dig -t NS . 【前提:必须联网】

   -x IP:根据IP查找FQDN

   aa Authority Answer权威答案

host -t RT NMAE:查询名称的解析结果

nslookup:交互式

nslookup>

        server IP

        set q=RT

        NAME

named.ca:存放根服务器的位置

named.localhost :解析本地回环地址

named.loopback:本地地址的正反向解析

rndc:远程域名控制器服务器

 

六、根区域的定义:【用named-checkconf查看错误,只能检查语法错误,无法检查逻辑错误例如没有创建文件】

1、根区域的定义:

zone "ZONE NAME" IN {

    type {master|slave|hint|forward};{}里面是选一个的。       

};

2、主区域:

    file “区域数据文件”

3、从区域:

  file "区域数据文件"

    masters {     

4、临时性地关闭SELLinux

 #getenforce

 Enforcing(启动)

 #setenforce(临时关闭)

 #setenforce (临时开启)

5、永久性的关闭

  配置文件在/etc/selinux/config

如果配置错误,我们就要查看日志。