一、bind的安装和配置

  1、bind的安装:用yum安装

      yum  -y install   bind

  2、用cd切换到bind的主配置文件/etc/named.conf,然后如下图把暂时不需要用的禁用:

  wKioL1g1yjSQ-DoEAADuQb0XycQ364.png-wh_50

  3、然后就用命令  servier  named  start  启动named进程,named进程是53端口的,如下图

     wKiom1g1xfKC_FVsAAEakXkTP3s746.png-wh_50

  

二、正向解析和反向解析

   1、正向解析的配置:

       1.1、打开 /etc/named.rfc1912.zones 这个文件,添加一个正向区域文件

          wKiom1g1yyGQCLTuAAA94Y1S5lE694.png-wh_50

       1.2、切换到/var/named/ ,创建文件 panlinux.com.zone  并在文件添加如下图内容:

           wKioL1g1z--g6jIDAACqrXFnGhU507.png-wh_50

        1.3、改panlinux.com.zone所属主和组,还有文件权限,如下图:

            wKiom1g10Izx-_g_AABKVZ2ez3M274.png-wh_50

        1.4、用named-checkconf 命令检查主配置文件,用named-checkzone命令来检查区域配置            文件,然后用  service named reload 重新加载一下named, 做完可以查看一下            日志,tail  /var/log/messages 

            wKioL1g11cXgTcJ0AAA3VrLXT2I843.png-wh_50

         1.5、测试:先到/etc/resolv.conf把dns的ip设置为本机IP 192.168.2.10,

             1.5.1、用dig -t A 域名  @主机 如下图

               wKioL1g117vhTHu3AACqUWjJ4xA243.png-wh_50

               wKioL1g11-STMz4WAACVwQ1PA7g799.png-wh_50

   2、反向解析:

       2.1 在/etc/named.rfc1912.zones 增多一条区域文件,如下图

         wKiom1g12NXzGshfAABl8S1jcBQ539.png-wh_50

       2.2 切换到/var/named/ ,创建文件 2.168.192.zone  并在文件添加如下图内容:

           wKioL1g12gLhggNnAABCk-KAAcg498.png-wh_50

       2.3 改2.168.192.zone所属主和组,还有文件权限,如下图:

         wKiom1g12mfgtlCtAAAiUBicpcI108.png-wh_50

       2.4 用named-checkconf 命令检查主配置文件,用service named configtest命令来检查            2.168.192.zone文件有没有语法错误,然后用service named reload 重新加载一            下named, 做完可以查看一下日志,tail /var/log/messages 

       2.5 测试:用dig -x ip 命令测试

           wKiom1g14kbz_YwkAAC-BmMnjYY000.png-wh_50

三 主从的配置

    做实验之前没有关闭防火墙的,要先把防火墙关掉,要不然主服务器数据同步不到从服务器上

    1、在服务器192.168.2.10上的panlinux.com.zone添加在区域数据文件中为从服务器添加一条NS       记录和对应的A或PTR记录,如下图是正向的:

       wKioL1g15m6yEayiAABsDFWRrtY539.png-wh_50

     2、在另外一台linux ip为192.168.2.11上做dns从服务器,先安装bind,然后在

       在/etc/named.rfc1912.zones 增多一条区域,然后用service named restart 重启一        下主从服务器的named服务,如下图

          wKiom1g159fDOSk8AABJn1***SQ764.png-wh_50

     3、然后在从服务器上的/var/named/slaves就会出现从主服务器同步来的panlinux.com.zone文件

       

     4、现在做反向的主从配置:在服务器192.168.2.10上的192.168.2.zone添加在区域数据文PTR记录,如下图:

   wKioL1g2QaviDfdrAABTM2M9KcU626.png-wh_50      

      5、 在另外一台linux ip为192.168.2.11的/etc/named.rfc1912.zones 增多一个区域,如下图:

   wKioL1g2QmWAeKH5AACDp90sAWM568.png-wh_50   

     6、 然后用service named restart 重启一下主从服务器的named服务,然后在从服务器上的/var/named/slaves就会出现从主服务器同步来的192.168.2.zone文件

     

     7、如果单单这样就可以获取服务器数据那就太危险了,别人可以通过模拟从服务器IP的方式获取主服务器的数据。所以我们要控制主服务器,让他只能同步给从服务器,而从服务器给谁都不同步。这样就相对安全了很多。

    在bind中有内置的acl(访问控制列表)

     none:表示死所有都不同步

    any:表示所有都同步

    localhost:只给本机同步

    localnet:给同步给同网络

    allow-update:允许更新

allow-transfer { ip; ip; ip; … };         none|any|localhost|localnet     都是allow-transfer的参数

从服务器的安全,如果在/etc/named.rfc1912.zones 区域增多一条allow-transfer { none; };,就表示谁都无法同步从服务器,如下图:

     wKioL1g2SAaTjVjmAACkyKebchM785.png-wh_50

    

