Bind的安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bind的安装相关的知识,希望对你有一定的参考价值。

参考技术A

DNS:协议
bind:是dns协议的一种实现
named:bind程序的运行的进程名

bind-libs: 被bind和bind-utils包中的程序共同用到的库文件;
bind-utils: bind客户端程序集,例如dig,host,nslookup等;
bind: 提供的dns server程序以及几个常用的测试程序;
bind-chroot: 选装,让named运行于jail模式下;

 可包含进来其它文件;
   /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.locahost
    反向:named.loopback

 remote name domain controller,远程名称域控制器
port: 953/tcp
 默认监听于127.0.0.1地址,因此仅允许本地使用;

CentOS 6: service named start
CentOS 7: systemctl start named.service

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

  rndc status :状态信息
  rndc stats :统计
  rndc flush :刷新
  rndc reload :重载

bind9安装配置

 

BIND的安装配置:

 dns服务,程序包名叫bind,程序名named

 程序包:

bind

bind-libs

bind-utils

bind-chroot: /var/named/chroot/

bind

       服务脚本:/etc/rc.d/init.d/named  接受start、stop等

主配置文件:/etc/named.conf, /etc/named.rfc1912.zones, (rfc请求注解文档,明确说明协议的工作细节)  /etc/rndc.key(用rpm包安装)

       解析库文件:/var/named/ZONE_NAME.ZONE

               注意:

                     (1) 一台物理服务器可同时为多个区域提供解析;

                     (2) 必须要有根区域文件;named.ca

                     (3) 应该有两个(如果包括ipv6的,应该更多)实现localhost(联系自己:127.0.0.1)和本地回环地址的解析库;

 

rndc: remote name domain controller,默认与bind安装在同一主机,且只能通过127.0.0.1来连接named进程;提供辅助性的管理功能;

        监听在953/tcp

@可以表示当前区域的名字,在/etc/named.rfc1912.zones中

区域解析都在/var/named目录下

主配置文件:被切割成两段:/etc/named.conf和/etc/named.rfc1912.zones

       全局配置:options {}

       日志子系统配置:logging {}

       区域定义:本机能够为哪些zone进行解析,就要定义哪些zone;

              zone "ZONE_NAME" IN {}

       注意:任何服务程序如果期望其能够通过网络被其它主机访问,至少应该监听在一个能与外部主机通信的IP地址上;

 

dnssec:

              建议测试时关闭dnssec;



 

        

 

主DNS名称服务器:步骤

      (1) 在主配置文件中定义区域(在/etc/named.rfc1912.zones中)

                 zone "ZONE_NAME" IN {

                  type {master|slave|hint|forward};  //hint表示根

                      file "ZONE_NAME.zone"; //(这个文件可以可以写成相对路径,相对于/etc/named.conf中的options中directory指向的路径)

                     };

(2) 定义区域解析库文件

              出现的内容:

                     宏定义;

                     资源记录;

            #cd /var/named

                       #vim magedu.com.zone

                     示例:

                     $TTL 86400

                     $ORIGIN magedu.com.

                     @    IN    SOA       ns1.magedu.com.    admin.magedu.com(邮箱) (

                                          2015042201

                                          1H

                                          5M

                                          7D

                                          1D )

                                          IN    NS   ns1

                                          IN    NS   ns2

                                          IN    MX 10    mx1

                                          IN    MX 20    mx2

                                   ns1  IN    A     172.16.100.11

                                   ns2  IN    A     172.16.100.12

                                   mx1       IN    A     172.16.100.13

                                   mx2       IN    A     172.16.100.14

                                   www      IN    A     172.16.100.11

                                   www      IN    A     172.16.100.12

                                   ftp   IN    CNAME  www

#named-checkzone "magedu.com" /var/named/magedu.com.zone

利用named-checkzone检查magedu.com域内的区域文件:/var/named/magedu.com.zone是否有语法错误

 

 

 

 

 

配置缓存服务器:监听外部地址即可

#yum install bind        安装bind   

#yum list bind*

1、#vim /etc/named.conf   

技术分享图片

可以修改监听的地址,如果把listen-on这一行用//注释掉,和当前效果一样,监听所有地址

2、#vim /etc/named.conf   

