源碼安裝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