BIND9 源码编译安装

1、编译前环境准备

[[email protected] ~]# yum groupinstall "Development Tools" "Server Platform Development"

2、至isc.org bind官网下载bind源码,并展开

[[email protected] ~]# tar xf bind-9.9.9-P2.tar.gz
[[email protected] ~]# cd bind-9.9.9-P2

3、创建named用户

[[email protected] bind-9.9.9-P2]# group -r -g 53 named
[[email protected] bind-9.9.9-P2]# useradd -u 53 -g named named -r
#使用53端口作为named组和named用户的ID号

4、编译安装

[[email protected] bind-9.9.9-P2]# ./configure --prefix=/usr/local/bind9.9 --sysconfdir=/etc/named/ --disable-chroot --enable-threads
#指明安装位置,配置文件位置,关闭chroot,开启线程

[[email protected] bind-9.9.9-P2]# make
[[email protected] bind-9.9.9-P2]# make install

至此,安装完成,但自行编译bind源码包会产生如下问题

(1)没有配置文件

(2)没有区域解析文件(包括13个根服务器的解析文件)

(3)没有rndc的相关配置文件

解决上述问题

#1、将bind下配置文件加入PATH中
[[email protected] bind9.9]# vim /etc/profile.d/named.sh
export PATH=/usr/local/bind9.9/bin:/usr/local/bind9.9/sbin:$PATH
[[email protected] bind9.9]# . /etc/profile.d/named.sh

#2、导出库文件搜索路径
[[email protected] bind9.9]# vim /etc/ld.so.conf.d/named.conf
/usr/local/bind9.9/lib
[[email protected] bind9.9]# ldconfig -v

#3、导出头文件搜索路径
[[email protected] bind9.9]# ln -sv /usr/local/bind9.9/include /usr/include/named
"/usr/include/named" -> "/usr/local/bind9.9/include"

#4、导出帮助文档搜索路径
[[email protected] bind9.9]# vim /etc/man.config 
MANPATH /usr/local/bind9.9/share/man

然后编辑配置文件

[[email protected] bind9.9]# cd /etc/named
[[email protected] named]# vim named.conf
options {
        directory "/var/named";
};

zone "." IN {
        type hint;
        file "named.ca";
};

zone "localhost" IN {
        type master;
        file "locaihost.zone";
        allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.local";
        allow-update { none; };
};
[[email protected] named]# mkdir /var/named
[[email protected] named]# named-checkconf

#然后创建各区域的配置文件
[[email protected] named]# cd /var/named

#在联网的情况下直接将查询根的结果导入根区域配置文件
[[email protected] named]# dig -t NS . > /var/named/named.ca

#配置正向解析区域
[[email protected] named]# vim localhost.zone
$TTL 86400
@       IN      SOA     localhost.      admin.localhost. (
                        2016091301
                        1H
                        5M
                        7D
                        1D )
        IN      NS      localhost.
localhost.      IN      A       127.0.0.1

#配置反向解析区域
[[email protected] named]# vim named.local
$TTL 86400
@       IN      SOA     localhost.      admin.localhost. (
                        2016091301
                        1H
                        5M
                        7D
                        1D )
        IN      NS      localhost.
1       IN      PTR     localhost.

接下来,更改配置文件的属组和权限

[[email protected] named]# chown :named localhost.zone named.local named.ca 
[[email protected] named]# chmod 640 localhost.zone named.local named.ca 
[[email protected] named]# chmod 640 /etc/named/named.conf 
[[email protected] named]# chown :named /etc/named/named.conf

之后,生成rndc配置文件

[[email protected] ~]# rndc-confgen -r /dev/urandom > /etc/named/rndc.conf
#使用随机数生成rndc.conf文件

[[email protected] ~]# rndc-confgen -r /dev/urandom
# Start of rndc.conf
key "rndc-key" {
	algorithm hmac-md5;
	secret "3FMQn6XQIuzAXNhl+19EvA==";
};

options {
	default-key "rndc-key";
	default-server 127.0.0.1;
	default-port 953;
};
# End of rndc.conf
#----------------将本段内容复制到named.conf文件中--------------------------------------
# Use with the following in named.conf, adjusting the allow list as needed:
# key "rndc-key" {
# 	algorithm hmac-md5;
# 	secret "3FMQn6XQIuzAXNhl+19EvA==";
# };
# 
# controls {
# 	inet 127.0.0.1 port 953
# 		allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf
#----------------------------------结束------------------------------------------------

将文中标识的内容复制到named.conf中,并取消注释

到此,准备工作结束,

[[email protected] named]# named -u named -f -g -d 3
#-u 为指定named用户执行
#-f 为运行在前台
#-g 把标准错误显示出来
#-d 指明调试等级

[[email protected] ~]# ss -tunl | grep 53
udp    UNCONN     0      0          192.168.0.196:53                    *:*     
udp    UNCONN     0      0              127.0.0.1:53                    *:*     
tcp    LISTEN     0      10         192.168.0.196:53                    *:*     
tcp    LISTEN     0      10             127.0.0.1:53                    *:*  
#现在53端口已经处于监听状态了
时间: 2024-10-18 16:00:42

