源码安装bind,需要自己创建配置文件和系统用户。

第一步:解压安装包

Tar -xvf  bind-9.11.2.tar.gz

第二步:查看系统是否有这个用户,创建系统用户

getent passwd named

useradd -d /var/named -r -m -s /sbin/nologin  named

第三步:准备安装的目录文件,缺什么装什么,不想装就按照提示不装。

./configure  --prefix=/app/bind  --without openssl

第四步:编译安装

Make -j  4 && make install

第五步:安装成功之后定义环境变量。

vim /etc/profile.d/named.sh

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

第六步:准备配置文件name.confoptions是必须要写的,准备两个域,根域可以上网和test域测试。

/app/bind/etc/named.conf

options {

        directory "/var/named/";

};

zone "test.zone" {

        type master;

        file "test.com.zone";

};

zone "." {

        type hint;

        file "named.ca";

};

第七步:准备配置文件的域名存放数据库。

test.com.zone

$TTL 1D

@ IN            SOA dnsserver admin.test.com. (0 1d 10m 1w 2h)

                NS  dnsserver

dnsserver       A   192.168.253.129

www             A   6.6.6.6

第八步:准备根域的域名存放数据库,每个dns服务器上都有根的域名,直接导入就行了,但是需要把自己的虚拟机的dns改成可以访问根的域名服务器上,我这里就是172.17.0.1

dig > /var/named/named.ca

第九步:检查配置文件和域名库是否正确

named-checkconf

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

第十步:如果前面没错就可以正确启动了,named账号-g前台启动-d等级日志详细程度。

named  -u named -g -d 3

第十一步:启动rndc服务,方便但是需要生成密钥,避免不是本机登陆还可以查看dns解析数据库。

 rndc status

 which rndc

rndc-confgen -r /dev/urandom每次生成的密钥都不一样,根据提示一部分导入rndc.conf,一部分导入name.conf

第十二步:查看现在的953端口还是没有打开,所以需要导入rndc的密钥生成rndc配置文件,

ss -ntul

rndc-confgen -r /dev/urandom > /app/bind/etc/rndc.conf

key "rndc-key" {

        algorithm hmac-md5;

        secret "6PgtWUWjrrxOsADA8atT3Q==";

};

 

options {

        default-key "rndc-key";

        default-server 127.0.0.1;

        default-port 953;

};

 

第十三步:导入named.conf的密钥,还需要把注释去掉

tail -n 12 /app/bind/etc/rndc.conf   >> /app/bind/etc/named.conf

 key "rndc-key" {

        algorithm hmac-md5;

        secret "6PgtWUWjrrxOsADA8atT3Q==";

 };

 controls {

        inet 127.0.0.1 port 953

                allow { 127.0.0.1; } keys { "rndc-key"; };

 };

第十四步:启动服务,查看端口是否打开。

named -u named

ss -nutl

第十五步:可以安装一个压力测试服务 queryperf,bind包里有直接安装,步骤如下。

1.cd bind-9.11.2

2.cd contrib/

3.cd queryperf/

4. ./configure

5.make

6.cp queryperf /app/bind/bin/

7.queryperf  --help

8.vim dns.txt:写一个小文档测试一下

9.queryperf  -d dns.txt