DNS: 
   域名解析
 
  
        
   正向解析: 
   domain--->ip
 
  
        
   反向解析: 
   ip---->domain
 
  
        
   递归:
 
  
             
   逐级进行,发送者只发送一次就能得到 
   jieguo
 
  
        
   迭代:
 
  
             
   主机的 
   dns 
   服务器连续不断的发起多次请求直到得到结果
 
  
        
   端口: 
    53--> tcp,udp
 
  
        
   类型:
 
  
             
   主域名服务器
 
  
             
   辅助域名服务器
 
  
             
   缓存域名服务器
 
  
             
   转发器:控制否一中特定数据流
 
  
       rndc: DNS 
   的远程辅助控制服务 
    port 
   : 
   953
 
  
              rndc flush  
   清除缓存
 
  
        
   组件: 
    bind  PowerDNS  MyDNSng
 
  
        
   资源记录类型:
 
  
              SOA   
   启始授权 
   记录 
   zone 
   由哪台 
   DNS 
   管理
 
  
              NS   
   记录 
   ns  
   提供名称解析服务器
 
  
              A   
   主机名到 
   ip
 
  
              PTR  ip 
   到主机名
 
  
              MX  
   邮件转换器 
      
   邮件服务器记录用于设置当前域的 
   MAIL 
   服务器的域名地址
 
  
              CAME  
   别名
 
  
              TXT  
   记录当前域的域名的身份信息
 
  
        
   区域:域 
    zone domain
 
  
BIND:
 
  
        
   进程: 
   bind
 
  
               
   配置文件: 
    /etc/named.conf  name.ca localhost.zone named.local /var/named/
 
  
        
   服务脚本: 
    /etc/init.d/named
 
  
dig 
   命令 
      
   :
 
  
               
   查询 
   bind 
   版本: 
    dig txt chaos  version.bind  @127.0.0.1     
 
  
               
   关闭查询版本功能: 
   options  
   里添加 
   version
 
  
                            dig +recourse -t A www.baidu.com @192.168.0.34  
   要求递归查询
 
  
                            dig +recourse -t A www.baidu.com @127.0.0.1  
   由于 
   named.conf 
   中定义 
   acl 
   就不会给予递归查询 
    
 
  
               
   缓存服务器配置:
 
  
              yum install bind  bind-libs  bind-utils
 
  
       DNS 
   服务器配置: 
   vim  /etc/named.conf
 
  
              acl lan { 192.168.0.0/24; };
 
  
              options {
 
  
                        directory "/var/named"; 
   (告诉 
   named 
   进程要找数据文件在哪)
 
  
                     querylog 1;  
   会在查询日志里记录 
    1: 
   打开此功能 
   解析会很慢 
   一般不打开 
    
 
  
                      listen-on port 53 { 192.168.1.1;  }; (named 
   监听的端口和 
   ip 
   地址 
   )
 
  
                     allow-query { 192.168.1.0/24 };  
   允许查询的客户端地址
 
  
                     allow-recursion { lan; };    
   允许给 
   lan 
   递归查询 
           
 
  
                     version " noen of your";  
   不允许对方查看本机系统版本
 
  
                };
 
  
              zone "." IN {
 
  
                   type hint; 
   (设置区域类型 
    hint  
   根域 
    master  
   主域 
       slave 
   从域)
 
  
                    file "named.ca"; 
   (设置对应的根域地址数据库的文件)
 
  
             };
 
  
             zone "localhost" IN {
 
  
                   type master;
 
  
                    file "localhost.zone"; 
   (正向解析的文件 
      
   要手动创建)
 
  
             };
 
  
              zone "0.0.127.in-addr.arpa" IN {
 
  
                    type master;
 
  
                    file "named.local"; 
   (反向解析 
   要手动创建)
 
  
             };
 
  
dig -t NS .  @a.root-servers .net > /var/named/name.ca 
   (全球的根服务器的存放处)
 
  
              t 
   :查找类型为 
   Ns 
   记录 
    .  
   代表根域的 
   13 
   个域名服务器 
      @a.root-servers.net  
   通过谁来找(如果不定义则
 
  
从 
   /etc/reslove.conf 
   中找)
 
  
           cd  /var/named/
 
  
           vim localhost.zone  
   和 
   named.local named.ca
 
  
