BIND8 升級 BIND9 紀錄

藍色泡泡 15 七月, 2008 16:48 常見伺服服務 靜態連結網址 引用 (0) 預覽列印
BIND8 升級 BIND9 紀錄

由於bind8不再維護了,也越來越多威脅產生,故作一紀錄.

BIND8 vs BIND9 主要差異:
A. 對named.conf嚴格以待
    只要named.conf 中,有任何有語法或是邏輯錯誤的領域 ,BIND9將拒絕載入且執行named.
    BIND8則相對寬容.
    以下例來說: 缺乏 master 資料, BIND8只會報怨一下仍然可以執行.
zone "test.example" {
 type slave;
 file "zone/test.example";
};

B.各領域設定中的TTL (time to live)變數將不可被省略.

C.預設的zone transfer 採用 many-answers , 而非 one-answer .

D.BIND9使用rndc 而非 ndc 程式 , rndc 相關設定如下:
  建立 /usr/local/etc/rndc.conf , 預設會有一個 rndc.conf.sample 檔案可供參考.
  並且新增 keycontrols 參數進入您的 named.conf 檔案.
options {
        default-server localhost;
        default-key "rndc-key";
};

key "rndc-key" {
        algorithm hmac-md5;
        secret "jZhJ6D0KwJapRhr4Ln6RYQ==";
};
而 named.conf 中的controls及 key相關設定則如下所示:
controls {
        inet * allow { any; } keys { "rndc-key"; };
};

key "rndc-key" {
        algorithm hmac-md5;
        secret "jZhJ6D0KwJapRhr4Ln6RYQ==";
};
上述設定告訴 named 聆聽所有本地端的網路介面(*)接收到的控制訊息
並且允許他們只要擁有 rndc-key 就可以從任何ip送出控制. rndc-key相關資料同 rndc.conf

E. BIND9是多程緒執行的, 也就是說用 ps ax指令會看到很多個 named 執行.
   於FreeBSD下,安裝時必須勾選THREAD參數,才有THREAD功能.

F. BIND9不再檢查領域名稱, 也就是說可以使用任何字元,
    但是需要注意的是並非所有解析端都可以讀取.

若仍使用 ndc 指令可能會出現如下錯誤:
ndc: error: ctl_client: evConnect(fd 3): No such file or directory
ndc: error: cannot connect to command channel (/var/run/ndc)

安裝:
cd /usr/ports/dns/bind95
make install

bind config
 # 請依照個人需求安裝..
make clean 
安裝過程可能會出現的警告: 例如說 openssl版本過舊啦..


安裝過程的最後 的通知訊息 , 告知若在 chroot 環境啟動bind9的注意事項.
並提醒 rndc 的相關設定.


安裝的最後 由於我有勾選 REPLACE_BASE 選項 ,所以程式替換了原有的系統檔案.
若沒有選擇此項,則會安裝在 /usr/local/


設定:
rndc設定: 在 /etc/namedb/ 若沒有勾選 REPLASE_BASE 則在 /usr/local/etc/

新增 rndc.conf 內容 如 BIND9與BIND8差異D 所示 , 以及 rndc.key 內容.
需要特別注意的是 rndc.conf 和 named.conf 內容關於密碼部份需要相同
key "rndc-key" {
        algorithm hmac-md5;
        secret "jZhJ6D0KwJapRhr4Ln6RYQ==";
};
補充: 您可以透過下列指令取得rndc相關資料.
rndc-confgen
其餘領域設定與bind8大同小異,不加以說明,請參考本站舊站.

補充幾個特殊的named.conf參數 , 若安裝時有加上 XML 參數編譯 .
statistics-channels {
       inet 123.234.345.456 port 3388 allow { 123.234.345.789 };
       };
上述設定為觀看BIND9的運行狀態, 其中 123.234.345.456 為您伺服器ip ,
3388為您自己選定的port, 而 123.234.345.789 則為您希望用哪台電腦(或範圍)觀看
觀看位址:
用 123.234.345.789 連結 http://123.234.345.789:3388/ 就會看到BIND9的運行狀態了.


 若有勾選 THREADS 選項 ,則可以在狀態欄位看到 Thread-Model 變為 threaded .



啟動:
/etc/rc.d/named start
當然了,  /etc/rc.conf 中的 named_enable="YES" 也是要加上的.

重新載入 named.conf
rndc reload
檢查設定檔是否正常:
named-checkconf
檢查領域設定檔是否正常:
named-checkzone 要檢查的領域  要檢查的領域設定檔
其中 named-checkconf 若正常就不會顯示任何訊息, 而 named-checkzone 則會顯示ok及序號.

建議參考書目:
BIND9 管理者參考手冊
http://www.isc.org/sw/bind/arm95/Bv9ARM-all.html

OReilly 的 DNS and BIND 5the edition 及 DNS & BIND Cookbook

泡泡: 這兩本書都好想買,其中BIND&DNS有買過第三版的,另外一本則沒有看過.
       最近比較窮,透支...Embarassed
 

迴響


發表迴響

發表迴響
 authimage

©2008 - Post by 藍色泡泡 (some rights reserved)