Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15132181
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: BSD

2008-11-04 09:39:56

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 執行.
   於下,安裝時必須勾選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

# 請依照個人需求安裝..
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 連結 就會看到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 管理者參考手冊


OReilly 的 and 5the edition 及 DNS & BIND Cookbook

阅读(515) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~