四、子域的授权

(父域的ip为:192.168.2.10,子域的ip为:192.168.2.12)

    在父域的配置文件中添加如下项:

      授权的子区域名称

      子区域的名称服务器

      子区域的名称服务器的IP地址

    1、,在父域服务器上的 /var/named/panlinux.com.zone 添加如下图所示:

       wKioL1g2UTPxN64eAACG3pAFuAM847.png-wh_50

    2、然后在子域安装bind,并在区域文件中添加一个zone,如下图所示:

       wKioL1g2UjmwJuOEAABM8uZ4qcM705.png-wh_50

    3、在/var/named添加一个数据文件tech.panlinux.com.zone,如下图所示:

       wKioL1g2UqGRVnHpAABFThKMHm8337.png-wh_50 

    4、然后检查语法,在父域用 dig -t NS tech.panlinux.com @192.168.2.10  测试

五、转发机制

     

 1、配置区域转发:转发域

       解析某本机不负责的区域内的名称时不转发给根,而是转给指定的主机:

 

zone “ZONE NAME” IN{

    type forward;

    forwarders { DNS_SERVER; };

    forward only(仅转发)|first(先转发在找根)

   }

  1.1、在子域中的主配置文件添加如下图所示:

  wKioL1g2V3WCDHJBAAB0OCS_DsQ912.png-wh_50

  1.2、测试:

   在子域用 dig -t A  www.panlinux.com  @192.168.2.12  命令来测试

 

 2、配置转发的方式

     转发非本机负责解析的所有区域

      options{

        forward only|frist

        forwarders{ ip; }

       }

    wKiom1g2WYSjn52PAABxDxq9jb4718.png-wh_50

   

转发某特定区域

       zone”特定区域” IN{

       type forward;

        forwarders{ ip; }

        forward only|frist

       }

       允许转发的前提:转发必须对方服务器支持递归

六:view 视图:

    

 功能:由于主机解析查询时会轮询使用解析到的服务器,而bindview则根据客户端的来源不同,将同一个名称解析至不同的值,不做轮询。

    鉴于我国的各地既有联通网络,又有电信网络,而联通电信之间的连接靠的是北京机房的中转,那么可以想象,如果你处在电信网络下,向联通服务器发起请求的速度会有多慢。为了解决这种状况,边出现了bind view 这种功能,让联通用户至访问联通服务器,电信只访问电信。这样速度就会快很多了。

 view 视图,逻辑的DNS服务器,能够实现让一个view实现多次     

 view一旦实现,就所有的zone都放到view中

格式:

 view view_name {

        match-clients{

客户端地址,如果客户端很多,则用cal定义 ;

       zone”magelinux.com” IN{

       type master;

        file “magelinux.com.telcom”;

       }

     }

    view view_name {

        match-clients{ unicom; }

       zone”magelinux.com” IN{

       type master;

        file “magelinux.com.unicom”;

       }

     }

      view view_name {

        match-clients{ any; }

       zone”magelinux.com” IN{

       type master;

        file “magelinux.com.unicom”;

       }

     }

     只要写入view,所有的都应该写在view中

     自上而下匹配

首先将/etc/named.conf中的

zone "." {            type hint;
           file "named.ca";
   };

    这四行剪贴到/etc/named.rfc1912.zones中

将里面所有的zone都用view括起来,下面配置解析panlinux.com 的这个域

view left {

        match-clients { 192.168.0.0/24; };

zone “.” IN {

                type hint;

                file “named.ca”;

};

zone “localhost.localdomain” IN {

        type master;

        file “named.localhost”;

        allow-update { none; };

};

zone “localhost” IN {

        type master;

        file “named.localhost”;

        allow-update { none; };

};

zone “1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa” IN {

        type master;

        file “named.loopback”;

        allow-update { none; };

};

zone “1.0.0.127.in-addr.arpa” IN {

        type master;

        file “named.loopback”;

        allow-update { none; };

};

zone “0.in-addr.arpa” IN {

        type master;

        file “named.empty”;

        allow-update { none; };

};

};

 view right {

             match-clients { 192.168.2.0/24; };

             zone “panlinux.com” IN {

                  type master;

                  file “panlinux.com.right”;

             };

};

view defalue {

              match-clients { any; };

              zone “panlinux.com” IN {

                   type master;

                   file “panlinux.com.right”;

              };

};

保存好后,再用 named-checkconf 检查语法是否错误;

cd 到/var/named ,创建panlinux.com.right

wKioL1g2a3mRsgNGAABMLrxCBT0081.png-wh_50

改所组为named,改权限为640

dig -t A www.panlinux.com @192.168.2.12 可以解析出来的地址为192.168.0.1

wKiom1g2bDiyG-w7AACsAp8tIw4052.png-wh_50

使用view要注意的:

        

1、通常只为内网客户端提供递归功能,提供根区域等;

2、通过只为外网客户端提供本机所负责的区域的解析;