DNS:域名解析服务
     一种协议工作在应用层 
     同时监听TCP和UDP 53 号端口 
       udp  响应查询请求
       tcp  响应辅助域名服务器实现请求辖区数据同步
     
    主机上的文件 /etc/hosts   也能提供解析
     常识我们知道:要记住一个人的特征是记住这个人的名字对应于相应的面孔而不是记身份证号码 
     所以就产生了通过名称或简单字符访问主机基于名称或字符串实现 
     最初开始是在/etc/hosts 实现 每个主机对应于一个hosts 文件、一个ip对应于一个hosts文件 
     但是当网络规格扩展到很大的时候这个文件系统就变得庞大无比,文件不定期的增长 管理非常麻烦
     
     国际名称地址分配机构 负责每个地址的名称分配 所有信息都要注册在这里 
     专门用一个服务器做成一个FTP 服务器  每一个主机都要使用名称 同时也为了主机名称的统一标准 
     通过FTP hosts  国际名称地址分配机构又划分了许多的子机构 管理自己所属区域内的地址解析 
     花钱注册名称(域名),所有客户端,所有用户的请求信息都要注册在国际名称分配机构这里  维护人员定期的查看如果有一个用户更新了把相关信息和IP地址的对应关系 通     过FTP服务器上的HOSTS文件共享出去  任何一个服务器的管理员 只要写一个周期性的脚本计划 定期到 FTP 上更新下载覆盖到本地 就可以实现 实时更新本地/etc/hosts 文件     
     
     后来 WWW 的发展 主机越来越多  催生了DNS协议 对hosts文件的一种扩展 HOSTS文件的解析功能分片 名称解析库 做一个客户端软件 一个名称解析库 应用程序调用本地这     个库 查询结果返回
     
     最终风化成了层次性的分布式的结构   分片管理  
           
     DNS自上而下形成一颗倒置树状结构:
     
     结构特征: 层次结构都是上层知道下层在哪儿 而下层不知道上层的结构
     
     .                            //最上层  . 顶级域名    文件系统中称根
     
     .com .net ....        //组织域 国家域
     .ibm.com              
     
     e.g.  www.ibm.com.    //最后一个点我们基本没用过     
     注册的都是二级域名   层次结构  
   
    DNS 查询类型:
    
    递归查询 recursive   Client->A->B->C
            只发出一次请求 必须要知道答案
           e.g. A 要知道B 的地址在哪儿,但A 不知道B在哪儿 于是问C 
                C知道了B的地址在哪儿并在C取得了答案在反馈给A
        
    迭代查询 发送请求 后要A 去查询另一个 
           e.g. A 要知道B 的地址在哪儿,但A 不知道B在哪儿 于是问C 
                C知道了B的地址在哪儿,然后由A自己查找到所要找的信息
                                 
                  ↑ ↓
                Client   --->
                  ↓ ↑    <---
                     
     互联网上运用 分两段式查询:     
     客户端 DNS 给本地提供服务递归 也只给本地递归,服务器本身迭代查找     
      
     HOSTNAME--> IP    正向解析
     IP-->HOSTNAME     反向解析
                
     默认情况下: 只要安装DNS服务器 就要告诉服务器顶级域名位置
     DNS查找解析 先把信息发送给本地服务器  本地服务器直接发给顶级域名 顶级域名再迭代查找  
     所以说前半段递归 ,下半段迭代查找 
     
     特点:
         查找不能越级指挥    
         查找必须迭代查询     
     
     e.g.   3a.com   域名 授权的过程   3a 获得上级的授权后可以管理里面所有的主机包                括自己的名称
             
-------------------------------------------------------------------------------------            
       记录类型 标识  
            
            DNS是一个数据库   查找数据库 查找对应的地址返回 一个地址对应于一个主机
            一个库 实现的解析方法不同  
               
         常见的记录类型:
         
         FQDN--> IP A                   
         IP --> FQDN                Pointer                   指针记录
         DOMAIN-->SERVER:           NS  Name Server           名称服务记录
         DOMAIN -->  MTA            MX (Mail eXchange)      标识一个域的邮件服务器
         别名 --> Jerry:            CNAME                     正式名        
         用于表明起始域             SOA(start or Authority) 起始授权记录
         
         
     DNS 服务器类型:
     
         为了保证服务的可用性  可对应于多个副DNS域名服务
         
         创建和删除只有主服务器才有权限
         副服务器每隔一段时间区域传送一次 
         
         区域传送:
           axfr :  完全区域传送
           infr    增量区域传送
                    
         主服务器--辅助名称服务器
         为了保证信息的解析传输安全同步除了一个主服务器外还增加了一个辅助服务器
         主服务器 文件发生改动时 notification  通知辅助服务器开始同步了
         
         
         什么是域 、区域?         
        
        两种不同关系的概念:      
         一个域包含一个正向区域和一个反向区域          
         正向需要一个单独的数据库文件,反向也需要一个单独的数据文件
         域是逻辑概念                            区域是物理概念
         定义域就是定义一个倒置树节点            定义区域就是定义一个文件                                             
         缓存名称服务器
                      节约带宽 加速 
               
         转发器  把用户的请求转发出去  实现内外两台防火墙DNS之间的交互
         
   -----------------------------------------------------------------------

