精华内容
下载资源
问答
  • 关闭服务:直接copy默认配置文件named.caching-nameserver.conf改名然后启动DNS服务:失败。mv回去再次启动失败。实在没办法,突然想到“当没有办法立即解决系统问题的时候,记得看日志”查看/var/log/messages 日志...

    今天做实验遇到一个很简单的问题纠结自己。DNS配置完成以后启动服务失败,但不报错。首先装好DNS服务相关软件包,启动直接启动DNS服务:成功。关闭服务:直接copy默认配置文件named.caching-nameserver.conf改名然后启动DNS服务:失败。mv回去再次启动失败。

    实在没办法,突然想到“当没有办法立即解决系统问题的时候,记得看日志”查看/var/log/messages 日志文件发现

    第一次成功开启记录

    :zone localdomain/IN/localhost_resolver:

    loaded serial 42

    : zone localhost/IN/localhost_resolver:

    loaded serial 42

    : running

    第一次失败的记录

    :none:0: open: /etc/named.conf: permission denied

    :loading configuration: permission denied

    :exiting (due to fatal error)

    第二次改回默认文件名的失败记录

    :none:0: open: /etc/named.caching-nameserver.conf: permission denied

    :loading configuration: permission denied

    :exiting (due to fatal error)

    可以看到都是权限拒绝,但我用的是root用户。那么应该是有特定用户来开启。查看用户文件夹/etc/passwd,发现果然有named这个用户。再查看配置文件宿主和属组,可以看到宿主是root。然后把宿主改为named用户,启动服务DNS成功。

    虽然是个小问题,不过对于初学者可能会造成困扰。所以要有看日志的好习惯。任何问题解决如果思路清晰了解决起来还是很简单的。(安修)

    展开全文
  • LinuxDNS服务器配置

    万次阅读 多人点赞 2018-10-30 18:07:23
    安装bind,bind-chroot,DNS基本配置:找对地,起对名,写对内容 。启动DNS服务器并更改本机DNS服务器地址,测试DNS服务器,易错点分析。

    写在前面

    环境用的redhat5.8,与dns主要相关的软件bind和bind-chroot。bind-chroot会改变bind的配置目录提高dns服务器的安全性。基础配置主要包括named.conf的配置,配置正向解析记录和反向解析记录。解析记录一般包括A记录,www,dns,ftp,mail等。

    安装bind,bind-chroot

    1. 查询是否系统是否已经安装对应软件。

      rpm -q bind
      rpm -q bind-chroot
      

      我这样的就是没安装,bind-libs,和bind-utils是系统自带的。
      在这里插入图片描述

    2. 安装

      yum install bind
      yum install bind-chroot
      

      安装完成后,查询已安装的软件包所包含的所有文件

      rpm -ql bind
      rpm -ql bind-chroot
      

      或者用下面的方式。
      在这里插入图片描述

    DNS基本配置

    设置域名为dnstest.com ,网络地址为192.168.64.0/24,添加dns,www,ftp主机名,添加别名记录,这些主机对应的IP地址为自己机器的IP地址,反向区域文件添加相应PTR记录。
    dns服务器地址为本机ip地址:192.168.64.130

    找对地,起对名,写对内容

    1. 编写主配置文件,直接复制下面内容,更改对应内容即可。
      注意一点要切记此文件的路径并不是"/var/named",而是如下所示:
      因为bind-chroot的原因,所有的和bind有关的配置文件都在chroot/路径的类根目录。这里面只有和bind有关的配置,更安全一点。

      [root@localhost etc]# pwd
      /var/named/chroot/etc
      
      options{
      directory "/var/named"; 
      };
      zone "dnstest.com." IN {
          type master; 
          file "dnstest.zone";
      };
      zone "64.168.192.in-addr.arpa" IN {
          type master;
          file "reverse.zone";
      };
      

      具体解释如下:

      • options{
        directory “/var/named”;
        };
        具体信息含义:
        options定义服务器的全局配置选项,在一个named.conf文件中只能有一个
        directory “/var/named”;区域文件的存放位置,而这里的/var/named默认是/var/named/chroot/var/named目录下

      • zone “dnstest.com.” IN {
        type master;
        file “dnstest.zone”;
        };

        zone语句用于定义区域,其中必须说明域名、DNS服务器的类型和区域文 件名等信息。这是正向记录。

      • zone “64.168.192.in-addr.arpa” IN {
        type master;
        file “reverse.zone”;
        };
        这是反向记录,切记,“64.168.192.in-addr.arpa” 前面的ip一点要反着写,原来是192.168.64. 一定要写成64.168.192. 。
        注意com后面有点 的地方,一定不能少。

    2. 编写正向解析数据文件
      文件目录:/var/named/chroot/var/named/dnstest.zone

      $TTL    86400  
      @    IN SOA  dns.dnstest.com.   root.dnstest.com. (
                                             2015111701
                                              3H              
                                              15M           
                                              1W              
                                              1D )            
              IN NS           dns.dnstest.com.
      dns     IN A            192.168.64.130
      www     IN A            192.168.64.2
      ftp     IN A            192.168.64.131
      

      具体解释如下:

      • @:指定域名
        dns.dnstest.com. 主机名,以.结尾,表示完整的主机名
        root.dnstest.com. 管理员的电子邮件地址
        IN:表示资源记录使用TCP/IP地址
        在这里插入图片描述

      • ()部分指定SOA记录各种选项的值,主要用于和辅助域名服务器同步数据时使用。关于几个时间的解释,(从上到下一一对照):

        Serial﹕序列号,每次更新该文件后,要将序列号增大,主要用master/slave模式的自动更新。其格式通常会是“年月日+修改次序”(但也不一定如此﹐您自己能够记得就行)。当 slave(辅助域名服务器) 要进行数据同步的时候﹐会比较这个号码。如果发现在这里的号码比它那边的数值“大”﹐就进行更新﹐否则忽略。不过设 serial 有一个地方您要留意:不能超过 10 位数字﹗

        Refresh﹕这里是是告诉 slave 要隔多久要进行数据同步(是否同步要看 Serial 的比较结果)。

        Retry﹕如果 slave 在进行更新失败后﹐要隔多久再进行重试。

        Expire﹕这是记录逾期时间:当 slave 一直未能成功与 master 取得联络﹐那到这里就放弃 retry﹐同时这里的数据也将标识为过期( expired )。

        Minimum﹕指定资源记录信息存放在缓存中的时间,这是最小预设 TTL 值﹐如果您在前面没有用“$TTL”来定义﹐就会以此值为准。

      • NS记录:名称服务器,指明区域中DNS服务器的主机名,也是区域文件中不可缺少的资源记录。
        在这里插入图片描述

    3. 编写反向解析数据文件
      文件目录:/var/named/chroot/var/named/reverse.zone

      $TTL    86400
      @   IN   SOA  dns.dnstest.com.  root.dnstest.com. (
                                            2015111701
                                            3H              
                                            15M           
                                            1W              
                                            1D ) 
             IN      NS      dns.dnstest.com.
      130    IN      PTR     dns.dnstest.com.
      2		 IN      PTR     www.dnstest.com.
      131     IN      PTR     ftp.dnstest.com.
      

    启动DNS服务器

    service named start
    service named restart
    

    在这里插入图片描述

    更改本机DNS服务器地址

    /etc/resolv.conf,该文件是DNS客户端配置文件,修改 nameserver 的地址为你刚配置dns服务器的地址即可。
    在这里插入图片描述

    测试DNS服务器

    测试DNS的命令有,nslookup,host,dig,一般最常用的nslookup,windows下也可以用。
    在这里插入图片描述

    在这里插入图片描述

    资源记录

    1. 别名记录CNAME
      如下为www.dnstest.com添加CNAME记录之后,www.dnstest.com就可以用abc.dnstest.com访问。
      abc     IN CNAME        www.dnstest.com.
      
    2. 邮件解析记录
      host -t dnstest.com 用该命令测试邮件交换记录。
      mail                IN A            [ip add(邮件服务器地址)]
      dnstest.com.  IN MX 10  mail.dnstest.com.
      

    DNS其他配置

    1. 泛域名解析记录
      所有的解析记录中没有的全都指向下面这个IP地址。
      *.dnstest.com.     IN A            IP地址
      
    2. 实现直接解析域名
      直接访问dnstest.com解析的IP地址。
      dnstest.com.     IN A            【IP地址】
      
    3. 实现负载均衡功能
      三台FTP服务器内容相同,DNS服务器将为客户的每个ftp.dnstest.com 查询按顺序返回不同的解析结果,将客户访问引导到不同计算机上,使客户访问不同的服务器。如下:
      ftp     IN A            192.168.64.50
      ftp     IN A            192.168.64.51
      ftp     IN A            192.168.64.52
      

    DNS辅助域名服务器的配置

    辅助域名服务器只需要修改named.conf文件即可,不需要创建区域文件,因为区域文件将从主域名服务器上自动复制到辅助域名服务器的slave目录下。
    named.conf

    options{
    directory "/var/named";
    };
    zone "zhoudi.com." IN {
            type slave;
            file "slaves/正向解析(自定义).zone";
            masters {主dns的ip;};
    };
    zone "132.17.172.in-addr.arpa" IN {
            type slave;
            file "slaves/反向解析(自定义).zone";
            masters {主dns的ip;};
    };
    
    

    易错点

    我在学习的过程中遇到以下错误,如果不幸你也遇到,可以参考参考。

    文件路径问题

    如下图,保错找不到dnstest.zone,最后发现是路径问题,可以仔细参考上面教程,就能解决。
    在这里插入图片描述

    反向解析记录

    如果你路径正确,但是就是nslookup解析不出来,可以看这里。
    在named.conf中,这里的ip要反着写。
    在这里插入图片描述

    记得更改DNS服务器的地址

    配置文件是这个哦:/etc/resolv.conf

    展开全文
  • LinuxDNS配置

    万次阅读 2017-08-20 23:22:20
    DNS配置

    很多平台平台提供云解析功能,所谓的云解析就是一个DNS服务器,一般情况下,在域名的提供商购买一个域名之后,会指定一个NS记录,例如,在域名的提供商购买一下域名miner-k.com.需要设置云解析记录。NS记录的值指向云解析提供的域名地址(ns1.alidns.com、ns2.alidns.com)

    购买域名常见的有两种场景:
    
     - 在公司内部构建一个域环境,公司内部配置很多的主机
     - 直接将域名设置为主机名。(只使用一台服务器)
    

    基本知识

    DNS:Domain name service 域名解析服务

    FQDN:Full Qualified Domain Name,完全合格域名

    TLD:Top level Domain 顶级域
    组织域:.com、.org、.net、.cc
    国家域:.cn、.tw、.hk、jp
    反向域:IP —> FQDN
    反向:IP —> FQDN
    正向:FQDN —> IP

    查询方式:

    查询方式有两种:递归、迭代

    递归:客户端向本地的DNS服务器查询,本地的DNS服务器没有记录需要向其他的域名服务器查询,并将查询到的结果返回该客户端
    迭代:以查询www.qq.com.本地DNS服务器查询时,先向根(root)DNS服务器查询,根服务器告知本地的DNS服务器qq.com的NS、A记录。本地的DNS服务器向qq.com服务器查询www.qq.com对应的A记录

    这里写图片描述

    DNS服务器:
    接受本地客户端查询(递归)
    外部客户端请求:请求权威答案
    肯定答案:TTL
    否定答案:TTL
    外部客户端请求:非权威答案

    缓存DNS服务器:

    注意:一个公司申请一个域名(qq.com),在com的DNS服务器上指定了qq.com的主机指定到一个IP地址,在公司用构建一个DNS服务器,可以分配不同的主机名给不同的服务器。例如:www.baidu.com、ftp.baidu.com、yunpan.baidu.com、tv.baidu.com等。

    数据库中的每一条记录称为一个资源记录(Resource Record,RR)
    资源记录的格式

    NAME(名称)TTL(可省略有全局)IN(internal互联网)RRT(Resource Record Type 资源记录类型)VALUE
    起始授权机构默认设置为60分钟互联网(IN)SOA(start of authority设置主从服务器的同步,其实授权的对象)所有者名称、服务器的DNS名称、序列号、刷新间隔、重试时间、过期时间、最小TTL
    主机名记录特定的TTL时间(如果存在),否则为区域TTL互联网(IN)A (IPv4)、AAAA(IPv4)、PTR(反向解析)所有者名称、IP地址
    名称服务器(Name Server)记录特定的TTL时间(如果存在),否则为区域TTL互联网(IN)NS区域名称(Zone Name)、名称服务器的名称
    邮件交换器记录特定的TTL时间(如果存在),否则为区域TTL互联网(IN)MX区域名称(Zone Name)、邮件交换服务器、DNS名称的首选值(优先级,0-99,数据越小,优先级越高)
    别名记录特定的TTL时间(如果存在),否则为区域TTL互联网(IN)CNAME(Canonical Name)所有者名称、主机的DNS名称

    资源记录类型:

    SOA(Start Of Authority): 
        ZONE NAME   TTL     IN      SOA     FQDN(主DNS的名称)   ADMINISTRATOR_MAILBOX (
                            serial number
                            refresh
                            retry
                            expire
                            na ttl )
    
        serial number :序列号
        refresh:      刷新时间,间隔多长时间向主服务器检测一次
        retry:        重试时间,当第一次检查主服务器失败之后间隔重试的时间(一定要比refresh小)
        expire:     过期时间,从服务器连接不到主服务器的时间
        nagative answer TTL:否定答案的缓存时间
    
        时间单位:M(分钟)、H(小时)、D(天)、W(周),默认单位是秒
        邮箱格式:admin@miner.com -写为-> admin.miner.com
    
        miner.com.      600     IN      SOA     ns1.miner.com.      admin.miner.com. (
                            2013040101
                            1H
                            5M
                            1W
                            1D )
    
    
    NS(Name Server): ZONE NAME --> FQDN    #miner.com的域名服务器时ns1.miner.com
        miner.com.      600     IN      NS      ns1.miner.com.
        miner.com.      600     IN      NS      ns2.miner.com.
        ns1.miner.com.  600     IN      A       1.1.1.2
        ns2.miner.com.  600     IN      A       1.1.1.5
    
    
    MX(Mail eXchanger): ZONE NAME --> FQDN
        ZONE NAME   TTL     IN      MX  pri     VALUE
        优先级:0-99,数字越小级别越高
            miner.com.  600     IN      MX  10  mail.miner.com.
            mail.miner.com. 600     IN  A   1.1.1.3
    
    
    A(address): FQDN-->IPv4 
    AAAA:FQDN-->IPv6
    
    PTR(pointer):IP-->FQDN
    
    
    CNAME(Canonical NAME): FQDN-->FQDN    # www2.miner.com是www.miner.com的别名
        www2.miner.com.     IN      CNAME       www.miner.com.
    
    
    泛域名解析:
    *.miner-k.com.  IN   A  1.1.1.3
    所有的以miner-k.com 中的地址指向1.1.1.3 
    
    TXT
    CHAOS
    SRV
    
    
    

    socket套接字:IP+端口
    域:Domain
    区域:Zone

    域是逻辑概念、区域是物理概念,区域分为正向区域和反向区域(都有配置文件)。

    部署环境

    [root@miner_k ~]# cat /etc/redhat-release 
    CentOS release 6.9 (Final)
    [root@miner_k ~]# 
    

    部署

    BIND (Berkeley Internet Name Domain)

    安装

    [root@cxy-65 ~]# yum -y install bind bind-utils bind-libs
    
    [root@cxy-65 ~]# rpm -qa | grep bind
    bind-9.8.2-0.62.rc1.el6_9.4.x86_64       #主要安装包
    bind-utils-9.8.2-0.62.rc1.el6_9.4.x86_64    #bind工具
    rpcbind-0.2.0-13.el6_9.1.x86_64
    bind-libs-9.8.2-0.62.rc1.el6_9.4.x86_64  #bind库文件

    配置文件

    [root@miner_k ~]# rpm -qc bind-9.8.2-0.62.rc1.el6_9.4.x86_64
    /etc/logrotate.d/named  
    /etc/named.conf                   #主配置文件
    /etc/named.iscdlv.key
    /etc/named.rfc1912.zones
    /etc/named.root.key
    /etc/rndc.conf                       #Remote name domain controller 远程域名服务器控制器
    /etc/rndc.key                       #密钥文件
    /etc/sysconfig/named
    /var/named/named.ca       #13个根节点的IP地址
    /var/named/named.empty
    /var/named/named.localhost     #本地主机名的正向解析
    /var/named/named.loopback    #本地主机名的反向解析
    

    区域文件配置的格式:

    区域:
    zone "ZONE NAME" IN {
        type {master|slave|hint|forward};
    
    };
    
    主区域:
        file "区域数据文件";    #可以是相对路径,也可以是绝对路径
    
    从区域:
        file "区域数据文件";
        masters { master1_ip; };
    

    修改主配置文件/etc/named.conf

    options {
            listen-on port 53 { 127.0.0.1; };
            listen-on-v6 port 53 { ::1; };
            directory       "/var/named";
    };
    
    
    zone "." IN {                #根区域的配置
            type hint;
            file "named.ca";
    };
    
    zone "localhost" IN {     #localhost的区域配置
            type master;
            file "named.localhost";
    
    };
    
    
    zone "0.0.127.in-addr.arpa" IN {    #127.0.0.1的反向解析区域配置
            type master;
            file "named.loopback";
    };
    
    
    
    
    acl 配置

    格式:

    acl string { address_match_element; ... };

    实例:

    acl internet {
            192.168.3.0/24;
            10.0.0.0/24;
            172.16.8.2;
    };
    
    
    options {
    
            directory       "/var/named";
            allow-query-cache { internet;}; 
    };
    
    opetions 中的配置
    options {
            listen-on port 53 { 127.0.0.1; };
            listen-on-v6 port 53 { ::1; };
            directory       "/var/named";           #区域配置文件的位置
            allow-recursion { 192.168.1.0/24; };    #设置允许递归的网段。
            recursion no;          #no,不允许所用的客户端递归;     yes,允许客户递归
            allow-query     { any; };    #指定查询的客户端
            allow-transfer { 122.112.217.171/32; }; #在指定的主机上设置允许区域传送。
            forward ( first | only );     #转发,first首先转发,only只转发
            forwarders  { 192.168.12.1;};  #如果此DNS解析不了转发到指定的IP地址的服务器上。
    
    };

    配置文件的语法检查

    # 查看配置文件的权限是否有640、属组是否为named
    [root@miner-k etc]# ll /etc/named.conf
    -rw-r----- 1 root named 300 Aug 14 10:58 /etc/named.conf
    
    
    # 检查named.conf是否有语法问题          
    [root@miner-k ~]# named-checkconf   
    
    
    
    #检查区域配置文件是否有问题
    [root@miner-k ~]# named-checkzone "localhost"   /var/named/named.localhost       
    zone localhost/IN: loaded serial 0
    OK
    [root@miner-k ~]# named-checkzone "0.0.127.in-addr.apra" /var/named/named.lo
    named.localhost  named.loopback   
    [root@miner-k ~]# named-checkzone "0.0.127.in-addr.apra" /var/named/named.loopback 
    zone 0.0.127.in-addr.apra/IN: loaded serial 0
    OK
    

    端口

    53/tcp
    53/tcp
    953/tcp rndc
    通常DNS是以UDP这个较快速的数据传输协议来查询的,但是万一没有办法查询到完整的信息时,会再次以TCP这个协议重新查询。

    实例

    实例(场景一)

    需求

    在域名的供应商购买一个域名miner.com,本地部署一个DNS服务器,分别指定不同的不同的主机www.miner.com、ftp.miner.com、www2.miner.com是www的别名。

    com的DNS部署(为了解结构原理)

    设置主配置文件

    [root@com ~]# vim /etc/named.conf
    options {
        directory   "/var/named";
    };
    
    zone "." IN {
        type hint;
        file "named.ca";
    };
    
    zone "localhost" IN {
        type master;
        file "named.localhost";
    };
    
    
    zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.loopback";
    };
    
    // 下面这部分是必须写的
    zone "com" IN {        
        type master;
        file "com.zone";
    };
    
    

    查看权限:
    配置文件的权限是640,属组是named,

    [root@com ~]# ll /etc/named.conf
    -rw-r----- 1 root named 282 Aug 17 11:25 /etc/named.conf
    

    设置区域配置文件:

    [root@com ~]# vim /var/named/com.zone
    $TTL 600
    @ IN SOA ns1.com. admin.miner.com (
                            20170817
                            1D
                            1H
                            1W
                            3H
    )
            IN NS ns1.com.
    ns1     IN A 127.0.0.1
    miner-k   IN A *.*.217.247    #此处可以使用NS记录,但是必须能就解析记录名称。此处的"*"是将真实IP地址遮挡了。
    
    或者
    miner-k   IN    NS  ns2.alidns.com   #如果是使用阿里的云解析可以设置为ns2.alidns.com或者ns1.alidns.com
    

    miner.com的DNS部署

    公司内网DNS服务器(正向)

    主配置文件

    # 编辑主配置文件
    [root@miner ~]# vim /etc/named.conf
    [root@miner ~]# cat /etc/named.conf
    options {
        directory   "/var/named";
    };
    
    
    
    zone "." IN {
        type hint;
        file "named.ca";
    };
    
    zone "localhost" IN {
        type master;
        file "named.localhost";
    };
    
    
    zone "0.0.127.in-addr.apra" IN {
        type master;
        file "named.loopback";
    };
    
    zone "miner-k.com" IN {
        type master;
        file "miner-k.com.zone";
    };
    
    
    
    #查看主配置文件的权限
    [root@miner ~]# ll /etc/named.conf
    -rw-r----- 1 root named 294 Aug 14 15:45 /etc/named.conf
    [root@miner ~]# named-checkconf 
    
    

    配置区域配置文件

    # 修改区域配置文件
    [root@miner ~]# vim /var/named/miner-k.com.zone
    [root@miner ~]# cat /var/named/miner-k.com.zone 
    $TTL 600
    miner-k.com. IN SOA ns1.miner-k.com. admin.miner-k.com (
                    20170814
                    1H
                    5M
                    1W
                    5D)
    #miner-k.com.中的最后一个"."是不可省略的,此处的值可以使用"@" 代替
    #ns1.miner-k.com 是miner.com域的DNS服务器的名称,此处必须是名称
    #admin.miner-k.com 是邮箱,本应该的有些地址为amdin@miner-k.com。但是在区域配置文件中"@"有特殊的含义,故只能用户"."代替。
    
        IN NS ns1.miner-k.com.     # 该记录和上一条记录相同故可以省略开头,设置为空格。最后的ns1.miner-k.com可以省略为ns1
    ns1     IN A    10.0.1.53
    www     IN A    10.0.1.57
    ftp     IN CNAME www
    
    
    #设置权限
    [root@miner-k ~]# chmod 640 /var/named/miner-k.com.zone 
    [root@miner-k ~]# chown root:named /var/named/miner-k.com.zone 
    
    
    #检查语法
    [root@miner-k ~]# named-checkzone "miner-k.com" /var/named/miner-k.com.zone 
    zone miner-k.com/IN: loaded serial 20170814
    OK

    反向区域配置

    在主配置文件中增加反向区域配置文件的内容

    [root@miner-k ~]# tail -5 /etc/named.conf
    zone "49.78.117.in-addr.arpa" IN {
        type master;
        file "117.78.49.zone";
    };
    

    设置反向区域配置文件

    [root@miner-k ~]# cat /var/named/117.78.49.zone 
    $TTL 600
    @ IN SOA ns1.miner-k.com. admin.miner-k.com (
                20170817
                1D
                1H
                1w
                1M
    )
    
            IN NS ns1.miner-k.com.     #此处的配置最后必须加".",否则会自动117.78.49.in-addr.apra
    247     IN PTR ns1.miner-k.com.
    247     IN PTR www.miner-k.com.

    设置区域配置文件的权限

    [root@miner-k ~]# chmod 640 /var/named/117.78.49.zone
    [root@miner-k ~]# chown root:named /var/named/117.78.49.zone
    

    实例(场景二)

    购买域名之后指向一个台服务器,这种配置比较简单,直接在域名提供商的解析中设置一条A记录即可。

    主从复制

    架构:
    master IP:117.78.49.247
    slave IP:122.112.217.171

    主服务器的配置:

    [root@master ~]# cat /etc/named.conf
    options {
            directory       "/var/named";
            allow-query     { any; };
    };
    
    
    zone "." IN {
            type hint;
            file "named.ca";
    };
    
    
    zone "localhost" IN {
            type master;
            file "named.localhost";
    };
    
    
    zone "0.0.127.in-addr.apra" IN {
            type master;
            file "named.loopback";
    };
    
    zone "miner-k.com" IN {
            type master;
            file "miner-k.com.zone";
    };
    
    zone "49.78.117.in-addr.arpa" IN {
            type master;
            file "117.78.49.zone";
    };
    
    

    在区域配置文件中指定从服务器的IP地址

    [root@master ~]# cat /var/named/miner-k.com.zone 
    $TTL 600
    @ IN SOA ns1.miner-k.com. admin.miner.com (
                            20170819
                            1H
                            5M
                            1W
                            3H
    )
            IN NS ns1.miner-k.com.
    ns1     IN A 127.0.0.1
    @       IN NS ns2
    ns2     IN A 122.112.217.171    # 从服务器IP地址必须写
    www     IN A 117.78.49.24
    ftp     IN A 117.78.49.24
    pop     IN A 117.78.49.24
    
    

    从服务器的配置:

    从服务器的配置和主服务器的配置相似,只是部分需要修改,故在配置从服务器时,只需要修改部分的配置即可。

    从服务器需要同步主服务器的配置需要有完全区域传送的权限

    [root@slave ~]# cat /etc/named.conf
    options {
        directory   "/var/named";
        allow-query     { any; };
    };
    
    
    zone "." IN {
        type hint;
        file "named.ca";
    };
    
    
    zone "localhost" IN {
        type master;
        file "named.localhost";
    };
    
    
    zone "0.0.127.in-addr.apra" IN {
        type master;
        file "named.loopback";
    };
    
    zone "miner-k.com" IN {
        type slave;                 #设置参数是slave,表示为从服务器
        masters { 117.78.49.247; };     #设置主服务器的IP地址
        file "slaves/miner-k.com.zone";   #设置从服务器的区域配置文件的存放位置。切记需要查看slaves目录的权限
    };
    
    zone "49.78.117.in-addr.arpa" IN {
        type slave;
        masters { 117.78.49.247; };
        file "slaves/117.78.49.zone";
    };
    
    

    从服务器区域配置文件的目录权限

    [root@slave ~]# ls -ld /var/named/slaves/
    drwxrwx--- 2 named named 4096 Aug 17 22:20 /var/named/slaves/
    

    查看是否有完全区域传送的权限

    [root@slave ~]# dig -t axfr miner-k.com @117.78.49.247
    
    ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4 <<>> -t axfr miner-k.com @117.78.49.247
    ;; global options: +cmd
    miner-k.com.        600 IN  SOA ns1.miner-k.com. admin.miner.com.miner-k.com. 20170817 3600 300 604800 10800
    miner-k.com.        600 IN  NS  ns1.miner-k.com.
    ns1.miner-k.com.    600 IN  A   127.0.0.1
    www.miner-k.com.    600 IN  A   117.78.49.24
    miner-k.com.        600 IN  SOA ns1.miner-k.com. admin.miner.com.miner-k.com. 20170817 3600 300 604800 10800
    ;; Query time: 31 msec
    ;; SERVER: 117.78.49.247#53(117.78.49.247)
    ;; WHEN: Thu Aug 17 15:12:09 2017
    ;; XFR size: 5 records (messages 1, bytes 171)
    

    测试

    修改主服务器的区域配置文件

    [root@master ~]# cat /var/named/miner-k.com.zone 
    $TTL 600
    @ IN SOA ns1.miner-k.com. admin.miner.com (
                            20170820    #修改序列号,在以前的基础上加1
                            1H
                            5M
                            1W
                            3H
    )
            IN NS ns1.miner-k.com.
    ns1     IN A 127.0.0.1
    @       IN NS ns2
    ns2     IN A 122.112.217.171
    www     IN A 117.78.49.24
    ftp     IN A 117.78.49.24
    pop     IN A 117.78.49.24
    hello   IN A 117.78.49.20      #增加一条记录
    

    主服务器上查看日志

    [root@master ~]# service named reload
    Reloading named:                                           [  OK  ]
    
    [root@master ~]# tailf  /var/log/messages
    
    Aug 17 22:45:12 ecs-8c70 named[13161]: reloading configuration succeeded
    Aug 17 22:45:12 ecs-8c70 named[13161]: reloading zones succeeded
    Aug 17 22:45:12 ecs-8c70 named[13161]: zone miner-k.com/IN: loaded serial 20170820
    Aug 17 22:45:12 ecs-8c70 named[13161]: zone miner-k.com/IN: sending notifies (serial 20170820)
    Aug 17 22:45:12 ecs-8c70 named[13161]: client 122.112.217.171#55585: transfer of 'miner-k.com/IN': AXFR-style IXFR started
    Aug 17 22:45:12 ecs-8c70 named[13161]: client 122.112.217.171#55585: transfer of 'miner-k.com/IN': AXFR-style IXFR ended
    

    rndc 配置

    生成RNDC的配置文件

    [root@ecs-8c70 ~]# rndc-confgen > /etc/rndc.conf
    [root@ecs-8c70 ~]# cat /etc/rndc.conf 
    # Start of rndc.conf
    key "rndc-key" {
            algorithm hmac-md5;
            secret "5bNswdCUaehpdZiWoBtYzg==";
    };
    
    options {
            default-key "rndc-key";
            default-server 127.0.0.1;
            default-port 953;
    };
    # End of rndc.conf
    
    # Use with the following in named.conf, adjusting the allow list as needed:
    # key "rndc-key" {
    #       algorithm hmac-md5;
    #       secret "5bNswdCUaehpdZiWoBtYzg==";
    # };
    # 
    # controls {
    #       inet 127.0.0.1 port 953
    #               allow { 127.0.0.1; } keys { "rndc-key"; };
    # };
    # End of named.conf
    

    将上面注释的部分复制到named.conf的配置文件中

    [root@ecs-8c70 ~]# tail /etc/named.conf
    key "rndc-key" {
          algorithm hmac-md5;
          secret "5bNswdCUaehpdZiWoBtYzg==";
    };
    
    controls {
          inet 127.0.0.1 port 953       #设置监听的地址
                  allow { 127.0.0.1; } keys { "rndc-key"; };  #允许控制named服务的地址
    };
    
    

    重新启动named服务

    [root@ecs-8c70 ~]# service named restart
    Stopping named:                                            [  OK  ]
    Starting named:                                            [  OK  ]
    

    使用rndc命令测试

    格式:

    [root@ecs-8c70 ~]# rndc -h
    Usage: rndc [-b address] [-c config] [-s server] [-p port]
            [-k key-file ] [-y key] [-V] command

    查看服务器的状态

    [root@ecs-8c70 ~]# rndc -c /etc/rndc.conf status
    version: 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4
    CPUs found: 1
    worker threads: 1
    number of zones: 20
    debug level: 0
    xfers running: 0
    xfers deferred: 0
    soa queries in progress: 0
    query logging is OFF
    recursive clients: 0/0/1000
    tcp clients: 0/100
    server is up and running
    

    手动发送通知

    [root@ecs-8c70 ~]# rndc -c /etc/rndc.conf notify "miner-k.com"
    zone notify queued
    
    [root@ecs-8c70 ~]# tail /var/log/messages
    Aug 17 23:20:15 ecs-8c70 named[21620]: zone miner-k.com/IN: sending notifies (serial 20170820)

    清空缓存

    [root@ecs-8c70 ~]# rndc -c /etc/rndc.conf flush

    停止named服务

    [root@ecs-8c70 ~]# rndc -c /etc/rndc.conf stop

    子域转发

    父域:miner-k.com 122.112.217.171
    子域:market.miner-k.com 117.78.49.247

    父域配置:

    设置主配置文件

    [root@centos6-8 ~]# cat /etc/named.conf
    options {
        directory   "/var/named";
    };
    
    logging {
            channel default_debug {
                    file "data/named.run";
                    severity dynamic;
            };
    };
    
    zone "." IN {
        type hint;
        file "named.ca";
    };
    
    
    zone "miner-k.com" IN {
        type master;
        file "miner-k.com.zone";
    };
    

    设置区域配置文件

    [root@centos6-8 ~]# cat /var/named/miner-k.com.zone 
    $TTL 600
    @ IN SOA ns1.miner-k.com. admin.miner-k.com (
                    20170820
                    1D
                    1H
                    1w
                    1H
    )
    
        IN NS ns1
    ns1 IN A 122.112.217.171
    www IN A 122.112.217.171
    market  IN NS ns2
    ns2 IN A  122.112.217.171
    

    查看区域配置文件的权限

    [root@centos6-8 ~]# ls -ld /var/named/miner-k.com.zone 
    -rw-r-----. 1 root named 204 Aug 20 19:51 /var/named/miner-k.com.zone

    启动服务

    [root@cxy-65 ~]# service named restart
    Stopping named:                                            [  OK  ]
    Generating /etc/rndc.key:                                  [  OK  ]
    Starting named:                                            [  OK  ]

    子域DNS配置

    设置配置文件

    [root@cxy-65 ~]# cat /etc/named.conf 
    [root@cxy-65 ~]# cat /etc/named.conf 
    options {
        directory   "/var/named";
        allow-query-cache { any;};    #必须设置该参数否则无法转发
    };
    
    logging {
            channel default_debug {
                    file "data/named.run";
                    severity dynamic;
            };
    };
    
    zone "." IN {
        type hint;
        file "named.ca";
    };
    
    
    zone "market.miner-k.com" IN {
        type master;
        file "market.miner-k.com.zone";
    };
    zone "miner-k.com" IN {     #在指定的区域做转发
        type forward;
        forward     first;
        forwarders { 122.112.217.171; };
    };
    
    
    
    
    [root@cxy-65 ~]# cat /var/named/market.miner-k.com.zone 
    $TTL 600
    @   IN SOA ns1 rname.invalid. (
                        0   ; serial
                        1D  ; refresh
                        1H  ; retry
                        1W  ; expire
                        3H )    ; minimum
        NS  ns1
        A   127.0.0.1
    ns1 A   117.78.49.247
    www A   117.78.49.247   
    

    设置权限,重新启动服务

    [root@cxy-65 ~]# chown root:named /var/named/market.miner-k.com.zone 
    [root@cxy-65 ~]# chmod 640 /var/named/market.miner-k.com.zone 
    [root@cxy-65 ~]# service named restart
    Stopping named:                                            [  OK  ]
    Generating /etc/rndc.key:                                  [  OK  ]
    Starting named:                                            [  OK  ]
    

    常见错误

    日志中的错误提示:query (cache) ‘www.miner-k.com/A/IN’ denied

    解决方法: 
    在named.conf中加入`allow-query-cache { any;};`
    

    日志中的错误提示:network unreachable resolving ‘www.baidu.com/A/IN’:2001:5023:c27::2:30#53

    解决方法:
    在named.conf中设置`recursion no;`
    

    客户端工具

    dig (domain information groper)

    查找对应的区域的NS记录(-t NS)

    [root@miner_k named]# dig -t NS .
    
    ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4 <<>> -t NS .
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32144
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 0
    
    ;; QUESTION SECTION:
    ;.              IN  NS
    
    ;; ANSWER SECTION:
    .           262805  IN  NS  c.root-servers.net.
    .           262805  IN  NS  a.root-servers.net.
    .           262805  IN  NS  e.root-servers.net.
    .           262805  IN  NS  g.root-servers.net.
    .           262805  IN  NS  b.root-servers.net.
    .           262805  IN  NS  f.root-servers.net.
    .           262805  IN  NS  j.root-servers.net.
    .           262805  IN  NS  k.root-servers.net.
    .           262805  IN  NS  h.root-servers.net.
    .           262805  IN  NS  d.root-servers.net.
    .           262805  IN  NS  l.root-servers.net.
    .           262805  IN  NS  i.root-servers.net.
    .           262805  IN  NS  m.root-servers.net.
    
    ;; Query time: 30 msec
    ;; SERVER: 114.114.114.114#53(114.114.114.114)
    ;; WHEN: Mon Aug 14 10:09:04 2017
    ;; MSG SIZE  rcvd: 228

    查找对应域名的A记录(-t A)

    [root@centos7-2 ~]# dig -t NS miner.com @117.78.49.247
    
    ; <<>> DiG 9.9.4-RedHat-9.9.4-50.el7_3.1 <<>> -t NS miner.com @117.78.49.247
    ;; global options: +cmd
    ;; connection timed out; no servers could be reached
    [root@centos7-2 ~]# dig -t A www.baidu.com
    
    ; <<>> DiG 9.9.4-RedHat-9.9.4-50.el7_3.1 <<>> -t A www.baidu.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35965
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;www.baidu.com.         IN  A
    
    ;; ANSWER SECTION:
    www.baidu.com.      721 IN  CNAME   www.a.shifen.com.
    www.a.shifen.com.   232 IN  A   61.135.169.121
    www.a.shifen.com.   232 IN  A   61.135.169.125
    
    ;; Query time: 8 msec
    ;; SERVER: 114.114.114.114#53(114.114.114.114)
    ;; WHEN: Mon Aug 14 15:17:15 CST 2017
    ;; MSG SIZE  rcvd: 101
    

    指定对应的域服务器(@)

    [root@centos7-2 ~]# dig -t A www.baidu.com @dns.baidu.com
    
    ; <<>> DiG 9.9.4-RedHat-9.9.4-50.el7_3.1 <<>> -t A www.baidu.com @dns.baidu.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62864
    ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 6
    ;; WARNING: recursion requested but not available
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;www.baidu.com.         IN  A
    
    ;; ANSWER SECTION:
    www.baidu.com.      1200    IN  CNAME   www.a.shifen.com.
    
    ;; AUTHORITY SECTION:
    a.shifen.com.       1200    IN  NS  ns1.a.shifen.com.
    a.shifen.com.       1200    IN  NS  ns3.a.shifen.com.
    a.shifen.com.       1200    IN  NS  ns5.a.shifen.com.
    a.shifen.com.       1200    IN  NS  ns2.a.shifen.com.
    a.shifen.com.       1200    IN  NS  ns4.a.shifen.com.
    
    ;; ADDITIONAL SECTION:
    ns1.a.shifen.com.   1200    IN  A   61.135.165.224
    ns2.a.shifen.com.   1200    IN  A   180.149.133.241
    ns3.a.shifen.com.   1200    IN  A   61.135.162.215
    ns4.a.shifen.com.   1200    IN  A   115.239.210.176
    ns5.a.shifen.com.   1200    IN  A   119.75.222.17
    
    ;; Query time: 24 msec
    ;; SERVER: 202.108.22.220#53(202.108.22.220)
    ;; WHEN: Mon Aug 14 15:18:11 CST 2017
    ;; MSG SIZE  rcvd: 239
    
    

    反向查找(-x)

    [root@centos7-2 ~]# dig -x 119.75.222.17
    
    ; <<>> DiG 9.9.4-RedHat-9.9.4-50.el7_3.1 <<>> -x 119.75.222.17
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 14843
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
    
    ;; QUESTION SECTION:
    ;17.222.75.119.in-addr.arpa.    IN  PTR
    
    ;; Query time: 168 msec
    ;; SERVER: 114.114.114.114#53(114.114.114.114)
    ;; WHEN: Mon Aug 14 15:22:19 CST 2017
    ;; MSG SIZE  rcvd: 44
    

    不做递归查找(+norecurse)

    [root@com ~]# dig +norecurse -t A www.sohu.com @117.78.49.247
    
    ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4 <<>> +norecurse -t A www.sohu.com @117.78.49.247
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38949
    ;; flags: qr ra; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 11
    
    ;; QUESTION SECTION:
    ;www.sohu.com.          IN  A
    
    ;; AUTHORITY SECTION:
    com.            172678  IN  NS  j.gtld-servers.net.
    com.            172678  IN  NS  f.gtld-servers.net.
    ....
    
    ;; ADDITIONAL SECTION:
    a.gtld-servers.net. 172678  IN  A   192.5.6.30
    a.gtld-servers.net. 172678  IN  AAAA    2001:503:a83e::2:30
    ....
    
    ;; Query time: 29 msec
    ;; SERVER: 117.78.49.247#53(117.78.49.247)
    ;; WHEN: Thu Aug 17 14:47:30 2017
    ;; MSG SIZE  rcvd: 490
    

    追踪DNS解析的路径(+trace)

    [root@com ~]# dig +trace -t A www.baidu.com
    
    ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4 <<>> +trace -t A www.baidu.com
    ;; global options: +cmd
    .           505169  IN  NS  b.root-servers.net.
    .           505169  IN  NS  m.root-servers.net.
    ......
    ;; Received 228 bytes from 114.114.114.114#53(114.114.114.114) in 5115 ms
    
    com.            172800  IN  NS  m.gtld-servers.net.
    com.            172800  IN  NS  k.gtld-servers.net.
    ......
    ;; Received 491 bytes from 192.112.36.4#53(192.112.36.4) in 454 ms
    
    baidu.com.      172800  IN  NS  dns.baidu.com.
    baidu.com.      172800  IN  NS  ns2.baidu.com.
    .......
    ;; Received 201 bytes from 192.43.172.30#53(192.43.172.30) in 15459 ms
    
    www.baidu.com.      1200    IN  CNAME   www.a.shifen.com.
    a.shifen.com.       1200    IN  NS  ns3.a.shifen.com.
    a.shifen.com.       1200    IN  NS  ns4.a.shifen.com.
    .......
    ;; Received 228 bytes from 220.181.37.10#53(220.181.37.10) in 27 ms
    
    

    完全区域传送(-t axfr)

    得到指定域中的所有数据

    [root@com ~]# dig -t axfr miner-k.com @117.78.49.247
    
    ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4 <<>> -t axfr miner-k.com @117.78.49.247
    ;; global options: +cmd
    miner-k.com.        600 IN  SOA ns1.miner-k.com. admin.miner.com.miner-k.com. 20170817 3600 300 604800 10800
    miner-k.com.        600 IN  NS  ns1.miner-k.com.
    ns1.miner-k.com.    600 IN  A   127.0.0.1
    www.miner-k.com.    600 IN  A   117.78.49.24
    miner-k.com.        600 IN  SOA ns1.miner-k.com. admin.miner.com.miner-k.com. 20170817 3600 300 604800 10800
    ;; Query time: 31 msec
    ;; SERVER: 117.78.49.247#53(117.78.49.247)
    ;; WHEN: Thu Aug 17 15:12:09 2017
    ;; XFR size: 5 records (messages 1, bytes 171)
    

    增量区域传送(-t ixfr)

    [root@com ~]# dig -t ixfr=20170818 miner-k.com @117.78.49.247
    
    ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4 <<>> -t ixfr=20170818 miner-k.com @117.78.49.247
    ;; global options: +cmd
    miner-k.com.        600 IN  SOA ns1.miner-k.com. admin.miner.com.miner-k.com. 20170819 3600 300 604800 10800
    miner-k.com.        600 IN  NS  ns1.miner-k.com.
    ftp.miner-k.com.    600 IN  A   117.78.49.24
    ns1.miner-k.com.    600 IN  A   127.0.0.1
    pop.miner-k.com.    600 IN  A   117.78.49.24
    www.miner-k.com.    600 IN  A   117.78.49.24
    miner-k.com.        600 IN  SOA ns1.miner-k.com. admin.miner.com.miner-k.com. 20170819 3600 300 604800 10800
    ;; Query time: 31 msec
    ;; SERVER: 117.78.49.247#53(117.78.49.247)
    ;; WHEN: Thu Aug 17 15:20:40 2017
    ;; XFR size: 7 records (messages 1, bytes 211)
    

    host命令

    [root@centos7-2 ~]# host -t NS baidu.com
    baidu.com name server ns2.baidu.com.
    baidu.com name server ns7.baidu.com.
    baidu.com name server ns3.baidu.com.
    baidu.com name server dns.baidu.com.
    baidu.com name server ns4.baidu.com.

    nslookup

    [root@centos7-2 ~]# nslookup 
    > server 114.114.115.115     #设置DNS地址
    Default server: 114.114.115.115
    Address: 114.114.115.115#53
    
    > set q=A                 #设置A记录
    > www.baidu.com           #查询www.baidu.com的A记录
    Server:     114.114.115.115
    Address:    114.114.115.115#53
    
    Non-authoritative answer:
    www.baidu.com   canonical name = www.a.shifen.com.
    Name:   www.a.shifen.com
    Address: 61.135.169.125
    Name:   www.a.shifen.com
    Address: 61.135.169.121
    

    反向解析查询

    [root@centos6-8 ~]# nslookup                   
    > server 10.0.1.53
    Default server: 10.0.1.53
    Address: 10.0.1.53#53
    > set q=PTR
    > 10.0.1.57
    Server:     10.0.1.53
    Address:    10.0.1.53#53
    
    57.1.0.10.in-addr.arpa  name = www.miner.com.
    

    queryperf DNS压力测试

    使用bind包中自带的工具,安装queryperf

    [root@miner-k ~]#wget https://www.isc.org/downloads/file/bind-9-10-6
    [root@miner-k ~]#tar -xvf bind-9-10-6
    [root@miner-k ~]#cd bind-9.10.6/
    
    [root@miner-k bind-9.10.6]# cd contrib/
    [root@miner-k contrib]# cd queryperf/
    [root@miner-k queryperf]# ./configure
    checking for gcc... gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    ..........
    [root@miner-k queryperf]# make
    gcc  -DHAVE_CONFIG_H -c queryperf.c
    gcc  -DHAVE_CONFIG_H  queryperf.o  -lnsl -lresolv  -lm -o queryperf
    
    [root@miner-k queryperf]# mv queryperf /bin/
    

    测试DNS的解析情况

    [root@miner-k ~]# vim querytxt
    baidu.com A
    www.baidu.com A
    baidu.com NS
    baidu.com A
    baidu.com A
    baidu.com A
    baidu.com A
    baidu.com A
    baidu.com A
    baidu.com A
    .......
    
    [root@miner-k ~]# queryperf -d querytxt -s 114.114.114.114
    
    DNS Query Performance Testing Tool
    Version: $Id: queryperf.c,v 1.12 2007/09/05 07:36:04 marka Exp $
    
    [Status] Processing input data
    [Status] Sending queries (beginning with 114.114.114.114)
    [Status] Testing complete
    
    Statistics:
    
      Parse input file:     once
      Ended due to:         reaching end of file
    
      Queries sent:         540 queries
      Queries completed:    540 queries
      Queries lost:         0 queries
      Queries delayed(?):   0 queries
    
      RTT max:          0.029657 sec
      RTT min:              0.027262 sec
      RTT average:          0.027699 sec
      RTT std deviation:    0.000401 sec
      RTT out of range:     0 queries
    
      Percentage completed: 100.00%
      Percentage lost:        0.00%
    
      Started at:           Sat Oct 14 20:49:22 2017
      Finished at:          Sat Oct 14 20:49:22 2017
      Ran for:              0.751673 seconds
    
      Queries per second:   718.397495 qps
    

    在bind启动时,会将文件中的数据全部读入内存中,故查询指定的DNS记录时,查询速率比较快。

    常见错误

    提示:no servers could be reached

    [root@cxy-65 ~]# dig -t NS market.miner-k.com @117.78.36.1
    
    ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4 <<>> -t NS market.miner-k.com @117.78.36.1
    ;; global options: +cmd
    ;; connection timed out; no servers could be reached

    原因:没有找到对应的服务器,

    解决方法:1.查看named的状态是否开启
    2.检查53端口是否开放
    3.关闭防火墙之类的限制

    展开全文
  • Linux 配置DNS子域授权

    2019-05-25 14:57:49
    1.配置DNS子域授权 问题 本案例要求为Tarena公司构建父/子DNS域名解析系统。其中,父DNS服务器负责解析二级域tarea.com,而子DNS负责解析三级域bj.tedu.cn。现要求当客户机向父DNS查询子域中的域名www.bj.tedu.cn...

    1.配置DNS子域授权
    问题
    本案例要求为Tarena公司构建父/子DNS域名解析系统。其中,父DNS服务器负责解析二级域tarea.com而子DNS负责解析三级域bj.tedu.cn。现要求当客户机向父DNS查询子域中的域名www.bj.tedu.cn的时候也能获得正确结果,如图-1所示,需要在父DNS服务器上配置对子域的授权。
    在这里插入图片描述
    图-1
    需要完成的配置任务如下:
    1)构建父DNS(tedu.cn)服务器
    2)构建子DNS(bj.tedu.cn)服务器
    3)在父DNS上配置子域授权
    4)测试子域授权查询
    方案
    使用两台RHEL6虚拟机,其中一台作为父DNS服务器(192.168.4.5)、另外一台作为子DNS服务器(192.168.4.205),CentOS真机、父/子DNS服务器中的任何一台都可以作为测试用的客户机,如图-2所示。
    在这里插入图片描述
    图-2
    在父DNS上配置子DNS授权时,需要修改父区域的解析记录文件,添加内容:
    子域名称. IN NS 子DNS的FQDN.
    子DNS的FQDN. IN A 子DNS的IP地址
    步骤
    实现此案例需要按照如下步骤进行。
    步骤一:构建父DNS(tedu.cn)服务器
    1)使用yum安装bind、bind-chroot软件包
    [root@svr5 ~]# yum -y install bind bind-chroot
    … …
    2)建立配置文件named.conf
    [root@svr5 ~]# mv /etc/named.conf /etc/named.conf.bak //备份默认配置
    [root@svr5 ~]# vim /etc/named.conf
    options {
    directory “/var/named”;
    };
    zone “tedu.cn” IN { //定义DNS父域
    type master;
    file “tedu.cn.zone”;
    };
    3)建立解析记录文件
    添加一条父区域内www站点的测试记录,比如将www.tedu.cn对应的IP地址指向192.168.4.100:
    [root@svr5 ~]# vim /var/named/tedu.cn.zone
    $TTL 86400
    @ IN SOA @ root.tedu.cn. (
    2015052201
    4H
    15M
    4H
    1D
    )
    @ IN NS svr5.tedu.cn. ;本区域DNS服务器的FQDN
    svr5 IN A 192.168.4.5 ;本区域DNS服务器的IP地址
    www IN A 192.168.4.100
    4)启动named服务
    [root@svr5 ~]# service named restart
    停止 named: [确定]
    Generating /etc/rndc.key: [确定]
    启动 named: [确定]
    5)测试父DNS服务器,确保域名解析可用
    向父DNS服务器192.168.4.5查询父域中www.tedu.cn的IP地址:
    [root@svr5 ~]# nslookup www.tedu.cn 192.168.4.5
    Server: 192.168.4.5
    Address: 192.168.4.5#53

    Name: www.tedu.cn
    Address: 192.168.4.100 //正确获得结果
    步骤二:构建子DNS(bj.tedu.cn)服务器
    1)使用yum安装bind、bind-chroot软件包
    [root@pc205 ~]# yum -y install bind bind-chroot
    … …
    2)建立配置文件named.conf
    [root@pc205 ~]# mv /etc/named.conf /etc/named.conf.bak //备份默认配置
    [root@pc205 ~]# vim /etc/named.conf
    options {
    directory “/var/named”;
    };
    zone “bj.tedu.cn” IN { //定义DNS子域
    type master;
    file “bj.tedu.cn.zone”;
    };
    3)建立解析记录文件
    添加一条子区域内www站点的测试记录,比如将www.bj.tedu.cn对应的IP地址指向1.2.3.4:
    [root@pc205 ~]# vim /var/named/bj.tedu.cn.zone
    $TTL 86400
    @ IN SOA @ root.tedu.cn. (
    2015052201
    4H
    15M
    4H
    1D
    )
    @ IN NS pc205.bj.tedu.cn. ;本区域DNS服务器的FQDN
    pc205 IN A 192.168.4.205 ;本区域DNS服务器的IP地址
    www IN A 1.2.3.4
    4)启动named服务
    [root@pc205 ~]# service named restart
    停止 named: [确定]
    Generating /etc/rndc.key: [确定]
    启动 named: [确定]
    5)测试子DNS服务器,确保域名解析可用
    向子DNS服务器192.168.4.205查询子域中www.bj.tedu.cn的IP地址:
    [root@pc205 ~]# nslookup www.bj.tedu.cn 192.168.4.205
    Server: 192.168.4.205
    Address: 192.168.4.205#53

    Name: www.bj.tedu.cn
    Address: 1.2.3.4 //正确获得结果
    步骤三:配置并测试DNS子域授权
    1)未配置子域授权时,向父DNS查不到子域中的域名记录
    [root@svr5 ~]# nslookup www.bj.tedu.cn 192.168.4.5
    Server: 192.168.4.5
    Address: 192.168.4.5#53

    ** server can’t find www.bj.tedu.cn.localdomain: SERVFAIL //解析失败
    2)修改父DNS的解析记录,添加对子DNS的授权
    [root@svr5 ~]# vim /var/named/tedu.cn.zone
    … …
    @ IN NS svr5.tedu.cn.
    svr5 IN A 192.168.4.5
    www IN A 192.168.4.100
    bj.tedu.cn. IN NS pc205.bj.tedu.cn. ;子域的NS记录
    pc205.bj.tedu.cn. IN A 192.168.4.205 ;子DNS的A记录

    [root@svr5 ~]# service named restart //重启服务
    … …
    3)再次向父DNS查询子域中的域名记录,可以获得结果
    [root@svr5 ~]# nslookup www.bj.tedu.cn 192.168.4.5
    Server: 192.168.4.5
    Address: 192.168.4.5#53

    Non-authoritative answer: //非权威(本机提供)的解析结果
    Name: www.bj.tedu.cn
    Address: 1.2.3.4 //正确获得结果

    展开全文
  • LINUXdns的搭建(主dns和辅助dns

    千次阅读 2018-04-10 13:35:47
    首先,看看dns是否安装,这里的包名为bind这里就说明所有dns需要的包已经安装。如果没有安装,我们直接连接镜像文件,直接界面化安装,也可以用命令来安装(需要注意安装顺序)注:如果已经安装,则下面安装步骤可以...
  • 前言:平时我们虚拟机上在使用linux系统的时候会遇到克隆或者移动虚拟机的情况,会造成网卡无法启动;有时我们添加第二块网卡的时候复制了第一块网卡ifcfg-eth0的配置文件做简单修改后启动网络服务也会失败;甚至不...
  • linuxDNS配置及域名解析服务

    万次阅读 多人点赞 2018-05-24 18:48:23
    一.DNS(Domain Name System,域名系统)  因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP...
  • Linux下sshd启动失败及Squid启动失败问题解决一例(SSH启动失败)休假回来,登录服务器时,提示“network refuse",怎么会?检查/etc/hosts.allow , /etc/hosts.deny 都没有问题本机和服务器IP在同一网段!#service ...
  • DNS服务器systemctl start named启动失败

    千次阅读 2020-11-22 21:10:04
    fi’ 就是因为启动 named 前会检查 named-checkconf -z /etc/named.conf ,回应 exit 1,所以启动失败 解决方式 直接用 named -u named 启动,如果要习惯 systemctl restart named.service启动的话,就不要这么做了...
  • Linux ping DNS不通

    千次阅读 2019-09-24 13:11:29
    在VM 虚拟机中 Linux 网络配置 修改管理口: /etc/sysconfig/network-scripts/ifcfg-ens192(注:ens192为管理口号,每个机器可能不一样,可以用ifconfig命令查看) BOOTPROTO=none IPADDR=10.22.2.45 //设置...
  • LinuxDNS服务器部署

    万次阅读 2016-05-26 10:32:08
    DNS介绍 DNS查询过程 DNS资源记录类型 bind的安装和配置 bind概述 bind安装 bind配置 配置文件参数介绍 配置示例 Master DNS服务器配置示例 Slave DNS服务器配置示例 TSIGDNS介绍在互联网中使用IP地址唯一的标识一台...
  • 一、DNS简介  DNS就是Domain Name System,它能够把形如[url]www.szptt.net.cn[/url](深圳之窗)这样的域名转换为202.96.134.163这样的IP地址;没有DNS,浏 览深圳之窗这个网站时,就必须用202.96....
  • linux dhcp服务启动失败

    千次阅读 2017-06-02 15:44:05
    求大神指点dhcp配置subnet 10.10.10.0 netmask 255.255.255.0 {range 10.10.10.100 10.10.10.200;next-server 10.10.10.114 ;filename 'pxelinux.0';}IPDEVICE=eth0HWADDR=d4:3d:7e:75:a6:70TYPE=EthernetUUID...
  • LinuxDNS的配置

    千次阅读 2007-09-26 13:05:00
    LinuxDNS的配置连续摸了好几天的Bind。当然也有自己不够专注的因素,使得进度一拖再拖。期间也在Bind这个程序中遇到了种种问题,包括配置文件和一些系统权限问题,总是使Named跑不起来或者即使跑起来也没有效用...
  • linux主机(dns服务器): 操作系统:ubuntu14.0.4 ip: 10.0.22.20(ifconfig的内网ip) windows主机(用于测试): ip: 10.0.10.8(ifconfig的内网ip) 程序端口:8030 一.搭建dns服务器 以下操作都在DN.....
  • LINUXDNS服务器的设置

    千次阅读 2009-04-29 19:34:00
    前言:最近校园网的Windows 2000 DNS好象出了点问题了,经常性的无法正常解析了,再加上不知道如何在Windows 2000的DNS上做二级域名解析,于是装了个REDHAT LINUX10,准备用来替换原来的DNS。 一、DNS简介 DNS就是...
  • LinuxDNS服务器的安装与配置

    千次阅读 2011-10-08 16:04:20
    在做软件样本分析的时候(主要是该样本的网络流量的分析),不可避免的会需要自己架设一个DNS服务器以配合IP...下面就将以CentOS 5.2为例介绍一下在Linux上架设DNS服务器的办法。   安装bind Linux下的dns功能是通
  • Linux 设置DNS和主机名

    千次阅读 2010-04-23 17:54:00
    Linux下配置静态IP地址,设置DNS和主机名配置文件位于:/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.0.3NETMASK=255.255.255.0GATEWAY=192.168.0.1使IP地址生效...
  • Linux设置DNS和主机名

    2010-02-08 16:15:00
    Linux下配置静态IP地址,设置DNS和主机名配置文件位于:/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.0.3NETMASK=255.255.255.0GATEWAY=192.168.0.1使IP地址生效...
  • linuxdns配置详细步骤

    万次阅读 2012-01-10 03:40:06
    ………………………………………………DNS的配置步骤:…………………………………………………… 一、配置静态IP地址: #vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static ...
  • DNS SERVER:172.20.32.220 域名:dnps.com 本篇介绍的离线安装,离线包安装成功后,配置参考在线安装参考。 2. 下载离线安装包 因为安装时离线环境,所以提前在有网络的服务器上下载好了需要的软件包 注意:在...
  • CentOS环境启动minikube时,由于kubelet服务启动失败,导致minikube启动失败,本文分析并解决此问题。
  • DNS服务器的安装 查看DNS服务是否已经安装    如果已经安装,则会显示bind-libs-9.3.6-4.P1.el5_4.2与bind-9.3.6-4.P1.el5_4.2等字样,否则就是没有安装 安装DNS服务  [root@localhost Server]# rpm -...
  • LinuxDNS配置文件祥解

    千次阅读 2009-03-25 11:04:00
    最近,为了配置DNS服务器我收集了不少有关配置DNS服务器方面的资料。在这里我将这些资料加上我在配置DNS服务器时的一些经验进行一下整理。希望能对和我一样在配置DNS服务器时遇到困难的朋友一些启示。 DNS 服务器...
  • DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址...
  • linux bind DNS 配置详解

    千次阅读 2013-03-30 18:25:14
    DNS 配置详解2008-05-20 09:09:16 分类: 系统运维 http://blog.chinaunix.net/uid-20422917-id-1682706.html 这篇文章还不错,说得比较透,看了后,明白了很多。 引自: ...
  • linux——部署DNS

    千次阅读 2018-05-23 22:09:39
    DNS什么是DNS——DNS 是域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的,又名“域名解析服务器”。DNS的作用——靠DNS把要访问的网址找到然后把信息送到电脑上。什么是DNS服务器——DNS...
  • LINUX 部署DNS服务器的记录

    千次阅读 2018-08-01 15:18:03
     #此处须注释掉,否则在IPV4的网络环境下,添加反向解析以后,DNS服务不能启动  directory "/var/named";  dump-file "/var/named/data/cache_dump.db";  statistics-file "/var/named/data/named_stats.txt...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,112
精华内容 12,044
关键字:

linux启动dns失败

linux 订阅