zoukankan      html  css  js  c++  java
  • centos 6.5 DNS服务器 搭建

    一、DNS 介绍

      DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,DNS协议运行在UDP协议之上,使用端口号53(Domain), 953(mdc)。这两个端口号。在RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对DNS查询的反向缓存进行说明。

    二、安装

    [root@dns ~]# yum install -y bind bind-chroot bind-utils

      DNS的主程序 bind,还有一个是bind-utils。为了DNS安全考虑,引入了bind-chroot.

      chroot是通过将相关文件封装到一个伪根目录内,已达到安全防护的目的,一旦该程序被攻破,将只能访问到伪根目录内的内容,而并不是真实的根目录。安装了chroot这个服务,DNS服务的配置文件都会被安装到我们的伪根里面,会在里面生成一个与原来服务完全相同的一个目录体系结构。该服务的根目录就会把 /var/named/chroot 当成是自己的根目录,这样就可以对我们的真实根目录进行保护,所以建议大家在安装网络服务时最好都附带安装上chroot这个程序。

    三、配置

      BIND 的一些服务文档位置和模板:

        /usr/share/doc/bind-9.8.2/sample

      BIND的主配置文件通常是保存在两个位置:

        /etc/named.conf  -BIND服务主配置文件

        /var/named/  -域的zone配置文件

      安装了 bind-chroot 这个程序以后,BIND的主配置文件存放位置就变了,此时BIND的主配置文件会被封装到一个伪根目录内,此时的配置文件位置为:

        /var/named/chroot/etc/named.conf  -BIND服务主配置文件

        /var/named/chroot/var/named  -域的zone配置文件  

      复制模板

    [root@dns ~]# cp /etc/named.conf /etc/named.rfc1912.zones /var/named/chroot/etc/
    [root@dns ~]# cp -rv /usr/share/doc/bind-9.8.2/sample/var/* /var/named/chroot/var/

      修改配置:

      1、声明要解析的域名

    [root@dns etc]# vim /var/named/chroot/etc/named.conf 
    
    options {
            listen-on port 53 { 192.168.1.200; };     #监听本地IP的53端口
            //listen-on-v6 port 53 { ::1; };          #取消IPv6的监听,可以不注释
            directory       "/var/named";
            dump-file       "/var/named/data/cache_dump.db";
            statistics-file "/var/named/data/named_stats.txt";
            memstatistics-file "/var/named/data/named_mem_stats.txt";
            allow-query     { any; };          #接受任何人的DNS解析请求
            recursion yes;
    
            dnssec-enable yes;
            dnssec-validation yes;
    
            /* Path to ISC DLV key */
            bindkeys-file "/etc/named.iscdlv.key";
    
            managed-keys-directory "/var/named/dynamic";
    };
    
    logging {
            channel default_debug {
                    file "data/named.run";
                    severity dynamic;
            };
    };
    
    zone "." IN {
            type hint;
            file "named.ca";
    };
    
    //This is my DNS configuration
    
    zone "123.com" {                  //域名正向解析配置,建议写在 named.rfc1912.zones 文件中 
            type master;                // 指定我们要配置的是域主DNS服务器
            file "123.com.zone";          // 指定域名的zone文件为123.com.zone  ,一般都是以域名.zone 命名
            allow-update { none; };
    };        // ;号一定要加上,否则会报错
    
    zone "2.168.192.in-addr.arpa" {                //域名反向解析配置,建议写在 named.rfc1912.zones 文件中,格式一定为  xx.xx.xx.in-addr.arpa
            type master;
            file "192.168.2.zone";
            allow-update { none; };
    };
    
    // End my configuration
    include "/etc/named.rfc1912.zones";
    include "/etc/named.root.key";
    

      2、配置域名和IP的对应关系。

    [root@dns etc]# cd /var/named/chroot/var/named
    [root@dns etc]# cp named.localhost 123.com.zone
    [root@dns etc]# vim 123.com.zone
    $TTL 1D
    @       IN SOA  @ 123.com. (                                       ; “.”号必须加上
                                            2017012501      ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
            NS      @
            A       127.0.0.1
            AAAA    ::1
            IN      MX      10      mail.123.com.         ; MX  添加一条 邮件记录,邮件记录后面要跟域名,它会递归的解析这个域名,所以该域名的资源记录一定要有,后面的 “.” 一定要写上
    www     IN      A       192.168.2.10            ;添加A记录
    c1    IN      A       192.168.2.11
    c2    IN      A       192.168.2.12
    

      注意:MX记录一定要定义资源记录的最前面,否则就会解析不成功

      $TTL = 1D(默认生存时间=1D、缓存服务器保存记录的时间是1天。也就是告诉缓存服务器保存域的解析记录为1天)

      serial = 2017012501 (序列号=2017012501、我用配置日期作为序列号。这个序列号的作用是当辅域名服务器来复制这个文件的时候,如果号码增加了就复制)

      refresh = 1D (刷新=1D、辅域名服务器每隔24小时查询一个主服务器)

      retry = 1H (1 hour) (重试=3600秒、当辅域名服务试图在主服务器上查询更新时,而连接失败了,辅域名服务器每隔1小时访问主域名服务器)

      expire = 1W (7 days) (到期=604800秒、辅域名服务器在向主服务更新失败后,7天后删除中的记录。)

      3、配置反向解析

    [root@dns etc]# cp named.localhost 192.168.2.zone
    [root@dns etc]# vim 192.168.2.zone
    $TTL 1D
    @       IN SOA  @ 123.com. (
                                            2017012501      ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
            NS      @
            A       127.0.0.1
            AAAA    ::1
    10       IN      PTR     www.123.com.
    11    IN    PTR  c1.123.com.
    12    IN    PTR  c2.123.com.

      

      4.启动DNS服务

        [root@dns etc]# service named restart

        Stopping named:           [ OK ]
        Starting named:            [FAILED]   

      查看日志:

        [root@dns etc]# tail -f /var/log/messages

        权限问题,查看named.rfc1912.zones 发现 其他用户 没有 r 权限.

        添加权限   

          [root@dns etc]# chmod o+r /var/named/chroot/etc/named.rfc1912.zones

      

       [root@dns etc]# service named restart

        Stopping named:           [ OK ]
        Starting named:            [ OK ]   

       5.测试,在自己PC上配置DNS,通过nslookup 进行测试。

      





    IT运维开发路上的点点滴滴。。。
  • 相关阅读:
    windows本地提权——2003笔记
    Windows与linux添加用户命令
    反弹shell集锦
    提权-特权升级
    常见端口
    git泄露利用脚本
    Thinkphp5命令执行利用
    Thinkphp2.1漏洞利用
    打ms15-034补丁出现“此更新 不适用于您的计算机”
    Hyda爆破
  • 原文地址:https://www.cnblogs.com/weijie0717/p/6363059.html
Copyright © 2011-2022 走看看