經(jīng)典實例:Centos5.2下安裝bind9.6-P1
安裝bind前先安裝gcc,配置好yum源,yum -y install gcc,如果有run.pid報錯,直接rm -rf /var/run/yum.pid (解決yum-updatesd服務正運行的情況)
下載 bind9.6到/root/Desktop,先進至目錄里,然后wget ftp://ftp.isc.org/isc/bind9/9.6.0-P1/bind-9.6.0-P1.tar.gz
解壓bind-9.6.0-P1.tar.gz
# tar zxvf bind-9.6.0-P1.tar.gz |
進入 bind-9.6.0-P1tar.gz文件夾
# cd bind-9.5.0 |
創(chuàng)建安裝目錄,我是安裝在 /usr/local/named
# mkdir /usr/local/named |
編譯,指定安裝目錄,指定man目錄,開啟多線程支持
# ./configure –prefix=/usr/local/named --mandir=/usr/local/share/man –enable-threads |
#Make 大約需要幾分鐘,只要不報錯就繼續(xù)下去。
# make |
#Make install 安裝
# make install |
沒有報錯,就表示安裝成功了。
開始配置bind,接下來的過程是讓rndc來管理bind9.6
創(chuàng)建 rndc.conf文件,用bind自帶程序生成
進入/usr/local/named/etc,將rndc.conf及named.conf生成
# cd /usr/local/named/etc # /usr/local/named/sbin/rndc-confgen > /usr/local/named/etc/rndc.conf |
把rndc.conf 中的key信息輸出到 named.conf 中
# tail –n10 rndc.conf | head -n9 | sed -e s/#\ //g > named.conf |
這里強調(diào)一下,rndc.conf與named.conf的key值必須完全一樣,而且并不需要生成rndc.key,這個問題糾纏了我大約3個小時
# vim named.conf options { Directory "/usr/local/named"; Pid-file "named.pid"; listen-on port 53 {any;}; Allow-query {any;}; Dump-file "/usr/local/named/data/cache_dump.db"; Statistics-file "/usr/local/named/data/named_stats.txt"; }; zone "." in { Type hint; File "named.root"; }; zone "localhost" in { Type master; File "localhost.zone"; }; zone "0.0.127.in-addr.arpa" in { Type master; File "localhost.rev"; }; zone "test.com" in { Type slave; masters { 192.168.1.254; } File "slaves/test.com.zone"; }; zone "1.168.192.in-addr.arpa" in { Type slave; masters { 192.168.1.254; }; File "slaves/192.168.1.zone"; }; key "rndc-key" { algorithm hmac-md5; secret "OXV+irEfzfPRzteVYTqqCA=="; }; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; }; }; 順便貼下我的從DNS的/usr/local/named/etc/named.conf文件 options { Directory "/usr/local/named"; Pid-file "named.pid"; listen-on port 53 {any;}; Allow-query {any;}; Dump-file "/usr/local/named/data/cache_dump.db"; Statistics-file "/usr/local/named/data/named_stats.txt"; }; zone "." in { Type hint; File "named.root"; }; zone "localhost" in { Type master; File "localhost.zone"; }; zone "0.0.127.in-addr.arpa" in { Type master; File "localhost.rev"; }; zone "test.com" in { Type slave; masters { 192.168.1.254; }; File "slaves/test.com.zone"; }; zone "1.168.192.in-addr.arpa" in { Type slave; masters { 192.168.1.254; }; File "slaves/192.168.1.zone"; }; key "rndc-key" { algorithm hmac-md5; secret "OXV+irEfzfPRzteVYTqqCA=="; }; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; }; }; |
順便貼下我的從DNS的/usr/local/named/etc/named.conf文件
寫入以下內(nèi)容
# vi localhost.zone |
寫入以下內(nèi)容:
$TTL 3600 $ORIGIN 127.0.0.1. @ IN SOA localhost. root.localhost. ( 42 ; 3H ; 15M ; 1W ; 3600); IN NS 127.0.0.1 IN A 127.0.0.1 |
創(chuàng)建并編輯 localhost.rev 文件
# vi localhost.rev |
寫入以下內(nèi)容:
$TTL 3600 @ IN SOA localhost. root.localhost. ( 1; serial 3600; refresh every hour 900; retry every 15 minutes 3600000; expire 1000 hours 3600); minimun 1 hour IN NS localhost. 1 IN PTR localhost. |
下載一個named.root cd /usr/local/named, 這個是named的工作目錄
wget ftp://ftp.rs.internic.net/domain/named.root到/usr/local/named/下,
特別注意:bind的配置文檔是區(qū)分大小寫的。
下面就可以啟動bind來測試安裝是否成功了
# /usr/local/named/sbin/named –gc /usr/local/named/etc/named.conf & |
加 –gc 參數(shù),可以顯示出啟動日志,以便出錯排查。
如果運行結果***一行顯示
表明安裝并啟動成功。
測試rndc命令 /usr/local/named/sbin/rndc status,正確的話應該有狀態(tài)提示,我一般是直接編輯vim /root/.bashrc加進一個alias
rndc9='/usr/local/named/sbin/rndc' |
把named 添加到啟動項,隨操作系統(tǒng)一起啟動。
在***添加以下內(nèi)容
/usr/local/named/sbin/named –gc /usr/local/named/etc/named.conf & |
退出保存。
可以嘗試重啟服務器,然后用命令nslookup及dig測試,或用pa axu | grep named,結束此服務用命令killall named,主從DNS也簡單,適合更改下也可搞定這里可參照我其它文章,不多重復,全部安裝結束,就可以開展應用的配置和測試了,撫琴煮酒為了保證正確率花了很多時間在真實服務器上,轉載麻煩注明下,謝謝。