查询流程 : 从客户端应用角度看
        
        e.g.   www.a.org  
        
         1. 查找 /etc/hosts
         2. dns cache 非权威解析 不是自己所负责的域 
         3. server 权威解析 authoritive  查找本地的DNS进程并返回  本服务器解析的域 
         
       靠本地的库文件自动解析 共享库解析         
       stub reslver 最根本的名称解析   包括host 
       
   
  ==========================================================================
   
     BIND: Berkely Internet Name Domain
     
     www.isc.org   // 运维网站     
     
  命令: 
      yum list all bind*  查看bind所有软件包
      
      用rpm 包安装不要装   chroot    
      只需要装 bind i386 
      
      yum list all cach* 
          配置默认的缓存
      
      
      
      解析记录
          name [ttl] IN RECORD_TYPE value    //缓存的有效期限 变化频繁  ttl 修订短
                                              越短服务器压力越大  最起码10分钟
          第一条记录,类型为 SOA ,对于一个数据文件来讲  SOA 只能有一个                                              
          www.a.org  86400 IN A 1.1.1.1     
          
          1.1.1.1 86400 IN PTR www.a.org    
  ------------------------------------------------------------------ --       
      
      DNS 是协议  
      bind 是软件,进程名叫named 所以配置名叫做named.conf          
      bind软件 默认配置文件位置
      1. /etc/name.conf
         全局选项段 : 全服务器有效
         options {
         version "hello";
         };
         
         局部生效 
         zone "a.org"  IN {
         };
      
       2. /etc/rndc.conf
          /etc/rndc.key    bind 远程管理辅助工具
         
         定义区域与全局选项 
  
         数据文件位置:  
         /var/named
                 
         named.ca              // 定义根的位置
         dig -t NS .           //查看全球13个根目录  前提是要能上互联网
         从a.root-servers.net. -- m.root-servers.net.     一共13个
      
         Include 包含主配置文件
         通常每一个域内都有两个文件 负责正向和反向解析
         至少需要3个域   可以向互联网发起查询请求
         
         1 根
         2 localhost
         3 反向解析 
                
        
     =====================================================================
    *  从头开始建立:  
    *  
    *  vim /etc/named.conf
    *  options {
    *          directory "/var/named";   //定义工作目录
    *  };
    *  
    *  zone "." IN {         
    *           type hint;
    *           file "named,ca";  默认路径
    *  };
    *  zone "localhost" IN {
    *           type master;
    *           file "localhost.zone";
    *  };
    *   zone "0.0.127.in-addr.arpa" IN{
    *           type master;
    *           file "named.local";
    *  };
    * 
    * 
    *  chown :named /etc/named.conf
    *  
    * -------------------------------------------------------------------------  
    *  正向解析:localhost.zone
    *  cd /var/named/          
    *  vim localhost.zone
    *  
    *  $TTL 86400    
    * @    600    IN    SOA    localhost. admin.localhost. (
    *                                         2011081601     // 序列号
    *                                         1H             // w d 默认s  刷新时间
    *                                         10M            //            重置时间
    *                                         7D             // 过期时间
    *                                         1D )          // 否定答案的ttl值
    *              IN      NS          localhost.
    *  localhost.  IN       A          127.0.0.1        
    *  
    *  -------------------------------------------------------------------------------------------------------------------------------------
    *  反向解析:named.local
    *  cp localhost.zone named.local
    *  vim named.local
    *  
    *  $TTL 86400
    *  @ 600  IN SOA  localhost. admin.localhost. (
    *   2011081601
    *   1H
    *   10M
    *   7D
    *   1D )
    *                                                            IN   NS localhost.
    *  1    IN          PTR  localhost.        
    *  --------------------------------------------------------------------------------------------------------------------------------------                      
    *  根服务器:named.ca                              
    *  dig -t NS . @a.root-servers.net > /var/named.ca
    *  
    *  
      =========================================================================  
       
    DEBUG:             
         检查区域主配置文件的语法错误:  不检查逻辑错误  
         named-checkconf 
         
         检查区域错误:   //先说明哪个区域在说明对应的文件是什么
         named-checkzone "localhost" /var/named/localhost.zone
                     
         service named start         //启动服务         
         netstat -tunlp | grep :53   //查看端口53 的状态            
                              
         现在可以作为一个缓存名称服务器   
         vim /etc/resolv.conf
         nameserver 127.0.0.1
         
         dig -t A www.baidu.com 
         
        OK 一个缓存名称服务器已经建立起来了 
   ==============================================================================
            
     如何做一个DNS服务器 
          net.cn
     万网注册了一个域名a.org  
     第一步:去万网管理后台建两个记录 
             调整DNS 服务器地址  换成自己名字地址  
             两条DNS 服务地址/主机改成  ns1.a.org  ns2.a.org
             保证有A 记录
             
      假如有两台服务器:
         ns1.a.org  主服务器  100.1
         ns2.a.org  从服务器  100.2
         
      怎么让 172.16.100.1 去解析一个域的所有的主机相关联的记录?
     
      ns1.a.org
      ns2.a.org
      www.a.org
      ftp.a.org
      bbs.a.org www   
            
 -------------------------------------------------------------------------------------------------------------------------------------     
 *     vim /ect/name.conf
 *        加上下面一段:    
 *        zone "a.org" IN {
 *            type master;
 *            file "a.org.zone";
 *         };
 * 
 * named-checkconf
