author:JevonWei
版权声明:原创作品
编译bind
-
准备阶段:
- 下载bind软件包,然后传输到系统中
https://www.isc.org/downloads/ - 安装开发包组
yum -y groupinstall "Development tools"
3 . 解压bind软件包
tar xvf bind-9.10.5-P3.tar.gz - 创建named系统用户账号
useradd -r -d /var/named -s /sbin/nologin -u 53 named -r 指定系统账号,-d指定家目录为/var/named -s指定shell环境为/sbin/nologin -u 指定UID为53 - 创建named的家目录及修改所属组信息
mkdir /var/named
chgrp named /var/named/ 修改所属组为named
chmod o= /var/named/ - iptables -F
- 下载bind软件包,然后传输到系统中
-
编译
-
cd bind-9.10.5-P3
-
./configure --help 查看configure编译的说明
-
mkdir /usr/src/bind9 新建目录作为bind的根目录
-
./configure --prefix=/usr/src/bind9/ 执行编译安装,出现如下提示时,需要安装OpenSSL软件包或在编译时使用--without-openssl关闭安全加密功能
-
./configure --prefix=/usr/src/bind9/ --without-openssl
-
make && make install
-
vim /etc/profile.d/bind9.sh 添加bind9二进制文件的路径到全局变量中
export PATH=/usr/src/bind9/sbin:/usr/src/bind9/bin:$PATH -
. /etc/profile.d/bind9.sh 刷新生效
-
ls /usr/src/bind9/bin
-
which dig 测试dig命令的路径是否正确
-
man dig 测试帮助文档命令路径是否正确
-
vim /usr/src/bind9/etc/named.conf 新建named.conf配置文件
options {
directory "/var/named";
};
zone "." {
type hint;
file "root.ca";
}; -
编辑DNS . 文件,可从其他主机中复制,可在网络中某个DNS服务器中抓取
-
dig -t NS . @172.16.0.1 > /var/named/root.ca 抓取 .DNS数据到/var/named/root.ca
-
vim /usr/src/bind9/etc/named.conf 添加DNS解析域文件
options {
directory "/var/named";
};
zone "." {
type hint;
file "root.ca";
};
zone "danran.com" {
type master;
file "danran.zone";
}; -
vim /var/named/danran.zone 编辑DNS数据库文件
$TTL 1D
@ IN SOA ns admin ( 0 1D 10M 3D 1H)
NS nsns A 192.168.198.136
www A 192.168.198.150 -
named --help 查看named命令的使用帮助
-
vim /etc/man.config 将named帮助文档的路径写入/etc/man.config全局文件中,/usr/src/bind9/share/man/为named的帮助文档路径
MANPATH /usr/src/bind9/share/man/
-
man named 查看named的帮助文档
-
named -f -g -d 3 -u named 开启named服务,-f 前台执行,-g 将日志信息输出到标准输出,-d 以什么级别显示debug信息,-u 指定什么用户执行命令
-
-
客户端访问测试
dig www.danran.com @192.168.198.136
安装rndc
1. 生成DNS key文件
rndc-confgen -r /dev/urandom > /usr/src/bind9/etc/rndc.con
2. vim /usr/src/bind9/etc/rndc.conf \将文件中的如下注释内容剪切到/usr/src/bind9/etc/named.conf文件中
# Use with the following in named.conf, adjusting the allow list as needed:
# key "rndc-key" {
# algorithm hmac-md5;
# secret "JZMdWLCUJhuMaes8bUJJKw==";
# };
#
# controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf
3. vim /usr/src/bind9/etc/named.conf \将/usr/src/bind9/etc/rndc.conf文件中剪切的内容复制到此文件中,并去掉#注释信息
# Use with the following in named.conf, adjusting the allow list as needed:
key "rndc-key" {
algorithm hmac-md5;
secret "JZMdWLCUJhuMaes8bUJJKw==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
# End of named.conf
4. named -f -g -d 3 -u named \ 开启named服务,-f 前台执行,-g 将日志信息输出到标准输出,-d 以什么级别显示debug信息,-u 指定什么用户执行命令
5. ss -ntln \rndc的953端口一打开
6. rndc reload \rndc命令已安装
7. rndc querylog \打开named的日志功能
8. rndc status \查看named的状态信息
编译安装压力测试工具queryperf
-
编译安装queryperf
-
cd /root/bind-9.10.5-P3/contrib/queryperf 切换到bind的解压文件目录的contrib/queryperf
-
./configure 编译queryperf此工具
-
make
-
cp /root/bind-9.10.5-P3/contrib/queryperf/queryperf /usr/src/bind9/bin/ 复制queryperf工具的二进制文件到/usr/src/bind9/bin/路径中
-
queryperf --help 查看queryperf工具的帮助
-
scp /usr/src/bind9/bin/queryperf /192.168.198.134:/bin 复制queryperf二进制文件到另一台主机的bin目录下进行压力测试
-
vim /root/text.txt 编辑需要解析的数据文件
www.danran.com A
danran.com NS
ftp danran.com A
www.danran.com A
www.danran.com A
www.danran.com A
www.danran.com A
www.danran.com A
www.danran.com A
..... -
queryperf -d /root/text.txt 本机进行DNS压力测试
-
-
远程压力测试
-
vim /root/text.txt 编辑需要解析的数据文件
www.danran.com A
danran.com NS
ftp danran.com A
www.danran.com A
www.danran.com A
www.danran.com A
www.danran.com A
www.danran.com A
www.danran.com A
..... -
queryperf -d /root/text.txt -s 192.168.198.134 -d 指定解析的数据文件,-s 指定需要测试的远程主机
-
编译bind的相关内容
http://119.23.52.191/编译安装bind及queryperf压力测试工具详解/
http://119.23.52.191/dns服务/