使用BIND搭建DNS服务器(一)

一、BIND概述

BIND(Berkeley Internet Name Daemon)是现今互联网上最常使用的DNS服务器软件,使用BIND作为服务器软件的DNS服务器约占所有DNS服务器的九成。BIND现在由互联网系统协会(Internet Systems Consortium)负责开发与维护。

二、DNS系统的作用及类型

DNS服务器主要有以下三种类型:

  • 主域名服务器
    特定DNS区域的官方服务器,具有唯一性。
    负责维护该区域内的所有域名。
  • 从域名服务器
    也称为“辅助域名服务器”。
    其维护的域名记录来自于主域名服务器。
  • 缓存域名服务器
    也称为高速缓存服务器。
    通过向其他服务器查询获得域名。
    将域名查询结果缓存到本地,提高重复查询的速度。

三、BIND服务器端程序

主要执行程序:/usr/sbin/named

服务脚本:/etc/init.d/named

默认监听端口:udp 53

主配置文件:/etc/named.conf

配置chroot后的配置文件:/var/named/chroot/etc/named.conf

保存DNS解析记录的数据文件的目录:/var/named/

配置chroot后的数据文件目录:/var/named/chroot/var/named/

四、主配置文件说明

options {                                                //全局选项
	listen-on port 53 { 127.0.0.1; };                //监听地址及端口
	listen-on-v6 port 53 { ::1; };
	directory 	"/var/named";                    //区域文件的存放目录
	dump-file 	"/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
	allow-query     { localhost; };
	recursion yes;
	dnssec-enable yes;
	dnssec-validation yes;
	/* Path to ISC DLV key */
	bindkeys-file "/etc/named.iscdlv.key";
	managed-keys-directory "/var/named/dynamic";
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "." IN {                                             //根域名服务器选项
	type hint;
	file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

五、搭建基于根域名服务器转发的DNS服务器

环境说明:

操作系统:CentOS6.3 64位

IP地址:192.168.235.132

BIND版本:9.8.2

编辑/etc/named.conf

修改如下几个选项

options {                                                
	listen-on port 53 { 192.168.235.132; };  //监听地址及端口,改为自己的IP地址
	
        ……
        
	allow-query     { any; };             //允许的地址改为any或者自己的网段
	

        ……

};

启动服务

编辑/etc/resolve.conf,加入下面的选项

nameserver 192.168.235.132

使用nslookup命令测试,解析www.baidu.com,可以看到解析成功。

六、建立具有正向查询区域的主DNS服务器

建立一个test.local区域,并新建NS、A、MX、FTP等主机记录

编辑/etc/named.conf,在末尾加入以下内容:

zone "test.local" IN {
      type master;
      file "test.local.zone";
      allow-transfer { 192.168.235.132; };
}

在/var/named下建立test.local的区域文件

vim /var/named/test.local.zone

在区域文件中加入如下内容:

$TTL    86400
@ IN SOA test.local. admin.test.local. (
  2017011919
  3H
  15M
  1W
  1D
        )

@       IN      NS      ns1.test.local.
        IN      MX 10   mail.test.local.
ns1     IN      A       192.168.235.132
www     IN      A       192.168.235.2
mail    IN      A       192.168.235.3
ftp     IN      A       192.168.235.4
share   IN      CNAME   ftp

保存退出,重新启动服务。

使用nslookup检测:

上一篇
下一篇