在 
   localhost.zone 
   中
 
  
              $TTL 86400
 
  
              @    IN    SOA  localhost.  root.localhost. (
 
  
                                           2011022601
 
  
                                               1H
 
  
                                               10M
 
  
                                               7D
 
  
                                               1D )
 
  
              @           IN     NS   localhost.
 
  
              localhost.  IN     A    127.0.0.1
 
  
在 
   named.local  
   中
 
  
              $TTL 86400
 
  
              @    IN    SOA  localhost. root.localhost. (
 
  
                                                2011022601
 
  
                                                1H
 
  
                                                10M
 
  
                                                7D
 
  
                                                1D )
 
  
              @       IN      NS   localhost.
 
  
              1       IN      PTR  localhost.
 
  
          chown :named /etc/name.comf
 
  
          chown :maed /var/named/*
 
  
          service named configtest  
   检查主配置文件语法是否有错
 
  
          service named start 
 
  
          netstat -tnulp | grep 53
 
  
        
   测试: 
   dig -x 127.0.0.1    
   反向
 
  
             dig -t A localhost.   
   正向
 
  
DNS 
   接受 
   rndc 
   的远程控制:
 
  
               
   配置: 
    /etc/rndc.conf /etc/rndc.key
 
  
              rndc-confgen >/etc/rndc.conf  
   手动生成配置文件
 
  
              tail /etc/rndc.conf | head -9 | sed 's/^# //g' >> /etc/named.conf  
   将 
   key 
   添加到主配置文件中
 
  
              service named restart
 
  
              rndc flush  
   清缓存
 
  
              rndc status
 
  
              rndc stop  
   可以将 
   named 
   服务停止 
   但不能启动
 
  
              rndc reload  
   重读配置文件
 
  
DNS 
   配置域为 
   a.com 
   的服务器:
 
  
               
   配置:
 
  
                      
   在 
   named.conf 
   添加
 
  
                     zone "a.com" IN {
 
  
                         type master;
 
  
                          allow-transfer { none; };  
   不允许任何主机传送区域
 
  
                         file "a.com.zone";
 
  
                      };
 
  
                     zone "0.168.192.in-addr.arpa" IN {
 
  
                         type master;
 
  
                         file "192.168.0.com.zone";
 
  
                     };
 
  
               
   在 
   /var/named 
   下建 
     vim a.com.zone
 
  
                     
 
  
              $TTL 86400 
 
  
              $ORIGIN a.com.     
 
  
              @   IN  SOA  a.com. root.a.com. (
 
  
                                2011022101 ; serial   ;  
   为注释
 
  
                                1H       ; refresh (1 hour)
 
  
                                10M       ; retry (10 minutes)
 
  
                                7D    ; expire (1 week)
 
  
                                1D      ; minimum (1 day)
 
  
                                )
 
  
                          IN   NS                ns
 
  
                        IN   MX      10  mail
 
  
              www      IN             A       192.168.0.33
 
  
              ftp      IN             A       192.168.0.35
 
  
              mail     IN             A       192.168.0.36
 
  
              ns       IN             A       192.168.0.34
 
  
              bbs      IN           CNAME     www    www 
   的别名为 
   bbs
 
  
<?xml:namespace prefix = o /> 
   
 
 
  
               
   修改组: 
          
 
  
                     chown :named a.com.zone
 
  
        
   在 
   /var/named/ 
   中 
     vim 192.168.0.zone
 
  
 
   
 
 
  
              $TTL 86400
 
  
              @    IN    SOA a.com. root.a.com. (
 
  
                                         2011022101
 
  
                                         1H
 
  
                                         10M
 
  
                                          7D
 
  
                                        1D )
 
  
                   IN        NS   ns.a.com.
 
  
              34         IN      PTR   ns.a.com.
 
  
              36   IN       PTR   mail.a.com.
 
  
              35      IN      PTR   www.a.com.
 
  
              35    IN   PTR   ftp.a.com.
 
  
              chown :named  192.168.0.zone
 
  
   
 
  
              vim /etc/resolv.conf  
   指定本机
 
  
              service named restart 
 
  
               
   测试 
    dig -t A www.a.com
 
  
                   dig -x 192.168.0.36
 
  
                   dig -t axfr gao.com  
   把 
   a.com 
   的记录全部传递
 
  
主域名从域名的数据的同步:主从处于同一网段
 
  
               
   主服务器: 
   192.168.0.34
 
  
                     vim /etc/named.conf
 
  
                     zone "a.com" IN {
 
  
                         type master;
 
  
                          allow-transfer { 192.168.0.89; };  
   不允许任何主机传送区域
 
  
                        # allow-update { none; };   ( 
   允许动态更新的客户端地址 
   ) };
 
  
                         file "a.com.zone";
 
  
                      };
 
  
                     zone "0.168.192.in-addr.arpa" IN {
 
  
                         type master;
 
  
                         file "192.168.0.com.zone";
 
  
                          allow-transfer { 192.168.0.89; };
 
  
                     };
 
  
                      
   重启服务
 
  
               
   从服务器: 
   192.168.0.89
 
  
                     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";
 
  
                      };
 
  
                     zone "a.com" IN {
 
  
                    type slave;
 
  
                    file "slaves/a.com.zone";
 
  
                     masters { 192.168.0.34; };
 
  
                    };
 
  
                     zone "0.168.192.ip-addr.arpa" IN {
 
  
                    type slave;
 
  
                    file "slaves/192.168.0.zone";
 
  
                     masters { 192.168.0.34; };
 
  
                    };
 
  
                      
   创建 
   var/named/named.local  named.ca localhost.zone
 
  
                      
   将三个文件和主配置文件修改组为 
   named 
 
  
                      
   关闭双方防火墙 
     selinux
 
  
                     service  named configtest
 
  
                     service  named restart
 
  
                     tail /var/log/messages
 
  
                     ls /var/named/salves   
   会有 
   a.com.zone  
   文件
 
  
                      
   验证:在 
   a.com.zone 
   上添加一条记录和增加 
   ns 
   记录 
   反向解析文件也要添加
 
  
                            IN   NS   ns2
 
  
                     ns2  IN   NS   192.168.0.89
 
  
                     chmod g+w /var/named
 
  
                     
 
  
主域的子域的配置: 
   a.com 
   下细分子域: 
   cs.a.com
 
  
                                fn.a.com
 
  
               
   打开正向解析文件子域授权:
 
  
                            vim  /var/named/a.com.zone
 
  
                            cs.a.com. IN   NS  ns.cs.a.com.
 
  
                            fn.a.com. IN   NS   ns.fn.a.com.
 
  
                            ns.cs.a.com.    IN      A  192.168.0.87
 
  
                            ns.fn.a.com.    IN   A     192.168.0.65
 
  
                            rndc reload
 
  
                     Subdomain 
   主机:
 
  
                            eth0 192.168.0.87/24
 
  
                            vim /etc/named.conf
 
  
                              zone "cs.a.com"  IN {
 
  
                                   type master;
 
  
                                   file "cs.a.com.zone";
 
  
                            };
 
  
                            vim /var/named/cs.a.com.zone  
   创建 
   cs.a.com 
   的正向解析文件
 
  
                            service named restart
 
  
                             
   测试: 
   dig -t A  www.cs.a.com @127.0.0.1
 
  
                             
   主域名服务器上: 
   dig -t A www.cs.a.com  @127.0.0.1
 
  
                             
   在子域服务器上解析不到主域的 
   www.a.com
 
  
                                          dig -t A www.a.com @127.0.0.1
 
  
                             
   解决方法为转发域
 
  
               
   转发 
   forwarders 
   域:当 
   dns 
   解析不到 
   ip 
   时 
   会去找根服务器 
   为避免找根可以做转发域
 
  
                      
   在子域服务器上 
   Subdomain 
   配置:
 
  
                            vim /etc/named.conf
 
  
                              zone "a.com" IN {
 
  
                                   type forward;                       
   当需要解析 
   a.com 
   时转发到 
   192.168.0.34 
   这个主机的
 
  

      
  
 
  
域上
 
  
                                   forwarders { 192.168.0.34; }; 
 
  
                            };

 https://blog.51cto.com/jingmu/508255