---------------------------------------------------------------------------------------------------------------------------------------      
 *     
 *    cd /var/named/
 *    vim a.org.zone 
 *     
 *  $TTL 1200
 *   @                     IN             SOA    ns1.a.org      admin.a.org. (
 *                                                                          2011081601
 *                                                                           1H
 *                                                                           10M
 *                                                                           7D
 *                                                                           1D )
 *                           IN                                            NS      ns1.a.org.
 *                           IN               NS      ns2.a.org.
 *                           IN                                             MX  10  mail.a.org.
 * ns1.a.org.       IN                                              A       172.16.100.1
 * ns2.a.org.       IN           A       172.16.100.2
 * mail.a.org.      IN        A       172.16.100.1
 * www.a.org.     IN           A       172.16.100.3   
 * bbs.a.org.       IN          CNAME   www.a.org.
 * ftp.a.org.         IN               A       172.16.100.100     
------------------------------------------------------------------------------------------------------------------------------        
        
   要生效  改属组
   
   chown :named a.org.zone
   service named reload
   
-------------------------------------------------------------------------------------------------------------------------------   
   CMD 测试
   
   debug: 
        nslookup
        server 172.16.100.1
        
        set q=A
        www.a.org
   
        set q=NS
        a.org
        
        set q=SOA
        a.org
        
        cat a.org.zone
    
  linux  debug:  两个客户端测试 
     host -t NS a.org
     host -t A bbs.a.org
         
     dig -t A www.a.org
   
 flages  qr      aa     rd    ra 
        响应 权威答案      
   
   dig -t CNAME 
   dig -t axfr a.org   完全区域传送  把记录全部拿过来    使用TCP53号端口传输 
   
   ------------------------------------------------------------------------------------------------------------------------
   反向解析:172.16.zone
   vim /etc/named.conf
   添加如下:
   zone "16.172.in-addr.arpa" IN{
                type master;
                file "172.16.zone";
   };
   ------------------------------------------------------------------------------------------------------------------------
   cd /var/named/
   vim 172.16.zone
   cp a.org.zone 172.16.zone
   vim !$
   
   $TTL 1200
@  IN  SOA   ns1.a.org      admin.a.org. (
                                                                              2011081601
                                                                               1H
                                                                               10M
                                                                                7D
                                                                                1D )
                  IN                                                           NS      ns1.a.org.

IN          NS       ns2.a.org

1.100        IN                                                          PTR      ns1.a.org.

2.100        IN          PTR     ns2.a.org.
1.100        IN PTR     mail.a.org.
3.100     IN    PTR     www.a.org.
100.100    IN PTR     ftp.a.org.   
---------------------------------------------------------------------------------------------------------
   检查语法错误 :
    named-checkzone "16.172.in-addr.arpa" /var/named/172.16.zone
    
    service named restart
    
   OK! 一个完整的DNS服务器就建立好了

