源码安装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.conf,options是必须要写的,准备两个域,根域可以上网和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