Bind配置和基本应用

BIND的安装配置:
    BIND: Berkeley Internet Name Domain,  ISC.org
        dns: 协议
        bind: dns协议的一种实现
        named:bind程序的运行的进程名

    程序包:
        bind-libs:被bind和bind-utils包中的程序共同用到的库文件;
        bind-utils:bind客户端程序集,例如dig, host, nslookup等;

        bind:提供的dns server程序、以及几个常用的测试程序;
        bind-chroot:选装,让named运行于jail模式下;

    bind:
        主配置文件:/etc/named.conf 
            或包含进来其它文件;
                /etc/named.iscdlv.key
                /etc/named.rfc1912.zones
                /etc/named.root.key
        解析库文件:
            /var/named/目录下;
                一般名字为:ZONE_NAME.zone

            注意: (1) 一台DNS服务器可同时为多个区域提供解析;
                    (2) 必须要有根区域解析库文件: named.ca;
                    (3) 还应该有两个区域解析库文件:localhost和127.0.0.1的正反向解析库;
                        正向:named.localhost
                        反向:named.loopback

        rndc:remote name domain contoller
            953/tcp,但默认监听于127.0.0.1地址,因此仅允许本地使用;

        bind程序安装完成之后,默认即可做缓存名称服务器使用;如果没有专门负责解析的区域,直接即可启动服务;
            CentOS 6: service  named  start
            CentOS 7: systemctl  start  named.service

        主配置文件格式:
            全局配置段:
                options { … }
            日志配置段:
                logging { … }
            区域定义段:
                zone { … }
                    那些由本机负责解析的区域,或转发的区域;

                注意:每个配置语句必须以分号结尾;

            缓存名称服务器的配置:
                监听能与外部主机通信的地址;
                    listen-on port 53;
                    listen-on port 53 { 172.16.100.67; };

                学习时,建议关闭dnssec
                    dnssec-enable no;
                    dnssec-validation no;
                    dnssec-lookaside no;

                关闭仅允许本地查询:
                    //allow-query  { localhost; };

            检查配置文件语法错误:
                named-checkconf   [/etc/named.conf]

            测试工具:
                dig, host, nslookup等

                dig命令:
                    dig  [-t RR_TYPE]  name  [@SERVER]  [query options]

                        用于测试dns系统,因此其不会查询hosts文件;

                        查询选项:
                            +[no]trace:跟踪解析过程;
                            +[no]recurse:进行递归解析;

                        注意:反向解析测试
                            dig  -x  IP

                        模拟完全区域传送:
                            dig  -t  axfr  DOMAIN  [@server]

                host命令:
                    host  [-t  RR_TYPE]  name  SERVER_IP

                nslookup命令:
                    nslookup  [-options]  [name]  [server]

                    交互式模式:
                        nslookup>
                            server  IP:以指定的IP为DNS服务器进行查询;
                            set  q=RR_TYPE:要查询的资源记录类型;
                            name:要查询的名称;

                rndc命令:named服务控制命令
                rndc  status
                rndc  flush

配置解析一个正向区域:

    以magedu.com域为例:

    (1) 定义区域
        在主配置文件中(/etc/named.conf)或主配置文件辅助配置文件(/etc/named.rfc1912.conf)中实现;

zone  "ZONE_NAME"  IN  {
    type  {master|slave|hint|forward};
    file  "ZONE_NAME.zone"; 
};  

            注意:区域名字即为域名;

    (2) 建立区域数据文件(主要记录为A或AAAA记录)
        在/var/named目录下建立区域数据文件;
            文件为:/var/named/magedu.com.zone

$TTL 3600
$ORIGIN magedu.com.
@       IN      SOA     ns1.magedu.com.   dnsadmin.magedu.com. (
    2017010801
    1H
    10M
    3D
    1D )
    IN      NS      ns1
    IN      MX   10 mx1
    IN      MX   20 mx2
ns1     IN      A       172.16.100.67
mx1     IN      A       172.16.100.68
mx2     IN      A       172.16.100.69
www     IN      A       172.16.100.67
web     IN      CNAME   www
bbs     IN      A       172.16.100.70
bbs     IN      A       172.16.100.71

            权限及属组修改:
                # chgrp  named  /var/named/magedu.com.zone
                # chmod  o=  /var/named/magedu.com.zone

            检查语法错误:
                # named-checkzone  ZONE_NAME   ZONE_FILE
                # named-checkconf 

    (3) 让服务器重载配置文件和区域数据文件
        # rndc  reload 或
        # systemctl  reload  named.service

配置解析一个反向区域
    (1) 定义区域
        在主配置文件中或主配置文件辅助配置文件中实现;

zone  "ZONE_NAME"  IN  {
    type  {master|slave|hint|forward};
    file  "ZONE_NAME.zone"; 
};

            注意:反向区域的名字
                反写的网段地址.in-addr.arpa 
                                    100.16.172.in-addr.arpa

    (2) 定义区域解析库文件(主要记录为PTR)

        示例,区域名称为100.16.172.in-addr.arpa;

$TTL 3600
$ORIGIN 100.16.172.in-addr.arpa.
@       IN      SOA     ns1.magedu.com.  nsadmin.magedu.com. (
        2017010801
        1H
        10M
        3D
        12H )
    IN      NS      ns1.magedu.com.
