编译安装bind9

一、下载bind9.9.5源码包

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

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

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

0.png

三、编译安装bind

    1、安装前的准备工作

        安装gcc和openssl-devel

2.png3.png

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

    2、生成Makefile

01.png

1.png

    选项:

        –prefix:指定安装路径;

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

        –enable-threads:启用线程;

        –disable-chroot:禁用chroot;

        –disable-ipv6:禁用ipv6;

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

    3、编译安装

4.png

05.png四、配置bind的环境

    1、使用bind9的自带命令

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

5.png

        重新登录终端后查看PATH:

6.png

    2、man手册

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

7.png

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

8.png

    3、库文件

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

9.png

五、创建目录及配置文件

    1、主配置文件

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

13.png

    2、创建系统用户和组

10.png

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

11.png

    4、创建named.ca文件

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

12.png    5、创建localhost.zone文件和127.0.0.zone文件

14.png

    6、修改区域文件的权限 

15.png

27.png

六、启动服务

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

16.png

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

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

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

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

17.png    至此DNS服务器已经可以正常工作了,不过rndc目前还不能使用,下面我们配置一下rndc。

七、rndc

    1、创建rndc.conf

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

18.png

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

19.png20.png

3、重读配置文件

21.png

4、设置权限

22.png

5、验证

23.png

八、测试 

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

    1、修改主配置文件

24.png

    2、创建区域配置文件

25.png

    3、修改权限

28.png

    4、重启服务

23.png

    5、解析主机记录

26.png

原创文章,作者:petmaster,如若转载,请注明出处:http://www.178linux.com/3925

(0)
petmasterpetmaster
上一篇 2015-05-04 18:39
下一篇 2015-05-05 18:17

相关推荐

  • linux基础学习-(磁盘管理、分区挂载、SWAP)

    1、磁盘结构 2、分区类型 3、管理分区、文件系统以及挂载设备 4、管理虚拟内存SWAP 一、磁盘结构(机械硬盘) CHS寻址模式将硬盘划分为磁头(Heads)、柱面(Cylinder)、扇区(Sector)。 heads:磁头 tracks:磁道 cylinder: 柱面 sector: 扇区,512bytes(最小的存储单位) 1、其中:每个盘面…

    Linux干货 2016-09-01
  • 第三周 用户和组管理

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who root     pts/0        2017-12-16 22:46 (192.168.43.233) root     pts/1        2017-12-16 22:46 (192.168.43.233…

    2017-12-16
  • Ansible Playbook Roles 和 Include 声明-手稿

    Edit Ansible Playbook Roles 和 Include 声明 Ansible Playbook Roles 和 Include 声明 1. Introduction 2. Task Include Files And Encouraging Reuse 3. Roles 4. Role Default Variables 5. Role …

    Linux干货 2016-03-28
  • haproxy实战之haproxy实现mysql负载均衡

    haproxy实战之haproxy实现mysql负载均衡 实验目的haproxy + mysql实现负载均衡 1.准备机器,做好时间同步,域名主机名解析 192.168.42.151 [node2 haproxy] 192.168.42.152 [node3 mariadb] 192.168.42.153 [node4 mariadb] 2.node3,no…

    Linux干货 2017-06-29
  • 文本处理三剑客之 Sed

         Sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自…

    2017-08-26
  • CentOS进程管理

    CentOS进程管理 笔记 Linux系统中的基本运行单位是进程,通过对系统系统中的进程的管理能够对系统的实时运行状态进行了解和调度。Linux中提供了用于查看、调整和停止进程的命令。本文仍然以RHEL6说明Linux系统的进程管理。 CentOS进程管理 一、进程概述 二、查看进程 1、使用ps命令 2、top命令 一、进程概述 程序是保存在存储介质中的可…

    Linux干货 2017-05-15