一、下载bind9.9.5源码包

    可以通过www.isc.org站点来获得源码包。

二、将源码包解压到任意目录

    源码包通常都是.tar.gz文件,因此我们需要先将其解压:

编译安装bind9_bind9

三、编译安装bind

    1、安装前的准备工作

        安装gcc和openssl-devel

编译安装bind9_编译安装_02编译安装bind9_bind9_03

        gcc无需多说,编译时必须要用到的工具;安装openssl-devel是因为在进行编译时,提示openssl头文件找不到,不安装openssl-devel的话可以使用–without-openssl选项,但无法使用DNS的安全功能。

    2、生成Makefile

编译安装bind9_bind9_04

编译安装bind9_bind9_05

    选项:

        –prefix:指定安装路径;

        –sysconfdir:指定配置文件路径;

        –enable-threads:启用线程;

        –disable-chroot:禁用chroot;

        –disable-ipv6:禁用ipv6;

        –with-openssl:指明openssl头文件的位置。

    3、编译安装

编译安装bind9_编译安装_06

编译安装bind9_编译安装_07四、配置bind的环境

    1、使用bind9的自带命令

        在bind9的安装目录中的bin和sbin中存放着其自带的命令,可以将这两个目录加入到PATH变量中:

编译安装bind9_编译安装_08

        重新登录终端后查看PATH:

编译安装bind9_bind9_09

    2、man手册

        在bind9的安装目录中share下面存放了man手册,也可以将man加入到系统中实现使用man named即可调用。

编译安装bind9_bind9_10

        在/etc/man.config中加入一行即可,如下图所示:

编译安装bind9_bind9_11

    3、库文件

        创建/etc/ld.so.conf.d/bind9.conf文件,并添加以下内容即可:

编译安装bind9_bind9_12

五、创建目录及配置文件

    1、主配置文件

        创建/etc/named/named.conf文件,内容如下:

编译安装bind9_bind9_13

    2、创建系统用户和组

编译安装bind9_编译安装_14

    3、修改主配置文件权限并创建目录

编译安装bind9_编译安装_15

    4、创建named.ca文件

        named.ca文件中是存放全球根服务信息的,可以使用一台可以访问互联网的DNS服务器来获得根服务器信息,下图中使用了联通的DNS服务器进行查询。

编译安装bind9_编译安装_16    5、创建localhost.zone文件和127.0.0.zone文件

编译安装bind9_bind9_17

    6、修改区域文件的权限 

编译安装bind9_bind9_18

编译安装bind9_bind9_19

六、启动服务

    在启动服务之前,先检查一下主配置文件是否有语法错误:

编译安装bind9_编译安装_20

    named命令用于启动服务,其选项含义为:

        -u:指定运行服务的用户;

        -c:指定读取的配置文件。

    使用ss命令查看53端口是否已启用监听:

编译安装bind9_编译安装_21    至此DNS服务器已经可以正常工作了,不过rndc目前还不能使用,下面我们配置一下rndc。

七、rndc

    1、创建rndc.conf

        rndc的功能实现依靠/etc/named目录中的rndc.conf文件来实现,先来创建此文件:

编译安装bind9_编译安装_22

    2、将rndc.conf中的内容复制到主配置文件中,如下图所示:

编译安装bind9_编译安装_23编译安装bind9_bind9_24

3、重读配置文件

编译安装bind9_编译安装_25

4、设置权限

编译安装bind9_编译安装_26

5、验证

编译安装bind9_编译安装_27

八、测试 

    我们来新建一个正向区域测试一下DNS服务器能否正常解析。

    1、修改主配置文件

编译安装bind9_编译安装_28

    2、创建区域配置文件

编译安装bind9_bind9_29

    3、修改权限

编译安装bind9_编译安装_30

    4、重启服务

编译安装bind9_bind9_31

    5、解析主机记录

编译安装bind9_bind9_32