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

相关推荐

  • CentOS7的虚拟机安装

    刚学习linux下CentOS7的操作,熟悉一下CentOS7的安装,所以写一下CentOS7的安装教程,如果那里有写的不对的话希望得到指正。 我是在VMware下装的CentOS7 第一步配置硬件 先创建一个虚拟机 这里我选择的典型模式,新手嘛,新手难度的创建就好,高手难度的等新手难度熟练了再去碰好了,当然这是我的建议… 下一步然后光盘选择稍后…

    2017-07-15
  • 马哥教育网络班22期+第九周课程练习

    1. 写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash#declare -a loginuserdeclare -i sum_login=0declare -i sum_nologin=0list=($(cat /et…

    Linux干货 2017-01-03
  • redis

    redis 简述 redis的数据结构 redis的数据持久化实现 程序与配置文件 redis-cli命令 主从复制原理与架构实现 redis的高可用方案 – sentinel redis分布式系统概述与简介 简述 什么是redis? redis是一个基于nosql技术的kv数据库,支持非常大的并发场景,与memcached不同的是,redis拥…

    Linux干货 2016-08-19
  • Linux磁盘和文件系统管理

    Linux磁盘和文件系统管理 linux磁盘管理 一、Linux设备类型     硬盘有机械硬盘(HDD)和固态硬盘(SSD)之分。机械硬盘即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等     几个部分组成。  &nbs…

    Linux干货 2016-04-11
  • liunx文本处理三剑客及文本处理工具的使用与练习。

    linux文本处理三剑客: grep ==擅长过滤,把想要的或者不想要的分离开。linux三剑客 老三  -A: 除了显示匹配的一行之外,并显示该行之前的num行;-B:除了显示匹配的一行之外,并显示该行之后的num行;-C:除了显示匹配的一行之外,并显示该行之前后各num行     sed==擅长取行、替换。三剑客老…

    2017-07-28
  • Linux文本处理三剑客之一grep

            终于又到了一周一篇博客的日子 在这学习已经三周了,慢慢养成了写博客的好习惯,也慢慢的懂得了怎么写博客。这周给我印象最深刻的就是正则表达式,原本打算要写前几天所学的内容,但是昨天学到正则表达式让我有点懵,所以我今天会用一天的时间去给大家详细讲解正则表达式,争取让那些和我一样困解的人能够豁然开朗,也正是因为…

    2017-07-29

评论列表(1条)

  • renjin
    renjin 2017-06-02 16:03

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