准备工作

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