Bind编译安装详解

Bind是一款开放源码的DNS服务器软件,由美国加州大学Berkeley分校开发和维护的,全名为Berkeley Internet Name Domain它是目前世界上使用最为广泛的DNS服务器软件,支持各种unix平台和windows平台。现今互联网上最常使用的DNS服务器软件,使用BIND作为服务器软件的DNS服务器约占所有DNS服务器的九成。BIND现在由互联网系统协会(Internet Systems Consortium)负责开发与维护。

Bind一般可直接yum install安装,或是用RPM包安装,但有时我们需要其某些特别的功能是,就需要用到编译安装了。本文详细介绍bind编译安装的方法。

1.安装前准备:

首先,到http://www.isc.org/下载bind的源码安装包,我下的是bind-9.11.0b1.tar.gz,9.11.0b1版本的,各位可自行下载自己需要的版本。

解压文件

tar xzvf  bind-9.11.0b1.tar.gz

创建普通用户用于bind的运行

[root@www bind-9.11.0b1]# groupadd -g 53 -r named

[root@www bind-9.11.0b1]# useradd -u 53 -g 53 -r named

[root@www bind-9.11.0b1]#

./configure配置

[root@www bind-9.11.0b1]# ./configure –prefix=/usr/local/bind9 –sysconfdir=/etc/named/ –disable-ipv6 –disable-chroot –enable-threads

一般不会出现什么问题,但如果有相关的模块没有安装,则会在这时候报错,不过没关系,缺什么,yum install安装相应的devel包就行了。

configure通过了就继续make && make install:…

XML statistics (–with-libxml2)

JSON statistics (–with-libjson)

————————————————————————

For more detail, use –enable-full-report.

========================================================================

[root@www bind-9.11.0b1]# make && make install

mkdir /usr/local/bind9/var

mkdir /usr/local/bind9/var/run

mkdir /etc/named

/bin/sh ./mkinstalldirs /usr/local/bind9/share/man/man1

/usr/bin/install -c isc-config.sh /usr/local/bind9/bin

rm -f /usr/local/bind9/bin/bind9-config

ln /usr/local/bind9/bin/isc-config.sh /usr/local/bind9/bin/bind9-config

/usr/bin/install -c -m 644 ./isc-config.sh.1 /usr/local/bind9/share/man/man1

rm -f /usr/local/bind9/share/man/man1/bind9-config.1

ln /usr/local/bind9/share/man/man1/isc-config.sh.1 /usr/local/bind9/share/man/man1/bind9-config.1

/usr/bin/install -c -m 644 ./bind.keys /etc/named

安装完成。

成功安装后,还需要设置一系列参数,让系统知悉bind安装在/usr/local/bind9的目录中。因而,执行以下命令:

vim /etc/profile.d/named.sh

exprot PATH=/usr/local/bind9/bin:/usr/local/bind9/sbin:$PATH  ##加入到PATH变量中

. /etc/profile.d/named.sh  ##重读配置文件

vim /etc/ld.so.conf.d/named.conf

/usr/local/bind9/lib      ##导出库文件

ldconfig  -v              ##系统重读

ln -sv /usr/local/bind9/include /usr/include/named   ##导出头文件

vim /etc/man.config                                     ##导出帮助文件

在空白行添加:

MANPATH /usr/local/bind9/share/man

至此,bind已编译安装完毕,但要使用bind,还需进行配置。

配置Bind

##定义配置文件

vim /etc/named/named.conf

options {

directory "/var/named";

};

zone "." IN {

type hint;

file "named.ca";

};

zone "localhost" IN {

type master;

file "localhost.zone";

allow-update { none; };

};

zone "0.0.127.in-addr.arpa" IN {

type master;

file "named.local";

allow-update { none; };

};

zone "test.net" IN {

type master;

file "test.net.zone";

};

##生成几个区域数据文件

##1.根区域

[root@www named]# dig -t NS . @8.8.8.8 > /var/named/named.ca

vim localhost.zone

$TTL    1d

@       IN      SOA     localhost.      admin.localhost. (

2017071801

1h

5m

7d

1d )

IN      NS      localhost.

localhost.      IN      A       127.0.0.1

vim named.local$TTL    1d

@       IN      SOA     localhost.      admin.localhost. (

2017071801

1h

5m

7d

1d )

IN      NS      localhost.

1       IN      PTR     localhost.

test.net.zone

$TTL 1D

$ORIGIN test.net.

@       IN      SOA     ns1.test.net. admin.test.net (

2016070601

1H

5M

7D

1D )

IN  NS  ns1

IN  NS  ns2

