zoukankan      html  css  js  c++  java
  • 【DNS】CentOs7 BIND DNS 服务搭建

    1、安装

    # yum install -y bind bind-chroot bind-utils
    

      

    2、BIND配置说明

    2.1、BIND配置文件保存在两个位置:
        /etc/named.conf  - BIND服务主配置文件
        /var/named/    - zone文件(域的dns信息)

     

    2.2、如果安装了bind-chroot(其中chroot是 change root 的缩写),BIND会被封装到一个伪根目录内,配置文件的位置变为:
        /var/named/chroot/etc/named.conf   - BIND服务主配置文件
        /var/named/chroot/var/named/    - zone文件
      

    chroot是通过相关文件封装在一个伪根目录内,已达到安全防护的目的,一旦程序被攻破,将只能访问伪根目录内的内容,而不是真实的根目录

     

    2.3、BIND安装好之后不会有预制的配置文件,但是在BIND的文档文件夹内(/usr/share/doc/bind-9.9.4),BIND为我们提供了配置文件模板,我们可以直接拷贝过来:

        # cp -r /usr/share/doc/bind-9.11.4/sample/etc/* /var/named/chroot/etc/
    
        # cp -r /usr/share/doc/bind-9.11.4/sample/var/* /var/named/chroot/var/
    

      

    3、配置BIND(简单配置:删除文件中logging以下的全部内容,以及option中的部分内容,然后加入zone参数:

    # vim /var/named/chroot/etc/named.conf
    
    /*
     Sample named.conf BIND DNS server 'named' configuration file
     for the Red Hat BIND distribution.
    
     See the BIND Administrator's Reference Manual (ARM) for details about the
     configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html
    */
    
    options
    {
            // Put files that named is allowed to write in the data/ directory:
            directory               "/var/named";           // "Working" directory
    
    
            /*
              Specify listenning interfaces. You can use list of addresses (';' is
              delimiter) or keywords "any"/"none"
            */
            //listen-on port 53     { any; };
            listen-on port 53       { 127.0.0.1; };
    
            //listen-on-v6 port 53  { any; };
            listen-on-v6 port 53    { ::1; };
    };
    
    zone "devops.test" {
            type master;
            file "devops.test.zone";
    };
    

      

    4、域名解析

    新建devops.test.zone文件,devops.test的域名解析文件,zone文件放在/var/named/chroot/var/named/下,zone文件可以用/var/named/chroot/var/named/named.localhost为模板。

    # cp /var/named/chroot/var/named/named.localhost /var/named/chroot/var/named/devops.test.zone
    
    # vim  /var/named/chroot/var/named/devops.test.zone
    
    $TTL 1D
    @       IN SOA  @ devops.test. (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
            NS      @
            A       192.168.1.10
    *       A       192.168.1.10
            AAAA    ::1
    

      

     

    5、禁用bind默认方式启动,改用bind-chroot方式启动

    # /usr/libexec/setup-named-chroot.sh /var/named/chroot on
    
    # systemctl stop named
    
    # systemctl disable named
    
    # systemctl start named-chroot
    
    # systemctl enable named-chroot
    

      

    6、测试DNS服务

    6.1、在本机上测试,修改DNS服务的ip地址即可(命令:vim /etc/resolv.conf ),然后使用命令dig(命令:dig www.devops.test)测试

    # vim /etc/resolv.conf
    
    # dig www.devops.test
    

    6.2、非本机测试需要修改主配置文件named.conf,允许任何ip访问,然后重启服务器

    # vim /var/named/chroot/etc/named.conf
    

    7、配置上游DNS服务

     

      一个DNS服务器可以即不是某个域的master服务器,也不是某个域的slave服务器,一个服务器可以不包含任务域的配置信息,它将接手到所有DNS查询进行递归解析,将解析结果返回给查询客户端,并且将查询结果缓存下来,这样的DNS服务器称之为caching name server。

      通常一个局域网中配置缓存服务器是为了加速网络访问。

      也可以为缓存服务器配置一个上游DNS服务器地址,缓存服务器可以给客户提供一个上游DNS服务器的地址,我们可以通过 以下设置完成:
        在主配置文件中的option中加入: forwarders { 192.168.0.168;};

      还可以通过一下选项让服务器转发所有DNS查询到forwarders服务器:
        在主配置文件中的option中加入: forward only;

     

    options
    {
            // Put files that named is allowed to write in the data/ directory:
            directory               "/var/named";           // "Working" directory
    
    
            /*
              Specify listenning interfaces. You can use list of addresses (';' is
              delimiter) or keywords "any"/"none"
            */
            //listen-on port 53     { any; };
            listen-on port 53       { any; };
    
            //listen-on-v6 port 53  { any; };
            listen-on-v6 port 53    { any; };
    
            forwarders {192.168.1.10;};
    };
    
    #zone "devops.test" {
    #       type master;
    #       file "devops.test.zone";
    #};
    

      

    不解析devops.test,直接指定上游服务器到10,有效

     

     

     参考文献:https://www.cnblogs.com/h--d/p/7169169.html

     

    得意时做事,失意时读书
  • 相关阅读:
    OpenCV 图像旋转
    单链表插入与删除数据
    opencv 数据训练
    C++ 小波变换
    二十七、miniscrapy,scrapy源码初解
    二十六、Scrapy自定义命令
    二十五、scrapy中的去重规则及自定义
    二十四、在scrapy中如何获取cookies
    十六、 IO多路复用,异步非阻塞
    五、IO模型简介
  • 原文地址:https://www.cnblogs.com/lanse1993/p/12829876.html
Copyright © 2011-2022 走看看