安装编译bind

简介:

准备工作

1.首先下载最新版本的软件包,下载地址为:https://www.isc.org/downloads/bind/

检查centos7中是否已安装bind,确定没有安装后,把软件包导入centos7中

wKiom1ne2jaj8aL4AAAUNGMj4LQ896.png

wKioL1nfMmSD473ZAAA6G_FuA0w911.png

因为bind不会创建用户和家目录,所以要创建

wKioL1nfM8qAU00HAAAuNkZsr7A580.png

wKiom1nfNyPhsZu1AAAxQq0FlOU132.png

编译安装bind

2.解压缩 tar xvf bind-9.11.0a3.tar.gz

进入这个目录下 cd bind-9.11.0a3/

创建用户和家目录

旧方法:groupadd -r -g 53 named

useradd -r -u 53 -g 53 named

新方法:

wKioL1nfM8qAU00HAAAuNkZsr7A580.png

3.查看帮助文件 :cat README

4.安装包组:yum groupinstall "development tools"在这里因为少写了yum,所以一直出错。


5.帮助说明:./configure --help

(./configure --prefix=/usr/local/bind9 --sysconfdir=/etc/named/ --without-openssl

--disable-ipv6 --disable-chroot--enable-threads

/configure --prefix=/app/bind

wKioL1nfSIXCwnDtAAA4hBj1CDc813.png

出现上面的问题有两种解决办法,方法一:安装openssl 方法二:后面加 --without-openssl

这里使用第二种方法:/configure --prefix=/app/bind  --without-openssl



6.make

make install

把设置中的内核处理器改为4个,编译安装时能快一点,并发执行。

make -j 4 &&make install

7. dig和host客户端工具位于/app/bind/bin/下,服务端工具位于/app/bind/sbin/下,为了使用方便可以添加环境变量

环境变量:

vim /etc/profile.d/bind.sh

export PATH=/app/bind/bin:/app/bind/sbin/:$PATH

. /etc/profile.d/bind.sh使变量生效,可以使用env查看变量

wKioL1nfUVST8-RDAAA93mTXpiM095.png

8. 要当服务器,需要配置文件,但是这里没有,所以要编写。

wKioL1nfVCqTzUU_AAAjj_1mNsY584.png

vim /etc/named/named.conf

options {

directory "/var/named/"

};


zone "test.com"{

type master";

file "test.com.zone";

};


zone "."  {

type hint;

file "named.ca";

};(可以上网)


wKioL1nfVXfgEKTDAAA9my66uqQ096.png

上述文件中的named.ca 和test.come.zone文件不存在,可以dig >named.ca

wKioL1nfVyiDbEecAACOxG_uhU4752.png

vim test.come.zone

wKiom1nfW2bR-CWmAAA0_jyO3Ak600.png

9. 手动运行named程序,但是这是一个二进制程序,位于/app/bind/sbin/下。

检查语法:named-checkconf

 named-checkzone test.com /var/named/test.com.zone

wKioL1nfXPqjOysEAAA8IQmlDSc421.png

在这一部分由于变量的路径写错了,所以检查语法的时候,总是显示命令找不到。

10. 首次在前台执行: named -u(指定运行者的身份) named -g -d 3,在以后的实验中可以后台执行:named -u named。

named运行要用到tcp和udp53端口,查看一下53端口号是否打开:ss -ntul

测试一下是否能解析:dig www.test.com @192.168.136.170 


11. rndc是一个管理工具,端口号为953,在这里需要做一下配置才能使用。

wKioL1nfZLLAQpVRAABCblNCR3o688.png

为了安全,rndc和bind需要有一个秘钥文件,这个文件不需要手写,可以利用文件生成,这个文件在/app/bind/sbin下。

wKiom1nfaPaxaiTUAAARppmFDWg467.png

wKiom1nfaaKDutMtAACPO66c7VA146.png

vim /app/bind/etc/rndc.conf(把文件里的#号去掉)

wKiom1nfaoShov0wAABjgXdryfw246.png

12. 查看状态:rndc status



本文转自    honeyorange   51CTO博客,原文链接:http://blog.51cto.com/13172732/2048292
相关文章
|
3天前
Setup Factory 怎样让打包的程序在安装后自动运行
Setup Factory 怎样让打包的程序在安装后自动运行
14 0
|
2月前
|
前端开发 开发者
在使用`v-bind`指令时,有哪些注意事项?
在使用`v-bind`指令时,有哪些注意事项?
9 0
|
XML 监控 算法
深入探索编译插桩(二.app打包编译)
现如今随着组件化, 插件化框架以及热修复,AOP编程等高级用法的新起,不得不驱使大家去了解更加底层的原理,上一篇文章笔者介绍了关于JVM字节码的理解,这篇文章笔者就来讲解下我们apk从编译到安装的过程。
|
弹性计算 PHP
PHP警告:socket_bind():无法绑定地址
PHP警告:socket_bind():无法绑定地址
265 0
|
JavaScript 前端开发
【build your own xxx】实现你自己的bind函数
【build your own xxx】实现你自己的bind函数
【build your own xxx】实现你自己的bind函数
|
算法 前端开发 网络安全
【Example】C++ 用于编译时封装的 Pimpl 演示 (编译防火墙 Private-IMPL)
什么是 Private-IMPL ? 即【隐藏实现的方式】,如果你还停留在学习的阶段,那这种方式对你的代码几乎毫无用处。 但是如果你走入到真实项目当中,这种方式又显得尤为重要。
150 0
|
网络协议 测试技术
Debian 环境下简单配置 Bind9 服务
Bind是使用最广泛的DomainName Server,它是Berkeley Internet Name Domain Service的简写,伯克里大学编写的。在Debian Stretch 9.3中,它的最新版本是Bind 9.10.5。
1918 0
|
网络协议 测试技术 开发工具
|
开发工具 数据可视化 Web App开发