67      IN      PTR     ns1.magedu.com.
68      IN      PTR     mx1.magedu.com.
69      IN      PTR     mx2.magedu.com.
70      IN      PTR     bbs.magedu.com.
71      IN      PTR     bbs.magedu.com.
67      IN      PTR     www.magedu.com.

            权限及属组修改:
                # chgrp  named  /var/named/172.16.100.zone
                # chmod  o=  /var/named/172.16.100.zone

            检查语法错误:
                # named-checkzone  ZONE_NAME   ZONE_FILE
                # named-checkconf 

    (3) 让服务器重载配置文件和区域数据文件
            # rndc  reload 或
            # systemctl  reload  named.service

主从服务器:
    注意:从服务器是区域级别的概念;

            配置一个从区域:
                On Slave 
                    (1) 定义区域
                        定义一个从区域; 

zone "ZONE_NAME"  IN {
    type  slave;
    file  "slaves/ZONE_NAME.zone";
    masters  { MASTER_IP; };
};

                            配置文件语法检查:named-checkconf

                    (2) 重载配置
                        rndc  reload
                        systemctl  reload  named.service

                On Master
                    (1) 确保区域数据文件中为每个从服务配置NS记录,并且在正向区域文件需要每个从服务器的NS记录的主机名配置一个A记录,且此A后面的地址为真正的从服务器的IP地址;

                注意:时间要同步;
                    ntpdate命令;

子域授权:
    正向解析区域授权子域的方法:

ops.magedu.com.   IN  NS      ns1.ops.magedu.com.
ops.magedu.com.     IN  NS      ns2.ops.magedu.com.
ns1.ops.magedu.com.     IN  A   IP.AD.DR.ESS
ns2.ops.magedu.com.     IN  A   IP.AD.DR.ESS

    定义转发:
        注意:被转发的服务器必须允许为当前服务做递归;

        (1) 区域转发:仅转发对某特定区域的解析请求;

zone  "ZONE_NAME"  IN {
    type  forward;
    forward  {first|only};
    forwarders  { SERVER_IP; };
};

            first:首先转发;转发器不响应时,自行去迭代查询;
            only:只转发;

        (2) 全局转发:针对凡本地没有通过zone定义的区域查询请求,通通转给某转发器;

options {
    ... ...
    forward  {only|first};
    forwarders  { SERVER_IP; };
    ... ...
};

bind中的安全相关的配置:

    acl:访问控制列表;把一个或多个地址归并一个命名的集合,随后通过此名称即可对此集全内的所有主机实现统一调用;

acl  acl_name  {
    ip;
    net/prelen;
};

        示例:

acl  mynet {
    172.16.0.0/16;
    127.0.0.0/8;
};

        bind有四个内置的acl
            none:没有一个主机;
            any:任意主机;
            local:本机;
            localnet:本机的IP所属的网络;

    访问控制指令:
        allow-query  {};  允许查询的主机;白名单;
        allow-transfer {};  允许向哪些主机做区域传送;默认为向所有主机;应该配置仅允许从服务器;
        allow-recursion {}; 允许哪此主机向当前DNS服务器发起递归查询请求; 

        allow-update {}; DDNS,允许动态更新区域数据库文件中内容;

原创文章,作者:XIAJIDONG,如若转载,请注明出处:http://www.178linux.com/77193

(0)
XIAJIDONGXIAJIDONG
上一篇 2017-05-30 21:49
下一篇 2017-05-30 22:23

相关推荐

  • shell编程之数组及环境变量

    数组 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的 集合 索引:编号从0 声明数组: declare -a ARRAY_NAME declare -A ARRAY_NAME:关联数组 1.declare  -a menu  menu[0]=beef  menu[1]=chicken menu…

    Linux干货 2016-08-29
  • 设计模式(五)适配器模式Adapter(结构型)

    1. 概述:          接口的改变,是一个需要程序员们必须(虽然很不情愿)接受和处理的普遍问题。程序提供者们修改他们的代码;系统库被修正;各种程序语言以及相关库的发展和进化。         例子1:iphone…

    Linux干货 2015-06-25
  • N25-第二周博客作业

    1. Linux上的文件管理类命令都有那些,其常用的使用方法及其相关示例演示. 文件管理工具有cp, mv, rm cp命令: 复制文件或文件夹 语法: cp [OPTION]… [-T] SOURCE DEST 单源复制cp [OPTION]… SOURCE… DIRECTORY 多源复制 常用选项:  &nb…

    Linux干货 2016-12-10
  • 计算机与操作系统

    计算机系统=Hardware+Software Linux操作系统=GNU/kernel+程序 (user space) ————– apps   shell    (人机交互接口) lib call(半层)  (kernel space) —&#…

    Linux干货 2017-02-14
  • Linux运维学习历程-第八天-Linux文本工具sed与Vim(vi)

    概述:    本篇我们主要学习两个功能非常强大的文本编辑器,了解这两种文本编辑器的各自的特点 一、sed命令:  1、sed简介:     sed(Stream EDitor)是一种流编辑器、行编辑器。逐行处理文本内容,即一次处理一行内容,处理时,当前处理的行存储在“模式空间”(pattern sp…

    Linux干货 2016-08-15
  • parted使用说明

    一.为什么使用parted命令     传统的MBR(Master Boot Record)分区方式,有一个局限:无法支持超过2TB的硬盘分区(单个分区超过2TB)。     GPT(GUID Partition Table)的分区表很好的解决了这个问题,但在Linux系统中,传…

    Linux干货 2015-04-13

评论列表(1条)

  • renjin
    renjin 2017-06-02 16:03

    主要介绍了bind的配置文件的格式及应用,介绍了bind正向解析、反向解析、主从配置。及如何开启转发功能。内容写的很详细,排版上需要注意下标题