准备工作
1.首先下载最新版本的软件包,下载地址为:https://www.isc.org/downloads/bind/
检查centos7中是否已安装bind,确定没有安装后,把软件包导入centos7中
因为bind不会创建用户和家目录,所以要创建
编译安装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
新方法:
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
出现上面的问题有两种解决办法,方法一:安装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查看变量
8. 要当服务器,需要配置文件,但是这里没有,所以要编写。
vim /etc/named/named.conf
options {
directory "/var/named/"
};
zone "test.com"{
type master";
file "test.com.zone";
};
zone "." {
type hint;
file "named.ca";
};(可以上网)
上述文件中的named.ca 和test.come.zone文件不存在,可以dig >named.ca
vim test.come.zone
9. 手动运行named程序,但是这是一个二进制程序,位于/app/bind/sbin/下。
检查语法:named-checkconf
named-checkzone test.com /var/named/test.com.zone
在这一部分由于变量的路径写错了,所以检查语法的时候,总是显示命令找不到。
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,在这里需要做一下配置才能使用。
为了安全,rndc和bind需要有一个秘钥文件,这个文件不需要手写,可以利用文件生成,这个文件在/app/bind/sbin下。
vim /app/bind/etc/rndc.conf(把文件里的#号去掉)
12. 查看状态:rndc status