DNSサーバ設定メモ

Apr 2011


Debian  squeeze

 
家庭内LANのDNSサーバです。
ネットワークアドレスは192.168.1.0/255.255.255.0
ドメインネーム karappi.jp  (家庭内LANでのみ使うための勝ってにつけたもの)

クライアント 192.168.1.206      kogera.karappi.jp
                       192.168.1.10        koro.karappi.jp

上位DNS          192.168.1.1   (ここの設定で解決しないものは上位DNS
                                                へ飛ばす。ルータだけど。ルータ内のDNS
                                                で解決しないものはさらにプロバイダの
               DNSへ飛ばしているらしい。)


1 インストールするパッケージ


またはapt-get install コマンドで次のパッケージを入れます。
bind9    
bind9sutils

DNSのパッケージはsqueezeではbind9(Berkley Internet Name Domain Ver9.7.3)、デーモンはnamed です。

2 設定するファイル

設定するファイルは

/etc/bind/named.conf.options   上位DNSを記述する

/etc/bind/named.conf.local  ローカルな定義ファイルを示す

/etc/bind/karappi.jp                  ローカル(karappi.jpの)な名前解決ファイル
                                                名前をIPアドレスに変換する。

/etc/bind/karappi.jp.rev             ローカル(karappi.jpの)な逆引きファイル
                                                IPアドレスを名前に変換する。


(1)/etc/bind/named.conf.options
options {
        directory "/var/cache/bind";

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

        // forwarders {
        //      0.0.0.0;
        // };
        forwarders {
                192.168.1.1;       <ーーーーーー  上位DNSのアドレス
        };

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

  


(2)/etc/bind/named.conf.local  

 
//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "karappi.jp" {
        type master;
        file "/etc/bind/karappi.jp";    <ーーーー名前解決(正引き)ファイル
};
zone "1.168.192.in-addr.arpa" {
        type master;
        file "/etc/bind/karappi.jp.rev";  <ーーーー逆引きファイル
};


(3)/etc/bind/named.conf.local

$TTL 86400
karappi.jp. IN SOA kogera.karappi.jp. root.kogera.karappi.jp. (
                        1               ; Serial
                        3600            ; Refresh 1 hour
                        3600            ; Retray 1 hour
                        360000          ; Expire 100 hours
                        86400 )         ; Minimum 24 hours
;
 IN NS kogera.karappi.jp.
;
;hosts
;
kogera  IN      A       192.168.1.206
koro  IN      A       192.168.1.10

;
;alias
;
;dns  IN      CNAME    kogera
;www    IN      CNAME    kogera
;ftp     IN      CNAME    kogera


     
     補足
        IN    フィールドの区切り
        SOA  DNSサーバのドメイン名と管理者のメールアドレスを示す。
             ドメイン名やアドレスの最後に . を付けること
        Serial テーブルのシリアルナンバー
              テーブルを更新したらこのシリアルナンバーを増やす。
             もしそのままにしておくとセカンダリのDNSに伝わらない。
        Refresh  DNSがセカンダリの場合、この間隔(秒)で更新する。
        Retry    セカンダリのDNSサーバがプライマリのDNSに接続失敗
               したときのリトライ時間(秒)。
        Expire  セカンダリDNSがプライマリDNSに接続できなかった場合
               のテーブルの有効期限を(秒)
        Negative Cache TTL:
                他のDNSサーバにキャッシュされる際の有効期間(秒)
        @   /etc/bind/named.conf のzoneで指定した文字列で置換される。
        NS  このDNSサーバを指定する。サーバ名の最後に . を付けること。
        A   INの左側に記述した ホスト名に対するIPアドレスの指定
        CNAME ホスト名の別名の定義
        MX  ホストに来たメールの転送の設定。数値は優先順位
             0を付けると必ず転送する。
(3)/etc/bind/named.conf.local

$TTL 86400
@ IN SOA kogera.karappi.jp. root.kogera.karappi.jp. (
                        1               ; Serial
                        3600            ; Refresh  hour
                        3600            ; Retray 1 hour
                        360000          ; Expire 100 hours
                        86400 )         ; Minimum 24 hours
 IN NS kogera.karappi.jp.
;
;pointer to hosts
;
10      IN      PTR    koro.karappi.jp.
206     IN      PTR     kogera.karappi.jp.


3 補足

(1) チェック
  設定ファイルはクライアント名の後ろにピリオド「.」が抜けているだけでも
 だめなので気をつける。
 
 設定ファイルのチェックはnamed-checkconfとnamed-checkzone
 named-checkconf を実効して何も出なければOK
  
 正引びきファイルは

    named-checkzone   ドメイン名 正引きファイル

 でチェックする。 

(2)  設定ファイルを変更したあと、それを反映させるには
   # /etc/init.d/bind9  reload

(3)クライアントの必須事項
    /etc/resolv.conf にDNSのIPアドレスを記述しておく。
    ただし、DHCP からもらっているときは自動的に書き変る。

   cat /etc/resolv.conf
 
    search karappi.jp
    nameserver 192.168.1.206



(4)動作確認
    nslookupを使うかhost コマンドを使用します。

   例
    host  IPアドレス
    または
    host  ホスト名


目次