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. Java多线程编程模式实战指南(三):Two-phase Termination模式--转载
  2. 批处理脚本, 读取文件并字符串替换
  3. SpringCloud实现一个模块调用另一个模块的服务
  4. android获取服务器时间格式,Android 获取服务器与客户端时差的实例代码
  5. 页面显示正常,控制台报错
  6. 世界顶级图表-华尔街日报配色方案详解
  7. sigmoid画图_博弈画图软件(Window版和MAC版)
  8. hourglass论文_Hourglass模块 网络结构 代码
  9. When Machine Learning Meets Congestion Control: A Survey and Comparison
  10. python模拟登录淘宝直通车_淘宝直通车推广计划
  11. JLINK仿真器用SWD模式下载/调试只需三根线
  12. MyBatis批量操作和多参数查询
  13. Galaxy S9最新谍照曝光 采用新款DeX扩展坞
  14. 如何用Windows命令提示符(cmd.exe)进入指定目录
  15. transferTo和transferFrom
  16. 【三角形判断】测试用例设计
  17. 常用颜色代码表以及中国传统颜色名录
  18. 致血气方刚的产品经理:如何不被程序员嫌弃
  19. 红米手机怎样升级android版本,红米2的手机系统是什么?红米2能升级安卓5.0吗?...
  20. ChatGPT神奇应用:快速撰写大众点评好评

热门文章

  1. LTE中物理资源块的进一步认识
  2. 用python编程小程序制作_Python编写四人24小时值班表生成小程序【简单粗暴】
  3. 搞钱不再是第一要务(转载)
  4. 房子并发什么意思_周公解梦:梦见建房子是什么意思
  5. ZJUer必备之西塘自助游攻略…
  6. OpenPortal认证系统 界面展示
  7. ata计算机考试第一套,计算机ATA考试中级第一套试题配套素材.doc
  8. 如何与离职员工面谈沟通?
  9. 识别最优的数据驱动特征选择方法以提高分类任务的可重复性
  10. bi工程师和java哪个好_每个好架构师都是一位出色的程序员