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
下一篇 2017-05-30

相关推荐

  • Linux 发展史

    Linux 发展史 一、Linux 系统概述     首先大家需要明白,Linux 只是内核,没有应用程序,如果想有应用程序就需要GNU 组织来提供应用程序,GNU其实就是一个开源组织,这就要说GNU 和GPL 的概念了,其实GNU可以看作就是软件行业的共产党组织 而GPL 就是共产党宣言 为全人类服务。所以说GNU 和 LIN…

    Linux干货 2016-10-19
  • 马哥教育网络班21期+第13周课程练习

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程)   1)共享名为shared,工作组为magedu;   2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;   3)添加s…

    Linux干货 2016-08-24
  • Linux基础知识(三)-用户管理组管理,正则grep,文本处理

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中 5、取出当前主机的IP…

    Linux干货 2016-10-09
  • 磁盘及文件系统管理应用实例

    磁盘及文件系统管理应用实例 1.创建一个10G的分区,并格式化为ext4文件系统 要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳 [root@master ~]# fdisk /dev/sdb Command (m for…

    Linux干货 2017-08-14
  • puppet学习笔记

      一、Puppet基础原理: Puppet是一款使用GPLV2X协议授权的开源管理配置工具,用ruby语言开发,既可以通过客户端—服务器的方式运行,也可以独立运行。puppet可以为系统管理员提供方便,快捷的系统自动化管理。   二、puppet工作流程 1. 客户端 puppet-client 向 puppet-maste…

    Linux干货 2015-11-04
  • Homework Week-12 LAMP部署

    1、请描述一次完整的http请求处理过程;     http全称超文本传输协议,属于应用层协议;常见客户端应用是各种浏览器。     一次服务器端完整http请求处理过程:     (1)建立或处理连接:接收请求或拒绝请求;     (2)接收请求:接收来自于…

    Linux干货 2016-12-05

评论列表(1条)

  • renjin
    renjin 2017-06-02 16:03

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