IN  MX 10 mx1

IN  MX 20 mx2

ns1     IN      A       172.16.10.10

ns2     IN      A       172.16.20.20

mx1     IN      A       172.16.10.10

mx2     IN      A       172.16.20.20

www     IN      A       172.16.10.10

web     IN      A       172.16.20.20

ftp     IN      CNAME   www

*       IN      CNAME   www

##修改文件权限为640

[root@www named]# chmod 640 ./*

[root@www named]#

[root@www named]# ls -lh

total 24K

drw-r—– 2   25   25 4.0K Jul 17 12:19 data

drw-r—– 2   25   25 4.0K Jul 17 15:07 dynamic

-rw-r—– 1 root root  132 Jul 18 01:21 localhost.zone

-rw-r—– 1 root root 2.1K Jul 18 01:15 named.ca

-rw-r—– 1 root root  126 Jul 18 01:23 named.local

-rw-r—– 1 root   25  333 Jul 10 15:12 test.net.zone

[root@www named]# chown :named ./*

[root@www named]# ls -lh

total 24K

drw-r—– 2   25 named 4.0K Jul 17 12:19 data

drw-r—– 2   25 named 4.0K Jul 17 15:07 dynamic

-rw-r—– 1 root named  132 Jul 18 01:21 localhost.zone

-rw-r—– 1 root named 2.1K Jul 18 01:15 named.ca

-rw-r—– 1 root named  126 Jul 18 01:23 named.local

-rw-r—– 1 root named  333 Jul 10 15:12 test.net.zone

[root@www named]#

[root@www named]# chmod 640 /etc/named/named.conf

[root@www named]# chown :named /etc/named/named.conf

OK,启动bind服务

[root@www var]# named -u named

检查服务正常与否:

[root@www named]# ss -ntlup | grep :53

udp    UNCONN     0      0           172.16.10.10:53                    *:*      users:(("named",82889,515),("named",82889,516),("named",82889,517))

udp    UNCONN     0      0              127.0.0.1:53                    *:*      users:(("named",82889,512),("named",82889,513),("named",82889,514))

tcp    LISTEN     0      10          172.16.10.10:53                    *:*      users:(("named",82889,22))

tcp    LISTEN     0      10             127.0.0.1:53                    *:*      users:(("named",82889,21))

[root@www named]#

UDP53端口已然在监听

查询A记录:

[root@www named]# dig -t a www.test.net @172.16.10.10

; <<>> DiG 9.11.0b1 <<>> -t a www.test.net @172.16.10.10

;; global options: +cmd

;; Got answer:

;; ->>HEADER<

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 4096

; COOKIE: 27ba2f7f1e17a2290a97e22d578bc559a9b4b200c6fe5074 (good)

;; QUESTION SECTION:

;www.test.net.                  IN      A

;; ANSWER SECTION:

www.test.net.           86400   IN      A       172.16.10.10

;; AUTHORITY SECTION:

test.net.               86400   IN      NS      ns2.test.net.

test.net.               86400   IN      NS      ns1.test.net.

;; ADDITIONAL SECTION:

ns1.test.net.           86400   IN      A       172.16.10.10

ns2.test.net.           86400   IN      A       172.16.20.20

;; Query time: 0 msec

;; SERVER: 172.16.10.10#53(172.16.10.10)

;; WHEN: Mon Jul 18 01:50:17 CST 2016

;; MSG SIZE  rcvd: 153

@172.16.10.10服务器成功返回的A记录

;; ANSWER SECTION:

www.test.net.           86400   IN      A       172.16.10.10

服务器运作正常!

至此,Bind服务器的编译安装已全部介绍完毕,是不是很简单呢?你也偿试一下吧!

注:通常我们都会编写一段脚本,让其能以系统服务的方式,开机自动运行,这样就不用每次启动都手工操作,此脚本网上有很多例子,我这里就不作介绍了,大家可以参考之后自行编写。

以上就是DNS服务器Bind的编译安装方法!作为初学者,我对linux的认识还是很肤浅,以上可能有不正确的地方,如有错漏,希望各位能指正,共同进步。

我的QQ:153975050  小斌斌

在此感谢马哥及马哥团队的所有人,在linux的道路上引领我一直前进!

2016-07-18

原创文章,作者:马哥Net19_小斌斌,如若转载,请注明出处:http://www.178linux.com/24689