基本DNS服务器的配置相关推荐

  1. DNS同时占用UDP和TCP端口53——传输数据超过512时候用tcp,DNS服务器可以配置仅支持UDP查询包...

    DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类.但很少有人知道DNS分别在什么情况下使用这两种协议. 先简单介绍下TCP与UDP. ...

  2. dns服务器的配置与管理

    dns服务器的配置与管理                                          dns服务器的配置与管理 1. dns 的概述 当我们查询网站的时候你在浏览器上输入域名的时 ...

  3. bind dns mysql,linux下bind9.8+dlz+mysql 的dns服务器局域网配置

    linux下bind9.8+dlz+mysql 的dns服务器局域网配置 安装1.mysql 我用的二进制包安装 groupadd mysql useradd -r -g mysql -s /sbin ...

  4. 运维之DNS服务器Bind9配置解析和基础示例及附带命令

    0x03 Bind 配置解析 实例1.DNS主从区域传输介绍与配置 实例2.DNS区域传输限制 实例3.DNS部分二级域名解析 示例1.采用Bind建立一个A记录DNS服务器 示例2.采用Bind建立 ...

  5. Centos7虚拟机的DNS服务器的配置和测试

    Centos7虚拟机配置DNS服务器和验证(包含windows宿主机验证) 概述 本文实现了Centos7虚拟机上的DNS服务器的配置,主要是用户配置区文件的配置,并且在宿主机windows上的验证[ ...

  6. 使用docker在Centos上做DNS服务器的配置

    DNS服务器的配置 1. Docker安装DNS 1.1 安装docker 1.2 启动docker服务 1.3 运行DNS容器 1.4 运行nginx容器 1.5 docker相关问题解决 2.两种 ...

  7. dns服务器响应配置,没有配置的dns服务器响应

    没有配置的dns服务器响应 内容精选 换一换 本节介绍如何配置WAF的对外协议与源站协议.根据您的业务场景的不同,WAF提供灵活的协议类型配置.假设您网站为www.example.com,WAF可配置 ...

  8. DNS服务器基本配置

    DNS服务器基本配置 转载请标明出处 前期准备:linux系统.bind安装包,网络静态IP的配置(本人服务器IP设置为:192.168.240.139) 第一步:安装bind Tar -zxfv b ...

  9. 【DNS服务器的配置】

    前言 这是[Windows Server 2016 服务器配置与管理]的一些实操 下面是我自己做实验过程当中的一些简单记录,可能会有小错误,欢迎大家的指正! Slogan:日拱一卒,功不唐捐!!! 问 ...

  10. Centos 安装DNS服务器并配置无查询结果转发功能

    文章目录 什么是DNS 安装DNS服务 安装软件包 启动DNS服务 iptables 放行53号端口 修改DNS服务的配置文件 修改主配置文件 设置转发器 修改主域文件 修改域文件 测试结果 修改本机 ...

最新文章

  1. 右键菜单打开文件所在文件夹的插件EasyExplore
  2. where to park your bike?
  3. 【完全开源】微信客户端.NET版
  4. 上传图片文件(支持远程存储)
  5. Android之解析XML总结(SAX、Pull、Dom三种方式)
  6. 转:修改Content Server管理员密码 - [Documentum 实施开发记录]
  7. dp笔记:关于DP算法和滚动数组优化的思考
  8. 一个软件网络连接异常_你的电脑运转正常吗?这 10 款系统监控软件能告诉你答案...
  9. scrapy使用crawlspider
  10. leetcode 1227 python
  11. 倒计时 分秒 小程序 方法_小程序天/小时/分秒倒计时封装
  12. 数字的与或非处理表中的多个状态(二)
  13. c++ map 修改value_深度解密Go语言之map
  14. Carry On My Wayward Son -- Kansas
  15. 最优化理论与方法1--理论基础
  16. python爬取酷狗音乐top500及歌词_爬取酷狗音乐Top500(示例代码)
  17. WORD如何使得公式居中,公式编号右对齐?
  18. TR CEV65M-01460一个人,也有春夏秋冬
  19. 【汇正财经】什么是金融股?
  20. FFmpeg进阶: 截取视频生成gif动图

热门文章

  1. exp导出表结构,不导出表数据。
  2. C语言各种keyword
  3. fidder设置断点,修改请求参数等
  4. jQuery 增加 删除 修改select option
  5. 【Python之旅】第二篇(二):列表与元组
  6. 《C语言及程序设计》实践参考——阿姆斯特朗数
  7. 择师论(怎么有效的向别人学习)
  8. 微软1月补丁星期二值得关注的蠕虫及其它
  9. 【Spring Boot】28.开发热部署
  10. iPhone6plus 的 iOS 11 GM和正式版安装包的 md5一模一样