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服務/