BIND9 源码编译安装的相关文章

马哥linux学习笔记:源码编译安装

由于rpm包在作者制作封装的时候已经把程序的一些特性固定了,如果我们根据自己的需求,需要运用程序的一些没有普适性相关特性,就需要下载程序的源码手动编译安装了,这里只是简单的介绍一下C代码的程序包编译安装方法. 为了能更直观的看到源码编译安装的过程,我演示一下在centos7.2环境中编译安装httpd2.2: 首先,编译的前提是得有称手的工具及环境了,编译c源代码就需要用到开发工具,make,gcc了,环境就需要开发库跟头文件了,如果系统中没有这些,就需要yum安装了. 这里我运行yum gro

烂泥:mysql5.0数据库源码编译安装

本文首发于烂泥行天下. 本次实验的mysql.OS相关信息如下: Mysql:5.0.96 OS:centos 32 bit 最近公司要上新的业务,指明数据库使用的是mysql5.0版本.如果是使用rpm包安装的话,那就很简单了.直接使用yum安装即可,命令如下: yum –y install mysql mysql-server Yum方式安装完毕后,直接启动mysql数据库服务即可.如下图: 这样基本上就可以了. 但是这样安装mysql数据库,没有进行定制.比如mysql数据库的数据文件存储

ubuntu 源码编译安装最新的vim 8.0

为什么要源码编译安装VIM? 因为我要安装ycm,ycm要求vim版本为8.0 教程步骤: 1, 核对系统版本 2, 删除系统自带的vim 3, 编译安装vim 4, 检验vim的安装 1,核对系统版本 [email protected]:~# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.5 LTS Release: 14.04 Codename: tr

详解LAMP源码编译安装

实战:LAMP源码编译安装 家住海边喜欢浪:zhang789.blog.51cto.com 目录 详解LAMP源码编译安装 LAMP简介 一.准备工作 二.编译安装 Apache 三.编译安装 MySQL 四.编译安装 PHP 测试LAMP搭建开源数据web管理程序phpMyadmin 详解LAMP源码编译安装 LAMP简介 LAMP是当下非常流行的一套Web架构,我们可以在GNU/Linux下通过其他人打包的程序包来进行安装; 但是在生产环境中,很多时候都需要我们自己定制安装AMP,编译安装L

centos 6.5源码编译安装subversion 1.8.10

一.简介 CentOS 6.5的yum源可以安装的SVN客户端版本太低了,1.6.11,所以需要升级到1.8.10,而官网有没有找到1.8.10的安装包,只能选择源码编译安装. 二.安装步骤 参考官网:http://svn.apache.org/repos/asf/subversion/trunk/INSTALL 源码下载:http://archive.apache.org/dist/subversion/ 源码编译subversion依赖许多别的工具,比如:apr.apr-util.libto

软件包管理之源码编译安装

编译步骤: 1.#cd SOURCE_CODE 2../configure 作用: 检测编译环境 提供给用户编译配置(通过脚本选项) --help 帮助信息 --prefix=/usr/local/name 安装路径 二进制 /usr/local/name/bin /usr/local/name/libexec不允许自动执行,只能被其他程序调用执行 配置文件 /usr/local/name/conf 库文件 /usr/local/name/lib 帮助文档 /usr/local/name/sha

LAMP纯源码编译安装日志

一.LAMP构架的安装与经验技巧(源码安装好处.是便于管理,可以选定参数,可以使用新版本) 相关软件列表: # ls /soft/ | grep -E "*.gz|*.zip|*.xz|*.bz2"    apr-1.4.5.tar.gz    apr-util-1.3.12.tar.gz    autoconf-2.61.tar.gz    freetype-2.3.12.tar.gz    httpd-2.4.18.tar.bz2    jpegsrc.v6b.tar.gz    

源码编译安装

除了用rpm.yum安装包外,还可以用源码编译安装 源码包:代码可见的,要想在系统里运行,要翻译成机器语言,编译就是翻译的过程. 源码包下载最好去官方网站 以httpd为例 下载地址 以后下载的源码包最好放在/usr/local/src下,目的是为了以后方便维护 有时候,需要去看一下它里面的文件,比如INSTALL  README 安装指引 源码包安装三个步骤: 第一步:   ./configure --help  查看有哪些选项 --prefix   指定安装路径 检查这步操作是否有问题,没问

Atlas2.2源码编译安装

本文主要介绍中间件atlas源码编译安装,由于rpm安装的atlas程序调用时返回的mysql版本为5.0,相应使用低版本的驱动造成时间类型的字段无法支持毫秒级别. 由于需要glib版本要大于2.32以上,centos6系统自带的glib版本为2.28,因此需要重新编译安装2.32以上的glib,这里安装2.34版本的glib需要依赖pcre大于8.31. 一.编译安装pcre8.35 # tar xf pcre-8.35.tar.gz # cd pcre-8.35 # ./configure