options { 
11 listen-on port 53 { 127.0.0.1;  };  
12 listen-on-v6 port 53 { ::1; };
13 directory "/var/named";   //定义工作目录,即区域解析库文件
14 dump-file "/var/named/data/cache_dump.db";  
15 statistics-file "/var/named/data/named_stats.txt";
16 memstatistics-file "/var/named/data/named_mem_stats.txt";
17 allow-query { localhost; };   这里可以注释掉或者把localhost改为any,允许所有主机查询
18 recursion yes;   //这里表示本地主机支持做递归查询,如果本地主机不支持,就改为no
19 
20 // dnssec-enable yes;
21 // dnssec-validation yes;
22 
23 /* Path to ISC DLV key */
24 // bindkeys-file "/etc/named.iscdlv.key";
25 
26 // managed-keys-directory "/var/named/dynamic";   20-26行需要注释掉
27 };

# ss -tunlp | grep :53   //查看监听端口

技术分享图片

 至此,缓存服务器就配置好了。

 

2、配置主DNS服务器    //本次配置是在IP为192.168.108.160

   # vim /etc/named.rfc1912.zones   

(1)、添加:正向解析区域

zone "magedu.com" IN {   //只需定义类型和区域解析库路径     (magedu.com为区域名称)
    type master;   //区域类型:主服务器
    file "magedu.com.zone";   //区域解析库相对路径,相对与/var/named目录
    };

(2)、定义区域解析库文件    

# vim magedu.com.zone 

$TTL  86400
$ORIGIN magedu.com.
@                 IN             SOA           ns1.magedu.com.       admin.magedu.com (
                                                        2018070110
                                                        1H
                                                         5M
                                                         7D
                                                         1D)
                      IN               NS            ns1
                      IN               NS            ns2
                      IN               MX   10     mx1
                      IN               MX    20    mx2
 ns1               IN                A              192.168.108.160   //当前主机
 ns2               IN                A              192.168.108.138
 ns3               IN                A              192.168.108.166
 mx1              IN                A              192.168.108.138
 mx2              IN                A              192.168.108.166
 www             IN                A              192.168.108.160
  *                  IN                A               192.168.108.166

#named-checkconf   //检查主配置文件是否有语法错误

#named-checkzone "magedu.com" /var/named/magedu.com.zone   

利用named-checkzone命令区域和区域库文件是否有错误

#ps aux | grep named   //查看named进行是谁的身份执行的

技术分享图片

#ll /etc/named.conf -l

技术分享图片

#ls -l /var/named   //为了安全,应该让属主为root,属组为named

技术分享图片

 如果没改:则:

#chmod 640 magedu.com.zone

# chown :named magedu.com.zone

#service named restart

# rndc status  //查看named状态

至此,主DNS服务器配置完成

# dig -t A www.magedu.com @192.168.108.160   //在本机输入查找命令就可以

技术分享图片

如果想要轮询解析www.magedu.com的话

可以添加www的A记录

技术分享图片

#service named reload 或者

#rndc reload    重新加载 

# dig -t A www.magedu.com   //如果此处解析不指明本地IP,则会通过etc/resolv.conf中nameserver地址解析的

# vim /etc/resolv.conf    //可以修改nameserver的IP地址为本地IP
技术分享图片

 

 

测试命令:dig的使用

        dig [-t type] name [@SERVER] [query options]( @SERVER省略表明使用本机的IP)

              dig用于测试dns系统,因此,不会查询hosts文件进行解析;

flags: qr aa rd ra  aa表示权威答案

              查询选项:

                     +[no]trace:跟踪解析过程

                     +[no]recurse:进行递归解析

 

              测试反向解析:

                     dig -x IP @SERVER

 

              模拟区域传送:

                     dig -t axfr ZONE_NAME @SERVER

                     例如:dig -t axfr magedu.com @172.16.100.11

                     #dig -t axfr 247.17.172.in-addr.arpa @172.17.237.248//反向区域传送

 












































以上是关于Bind的安装的主要内容,如果未能解决你的问题,请参考以下文章

debian源码安装bind9.10.6

安装编译bind

centos7为啥安装不了bind

BIND的安装配置

DNS-bind的安装

DNS-bind的安装