Linux卸载安装bind,Bind编译安装详解相关推荐

  1. VLC-3.0.0(Nightly版)在Linux和Windows下的编译步骤详解

    VLC 3.0.0 Compile vlc的编译一直是个大坑,做过音视频开发的不少人想必都踩过,开篇引用官方wiki一句话: Compiling VLC is not an easy task. 本文 ...

  2. Linux上C语言程序编译过程详解

    点击蓝字 关注我们 因公众号更改推送规则,请点"在看"并加"星标"第一时间获取精彩技术分享 来源于网络,侵删 本文将介绍如何将高层的C/C++语言编写的程序转换 ...

  3. 文件系统层次结构标准和Linux上下载源代码配置编译安装

    一.文件系统层次结构标准 FHS_3.0 标准文档 /bin 存储一些二进制可执行命令文件, /usr/bin 也存放了一些基于用户的命令文件. /sbin 存储了很多系统命令, /usr/sbin ...

  4. Linux 之旅 21:编译安装软件

    Linux 之旅 21:编译安装软件 图源:pexcel 开源软件的安装与升级 可执行文件 通常,源代码只有被编译成二进制的可执行文件后才能在操作系统上被用户直接运行,比如: [icexmoon@xy ...

  5. python编译安装详解_linux 编译安装python3.6的教程详解

    不要下载 " XZ compressed source tarball " ,目前 python3.6 最新版压缩包名字是:Python-3.6.7.tgz. 把下载的压缩包随便放 ...

  6. 怎么卸载用 make install 编译安装的软件?

    在linux 中用 ./configure && make && make install 后,如果想删除这个软件我应该怎么删除呢? 好像有一个叫"make ...

  7. linux mk创建文件,Linux运维知识之Linux mkkickstart建立安装的组态文件命令详解

    本文主要向大家介绍了Linux运维知识之Linux mkkickstart建立安装的组态文件命令详解,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 功能说明:建立安装的组态文件 ...

  8. linux安装openssh服务器的命令,ubuntu 安装openssh服务器的教程详解

    1.安装openssh 首先得安装 openssl 和zlib 安装openssl ---下载openssl-1.0.1j.tar.gz,解压到/usr/openssl/目录下进入解压目录 执行./c ...

  9. linux php 编译 pdo,Linux 下 PHP 扩展 PDO 编译安装

    1.进入PHP的软件包pdo扩展目录中(注:不是PHP安装目录) 执行phpize 命令 [[email protected] pdo_mysql]# /usr/local/php/bin/phpiz ...

  10. 虚拟机2012搭建DNS服务器,Windows Server2012 安装配置DNS服务器方法详解

    Windows Server2012 安装配置DNS服务器方法详解 在云服务器 Windows Server2012 上安装配置DNS服务器方法,安装与配置非常简单,在这里写个完整教程方便大家查询 一 ...

最新文章

  1. t检验自由度的意义_t检验的效应量
  2. 342.基于高通量技术的微生物组研究实验设计
  3. 简易调用及实例化视图
  4. 【java学习笔记-io流 文件读写和键盘读写】带缓存的输入/输出流和数据输入/输出流
  5. 如何将S/4HANA系统存储的图片文件用Java程序保存到本地
  6. Linux命令基础3
  7. linux lvm 磁盘管理
  8. BitMap-BitSet(JDK1.8)基本使用入门
  9. AJPFX总结String类的特点
  10. 0618----Shell(二)
  11. 终极成语接龙,谁能继续往下接,哈哈!!!
  12. c# TcpClient 客户端断线重连类库
  13. matlab中concur怎么用,Matlab的concur、repmat、kron、reshape函数介绍
  14. VPS安装Docker、docker-compose
  15. Qgis的下载安装(Qgis3.16.12)
  16. 详细说明VScode设置中文,主题更改,文件图标及字体设置
  17. Python-高级:多任务-协程 案例:图片下载器
  18. 苹果8黑屏无法强制开机_iphonexr突然黑屏无法开机怎么解决?
  19. 白盒测试方法之逻辑覆盖
  20. sql进行批量更新或者一条sql写出批量更新的语句

热门文章

  1. 1.8正版生存服务器,我的世界1.8纯净版
  2. Bark to Unlock CodeForces - 868A
  3. java 框架GAT_GAT2.0使用文档(组合接口测试)
  4. 对待“流氓”,要比流氓更“流氓”!
  5. APISpace 行驶证OCR 方便好用
  6. springboot 做表白墙_基于微信云开发 SayLove 表白墙微信小程序V1.0
  7. stata F值缺失_一文读懂Stata做格兰杰因果检验命令总结
  8. ICASSP 2019----Deep Speaker Representation Using Orthogonal Decomposition and Recombination for Spea
  9. Day17-集合(中)Map
  10. 关注天气:免费的短信天气预报