(1)下载源码包vim
https://www.isc.org/downloads/app
(2)解压缩源码包dom
[root@localhost~]#mv bind-9.10.6.tar.gz /usr/src/ [root@localhost~]#cd /usr/src/ [root@localhost/usr/src]#tar xvf bind-9.10.6.tar.gz
(3)来咱们先看看bind包原来有没有安装脚本呢?tcp
[root@localhost ~]# rpm -q --scripts bind
从图中咱们能够看出,安装前须要本身建立用户,那么咱们来建立一个用户吧ide
[root@localhost/usr/src/bind-9.10.6]#useradd -r -d /var/named -s /sbin/nologin -m named #这里因为是系统用户,若是不加“-m”的话,是不能建立家目录的,切记!!!
(4)咱们接下来看看如何安装bind工具
[root@localhost/usr/src/bind-9.10.6]#cat README
若是直接向定制bind程序,显然这样作是不能知足咱们的需求的,咱们可使用以下操做定制咱们bind程序性能
[root@localhost/usr/src/bind-9.10.6]#./configure --help
如上图所示,这里只是截取部分图,这里能够选择咱们要安装的包位置,启用或关闭某些功能,实现定制bind,相信不少第一次编译的像我这样的人来讲认真研究一种程序源码安装过程,基本能够掌握别的源码包的安装。测试
[root@localhost/usr/src/bind-9.10.6]#./configure --prefix=/app/bind10 --sysconfdir=/etc/bind10
来来看看,我说什么了,当出现这是否是不知道如何操做,没有人家说的很清楚了,没有gcc,那该如何解决呢?那么咱们来安装一个开发包来解决这个问题spa
[root@localhost/usr/src/bind-9.10.6]#yum groupinstall -y "development tools"
那咱们再来尝试一次,看看此次会出现什么幺蛾子。code
[root@localhost/usr/src/bind-9.10.6]#./configure --prefix=/app/bind10 --sysconfdir=/etc/bind10
看看我说什么来着,此次又出错啦,为何呢?它提示咱们说没有openssl程序,若是想依赖这个程序,能够安装openssl-devel;通常源码包遇到的状况,都安装相对的开发包便可。
那咱们再来测试一次,看看还会出现什么状况呢?
当当当,哈哈,居然成功啦 ;不过这只是成功了一部分,若是想继续成功那就实行下面步骤吧
(5)进行编译安装
[root@localhost/usr/src/bind-9.10.6]#make ;make install make 的做用是开始进行源代码编译,以及一些功能的提供,这些功能由他的 Makefile 设置文件提供相关的功能; make install 通常表示进行安装,至关于建立软链接,建立目录等等一些操做。
(6)这样安装的话是没有命令PATH和man帮助的,那如何实现呢?
[root@localhost~]#vim /etc/profile.d/env.sh [root@localhost~]#source !$ source /etc/profile.d/env.sh
export PATH=/app/bind10/bin:/app/bind10/sbin:$PATH
[root@localhost~]#vim /etc/man_db.conf
(7)刚刚在(2)比步骤是否是看看还有安装后脚本呀,对的你没有看错,那么咱们来进行安装后脚本须要的操做。安装后脚本须要咱们使用命令rndc-confgen建立至关于”暗号“,建立了暗号才能访问,那么咱们就看看如何建立暗号呢?
[root@localhost~]#rndc-confgen -r /dev/urandom > /etc/bind10/rndc.conf #若是不重定向只能在终端上显示,写不到文件中
不过咱们如今尚未主配置文件named.conf文件,怎么办呢?那就手动建立一个喽
[root@localhost~]#vim /etc/bind10/named.conf
不过刚刚咱们了解到bind程序运行者是named用户,可是咱们来看看这个文件全部者和所属组是who
[root@localhost~]#ll /etc/bind10/named.conf -rw-r--r--. 1 root root 200 Sep 22 10:19 /etc/bind10/named.conf [root@localhost~]#chgrp named /etc/bind10/named.conf #修改所属组 [root@localhost/etc/bind10]#chgrp named bind10/ -R #修改文件都为named所属组
(8)不过DNS中解析固然须要根啦那么咱们就建立一个喽
[root@localhost named]# scp named.ca 192.168.4.152:/var/named/ #从远程主机上拷贝一个 [root@localhost/var]#chgrp named named/ -R #修改权限
[root@localhost~]#vim /etc/bind10/named.conf
[root@localhost/var/named]#vim test.com.zone #编辑测试域
[root@localhost/var/named]#chgrp named test.com.zone #修改权限
(9)那咱们接下来尝试着看看能不能起来服务
[root@localhost~]#named -u named -g -f -d 3 [root@localhost~]#ss -tnul
端口53/tcp 53/udp 953/tcp 已经处于监听状态,说明启动已经成功
(10)咱们尝试看看能够解析么?
那么接下来测测咱们dns的性能如何喽
对压力测试工具编译安装
[root@localhost ~]# cd /usr/src/bind-9.10.6/contrib/queryperf #切换至源码包位置 [root@localhost/usr/src/bind-9.10.6/contrib/queryperf]#./configure #进行编译 [root@localhost/usr/src/bind-9.10.6/contrib/queryperf]#make [root@localhost/usr/src/bind-9.10.6/contrib/queryperf]#cp queryperf /app/bind10/bin/ #将程序复制到bind执行程序的目录下
建立一个测试文本
[root@localhost~]#vim test
测试
[root@localhost~]#queryperf -d test -s 127.0.0.1