2011年8月24日 星期三

使用 Stub Zone 建置企業私有 DNS 系統

在 DNS 系統中, Stub zone 算是 Iterative 查詢的捷徑, 因 DNS Server 就不需找尋新網域, 老是從 Root Server , 去詢問負責下一層網域的 DNS Server. 這樣的運作架構, 非常適合企業內部使用, 因企業內部使用的網域名稱, 往往不是網際網路(internet)上正式的網域名稱, 如企業中的 DNS Server  去網際網路(internet)查詢肯定式找不到資訊, 這時便可使用 Stub zone, 告知企業內部所有 DNS Server, 如何找到企業內自定的網域.

1. 設定頂層私有網域 DNS Server
在此部 DNS Server 網域資料庫檔 (kvm.db) 的最後, 需加入子網域 DNS Server 的 NS 記錄

$ cat /usr/local/etc/bind/kvm.db   
$TTL 86400
@       IN SOA NS100.kvm. admin.NS100.kvm. (
     1      ; Serial number
     43200           ; Refresh timer - 12 hours
     3600            ; Retry timer - 1 hour
     7200            ; Expire timer - 2 hour
     86400           ; Minimum timer - 1 day
)
@ IN      NS      NS100.kvm.
NS100.kvm. IN A 192.168.100.5

it66.kvm. IN NS NS660.it66.kvm.
NS660.it66.kvm. IN A 192.168.66.5

it88.kvm. IN NS NS88.it88.kvm.
NS88.it88.kvm. IN A 192.168.88.5


2. 在子網域 DNS Server 產生 kvm 的 Stub Zone

首先在子網域 DNS Server 的主要設定檔, 加入 kvm 的 Stub Zone 資訊, 如下 :

$ nano  /usr/local/etc/bind/named.conf
                                       :
zone "kvm." {
   type stub;
   masters { 192.168.100.5; };
   file "/usr/local/etc/bind/kvm.stub";
};

在上述設定中, 指定從 kvm 的 DNS Server 取得的資料, 必須存入 /usr/local/etc/bind/kvm.stub 這檔案中, 因 Tiny Core 並沒有此檔, 所以必須自行產生, 命令如下 :

$ touch /usr/local/etc/bind/kvm.stub

3. 測試

$ nslookup
> set type=soa
> kvm.
Server:         192.168.88.5
Address:        192.168.88.5#53

Non-authoritative answer:
kvm
        origin = NS100.kvm
        mail addr = admin.NS100.kvm
        serial = 1
        refresh = 43200
        retry = 3600
        expire = 7200
        minimum = 86400

Authoritative answers can be found from:
kvm     nameserver = NS100.kvm.
NS100.kvm       internet address = 192.168.100.5
> exit

沒有留言:

張貼留言