一,DNS

DNS:Domain Name Server

UDP/53,TCP/53

DNS:名称解析

nsswitch.conf

     hosts: files dns

         file:/etc/hosts

         dns:DNS services

DNS:FQDN <-->ip

FQDN:Full Qualified Domain Name

DNS:层级结构

          .  根

组织类TLD:

                com

                net

                mil

                edu

                gov   

                org   TLD:Top Level Domain

国家类TLD:

                cn

                jp

                uk

反向解析TLD:

    二级域:可申请

解析类型:

       正向解析:

       反向解析:

查询类型:

     query:

             迭代查询:发出多次请求

             递归查询:客户端只发出一次请求

二段式工作:

TTL:存活时间   缓存

DNS区域角色:

           主:master

           从:slave

           转发:forward   

           根:    hint

主--->从:从还可以有从

主--从: 完全区域传送 axfr    从主动同步 pull

        主--从:   增量区域传送   ixfr     主通知机制 类似 push  通过版本号同步

        2H(refresh:刷新), (retry:重试)超过某段时间后从服务器也停止工作

       

正向解析:正向库

反向解析:反向库

      magedu.com  domain

      正向数据区域  zone

      反向数据区域  zone

服务器角色类型:

      主dns服务器

      从dns服务器

      缓存服务器

      转发服务器

数据库文件的格式:宏定义,数据库条目

每个条目叫资源记录:(Resource Record,RR)

     资源记录的格式:

     name      [ttl]          CLASS        RTYPE        RDATY

                                                    资源类型      资源数据

     RType:

              A(address): FQDN  -----IP

              AAAA(ipv6):FQDN  -----IP

              PTR(pointor): IP--------FQDN

 

              NS(name server): -----FQDN

              CNAME:----------------FQDN

              MX:(Mail eXcanger)(优先级0-99)-------FQDN

              SOA:(Start Of Authority):起始授权记录

                     对于任何区域文件,SOA必须定义第一条

RData:

              A:IP

              AAAA:ipv6

              PTR:FQDN

              NS:FQDN

              MX:FQDN

              CNAME:FQDN

              SOA: FQDN(主DNS的FQDN)   contact(mailbox,不能用@,用.替换) (

                       serial number   

                       refresh time 

                       retry time 

                       expire time 

                       negetive answer ttl  )

              任何FQDN必须以 。结尾

              除了soa任何记录不能换行

              第一个记录只能是SOA

name:

              A:FQDN

              AAAA:FQDN

              PTR:IP

              NS:zone

              MX:zone

              CNAME:FQDN

 

宏:变量

      $TTL         全局TTL

      $ORIGIN    名称附加后缀

DNS软件:Bind (Berkeley Information Name Domain)

              PowerDNS

         dig  -t  类型  域或FQDN

         host

         nslookup

服务器端:

         /etc/named.conf  主配置文件

     rndc:Remote Name Domain Controller 远程控制dns

         127.0.0.1:953 只监听了

         stop :停止服务

         start:开始服务

         reload:重新加载配置文件与zone

         reload zone:重新加载zone文件

         reconfig 重新加载config文件

        /etc/init.d/named  启动脚本

        named二进制命令

bind的工作目录 :/var/named

                     区域数据文件存储目录

缓存DNS服务器:

          根区域:表明跟服务器在哪

          本地正向区域:localhost----127.0.0.1

          本地反向区域:127.0.0.1---localhost

主配置文件结构:/etc/named.conf (640,owner:root,group:named)

          全局选项段:{

};

          区域声明端:

zone “ZONE_NAME” IN {

}; 

反向区域的区域名称:network-address(reverse).in-addr.arpa   

           RTR记录的“Name”是ip地址剩余的部分(主机地址)反过来写          

当前区域名称可以用@代替

 

DNS,一个FQDN可以对多个ip地址,实现轮询的负载均衡

www.godaddy.com

rndc-confgen > /etc/rndc.conf

DNS:中从复制

   allow-transfer { ip/net; ip/net; };

DNS面临的安全问题:

    Host Enumberation:主机枚举

              TSIG:事务签名

dnssec-keygen -a HMAC-MD5 -b 128 -n HOST ns-ns2.magedu.com

在通信双方的named.conf中定义密钥的格式如下:
key "ns-ns2.magedu.com." {
    algorithm hmac-md5;
    secret "C6Kai60IwnD9oeIwyyYYhQ==";
};

而后在每个主机上定义分别定义通信的对方,比如这里在ns.magedu.com上定义:
server 172.16.100.2
    keys { ns-ns2.magedu.com.; };
};

如果主服务器仅允许通过认证的从服务器进行区域传送,则可以使用类似如下格式定义传送限制:
allow-transfer { key "ns-ns2.magedu.com."; };

    Cache poisoning:缓存毒化

              DNSSEC

    Attacking the parent zone:父域攻击

父域授权:

         zone “ZONE” IN {

                type slave;

                 file “slaves/zone.zone”;

                 masters {        };

         };

        

转发域:

forward first :转发的目标服务器没有响应,就去找根

forward only:转发的目标服务器没有响应,就返回查不到。

zone “ZONE” IN {

   type forward;

  forward { first|only};

  forwarders {     iP   ;};

  forwarders { };

 

 

allow-query {};

    查询方式:

        递归:任何客户均可以此DNS为其DNS服务器

        迭代:

recursion yes|no;

allow-recursion {};

BIND:ACL

    acl “ACL_NAME” {

        IP;

        CIDR网络地址;

        TSIG密钥;

};

bind内置的acl:

        none,any,localhost,localnets

view :将一个区域切割为多个不同的逻辑视图,以实现对不同客户来源响应不同的内容

          只要顶一个view,所有的zone都只能定义在view当中

view “VIEW_NAME” {

        match-clients {172.16.0.0/16; };

         zone “magedu.com” IN{

         };\\\如果需要所递归查询,根区域只需要声明在允许递归的客户端列表所在的vim中

};

view “VIEW_NAME” {

         match-clients { any; };

         zone “magedu.com” IN {

         };

};

只能DNS:分网解析

www.dnspod.cn  智能解析

dig txt chaos version.bind.

 

 

bind 日志系统

   channel  用于记录产生的日志信息记录位置

   category 用于定义记录什么信息

logging {
        channel <string>; {
            file <logfile>;;
            syslog <optional_facility>;;
            null;
            stderr;
            severity <logseverity>;;
            print-time <boolean>;;
            print-severity <boolean>;;
            print-category <boolean>;;
       };
       category <string>; { <string>;; ... };
};

 

泛域名解析 ; magedu.com www.magedu.com