2022年8月、ホームページを全面リニューアルしました! 情報を分かりやすくお伝えできるサイト作りを目指してまいります。

BINDによるDNSサーバ!

rpmでBINDがインストールされているのが前提。したがって、インストールは省略する。ここでは、ローカルアドレスによるBIND8によるDNSの設定解説をする。

お断り:
BINDでのDNS構築を説明しているWebサイトは非常に多いので、ここでは実際の構築と言うより、コンフィグレーションファイルの記述の意味を中心に説明を行う。尚、BIND9に関する設定は ここ を参照してほしい。

ここで登場するドメイン名は、フィクションである。

● ドメインが2つ混在していて、ネットワークアドレスが192.168.255.0(255.255.255.0)の場合

ドメイン1:xxxx.co.jp
ドメイン2:ahodana.co.jp
ネームサーバ:sub2.xxxx.co.jp→IPアドレス:192.168.255.103(ローカルアドレス)
セカンダリネームサーバ:mitysvr.ahodana.co.jp→IPアドレス:192.168.255.1(ローカルアドレス)


1.named.confの設定
以下に、/etc/named.confの記述例を示す。

options {
      directory “/var/named”;
};

zone “.” {
      type hint;
      file “named.ca”;
};

// localhost zone file

zone “localhost”{
      type master;
      file “named.local”;
};

// localhost revarse file

zone “0.0.127.in-addr.arpa”{
      type master;
      file “named.local.rev”;
};

// domain xxxx.co.jp zone file

zone “xxxx.co.jp”{
      type master;
      file “xxxx.co.jp.zone”;
};

// domain ahodana.co.jp zone file

zone “ahodana.co.jp”{
      type master;
      file “ahodana.co.jp.zone”;
};

// domain revarse file

zone “255.168.192.in-addr.arpa”{
      type master;
      file “named.rev”;
};

 図1

① options
DNSサーバの全体のオプションを、{ }の中に記述する。この中には色々なオプションを記述できるが、図1の場合では、directoryオプションしかない。

② directory
DNSに関するデータファイルの置き場所を指定している。ここでは、/var/named directoryの中に各種ファイルを配置するように指定している。

③ zone
DNSでは、ゾーン(zone)と言う単位で情報の管理を行う。管理するドメインごとに、このzoneという識別子に続いて、ドメイン名を ” で囲って記述する。
尚、「.」 というゾーンや0.0.127.inaddr.arpaと言うゾーンは、DNSが動作する上で必要な記述である。おまじないだと思ってこの通りに設定する。

④ type
このゾーンについて、DNSサーバがプライマリサーバとして動作するか、セカンダリサーバとして動作するかを指定する。プライマリ/セカンダリサーバというのは、実はゾーン単位に設定する事が出来る。
プライマリサーバであれば、master、セカンダリであればslaveと記述する。尚、ゾーンは必ずhintになる。これも、おまじないだと思ってほしい。

⑤ file
このゾーンの設定ファイル(ゾーンファイルと呼ぶ)の場所を指定します。実際には、directoryで指定されたディレクトリ以下にファイルが置かれる。例えば、図1ではxxxx.co.jp.zoneは/var/namedに置かれる。


2.named.ca,named.local(ループバック正引きファイル)ファイルの設定
以下に、named.localファイルを示す。

; File Name “named.local” by xxxx.co.jp

@       IN        SOA        sub2.xxxx.co.jp.   root.sub2.xxxx.co.jp.( 

                  2000122102 ; serial
                  3600 ; refresh
                  3600 ; retry
                  3600000 ; expire
                  36000 ; default_ttl
                  )

; Name Server

         IN        NS         sub2.xxxx.co.jp.         ←最後の「 . 」を必ず入れること!

loclhoat.   IN        A          127.0.0.1

図2

まず、内容は登場しないがnamed.caファイルについては、  サイト  から最新のファイルをダウンロードする。変更が有るので最新のファイルを使用することが望ましい。ダウンロードしたファイルをそのまま使用して訂正する個所はない。
named.localは、ローカルホストの設定で図2のように作る。ほとんど手を加えるところはないので簡単である。


3.named.local.rev(ループバック逆引きファイル)ファイルの設定

; File Name “named.local.rev” by xxxx.co.jp

@        IN        SOA        sub2.xxxx.co.jp.        root.sub2.xxxx.co.jp. (

                  2000122102 ; serial
                  3600 ; refresh
                  3600 ; retry
                  3600000 ; expire
                  36000 ; default_ttl
                  )

; Name Server

         IN        NS         sub2.xxxx.co.jp.

1         IN        PTR         localhost.

図3

図3は、ループバック正引きの反対の設定ファイルである。このファイルは省略できるが正当な設定を説明したいため、あえてファイルに加えてある。PTR等は、後に出てくる正引き・逆引きファイルで説明する。


4.xxxx.co.jp.zone(正引きファイル)ファイルの設定
ここからが、本書のポイントである。以下に、xxxx.co.jp.zoneファイルを示す。

; File Name “xxxx.co.jp.zone” by xxxx.co.jp

@        IN        SOA        sub2.xxxx.co.jp.     root.sub2.xxxx.co.jp. 

                  2000122102 ; serial
                  3600 ; refresh
                  3600 ; retry
                  3600000 ; expire
                  36000 ; default_ttl
                  )

; Name Server & Mail Server

         IN        NS                sub2.xxxx.co.jp.
         IN        NS                mitysvr.ahodana.co.jp.

         IN        MX     10         sub2.xxxx.co.jp.

; Server PC

sub2      IN        A                 192.168.255.103
main2     IN        A                 192.168.255.110

; CLIENT PC

main      IN        A                 192.168.255.100
sub       IN        A                 192.168.255.101
note      IN        A                 192.168.255.10

; alias CNAME

www      IN        CNAME             sub2
www2     IN        CNAME             main2
ftp       IN        CNAME             main2
telnet     IN        CNAME             main2
mail      IN        CNAME             sub2
smtp      IN        CNAME             sub2
pop       IN        CNAME             sub2
proxy     IN        CNAME             sub2

図4

① SOAレコード
ファイルの先頭に記述され,このDNSサーバが保証するドメイン情報を記入する。SOAレコードの記述は一つのファイルに一つだけ記述が可能である。

zone-name : 図3では@で、これは“ここ”意味する記述であり、xxxx.co.jpのドメイン名を表す。

sub2.xxxx.co.jp. : DNSサーバ名。最後にピリオドを付加する。

root.sub2.xxxx.co.jp. : このドメインの管理者のメールアドレス、@を「.」に置き換えて記述する。最後にピリオドを付加する。

Serial : 連番の意味。普通は作成年月日・番号とする。この数字が変化しない場合には、セカンダリサーバがプライマリサーバは変更されていないものと認識するので注意が必要。

Refresh : セカンダリサーバが保持するゾーンデータの更新時間。頻繁に変更が有るドメインでは短めに設定する。秒単位。

RetryCount : セカンダリサーバがゾーンデータの更新に失敗した後で再度リフレッシュ作業にはいるまでの時間を記述する。秒単位。

Expire : ゾーンに対する権限を失うまでの時間。秒単位。

Defaul tt_ttl : デフォルトのTTL時間。資源レコードをキャッシュする場合の保持時間。秒単位。

② A(Address:アドレス)
ドメイン内のアドレス資源を記述する。ドメイン内のマシンのうち公開する物のみ列挙して記入する。

③ NS(Name Server:ネームサーバ)
ドメインが参照可能なネームサーバアドレスを記述する。通常は、プライマリ、セカンダリのDNSサーバを指定する。

④ MX(MAil Exchanger:メールエクスチェンジャ)
ドメイン内のメールサーバを指定する。さらに、受信メールサーバの重みづけを指定することが出来る。

⑤ CNAME(Canonical Name)
1つのマシンに複数の機能を持たせる場合などに別名を指定する。例えば、ドメインネームサーバとWebサーバを1台のマシンで実行するときなどに指定する。Webサーバはでメインネームサーバの別名でも良いのですが、ドメインネームサーバをWebサーバの別名にするという使い方は避けるべきである。


5.ahodana.co.jp.zoneファイルの設定(正引きファイル)
以下に、ファイルの内容を示す。
基本的に、ドメインの違いだけで記述内容は、xxxx.co.jp.zoneファイルの内容と同じである。
尚、くれぐれもピリオドを入れるのを忘れないこと。

; File Name “ahodana.co.jp.zone” by xxxx.co.jp

@       IN       SOA        sub2.xxxx.co.jp.       root.sub2.xxxx.co.jp. (

                2000122102 ; serial
                3600 ; refresh
                3600 ; retry
                3600000 ; expire
                36000 ; default_ttl
                )

; Name Server & Mail Server

        IN       NS         sub2.xxxx.co.jp.
         IN       NS         mitysvr.ahodana.co.jp.

         IN       MX    10   sub2.xxxx.co.jp.

; Server PC

mitysvr    IN       A          192.168.255.1
mity-comp  IN       A          192.168.255.105

; CNAME

file      IN       CNAME       mitysvr
mity      IN       CNAME       mity-comp
dns      IN       CNAME       mitysvr

5


6.named.revファイルの設定(逆引きファイル)
以下に、ファイルの内容を示す。

; File Name “named.rev” by xxxx.co.jp

@        IN       SOA        sub2.xxxx.co.jp.     root.sub2.xxxx.co.jp. (

                 2000122102 ; serial
                 3600 ; refresh
                 3600 ; retry
                 3600000 ; expire
                 36000 ; default_ttl
                 )

; Subnet

         IN       A          255.255.255.0

; Name Server

         IN       NS         sub2.xxxx.co.jp.
          IN       NS         mitysvr.ahodana.co.jp.

; Server Group

103       IN       PTR        sub2.xxxx.co.jp.
1         IN       PTR        mitysvr.ahodana.co.jp.
110       IN       PTR        main2.xxxx.co.jp.

; Client Group

10        IN       PTR        note.xxxx.co.jp.
100       IN       PTR        main.xxxx.co.jp.
105       IN       PTR        mity-comp.ahodana.co.jp.
101       IN       PTR        sub.xxxx.co.jp.

6

① $ORIGIN
文字列変数で、図5では255.168.192.in-addr.arpa.文字列を保存している。
nslookupコマンドを実行して、逆引きを検索する場合、“***.255.168.192.in-addr.arpa”が出力される。

② PTR(PointTeR)
逆引き用のポインタ記述を行う。今までの通常のネームアドレスの記述とは異なり、単語ごとに逆順に記述する。


7.resolv.confの設定
リゾルバでは、DNSを利用するときのドメインネームサーバを記述する。以下に、ファイル内容を示す。

search       xxxx.co.jp ahodana.co.jp ←これはドメインが複数指定の場合、ドメインが一つの場合は、domain ******* の記述をすると良い。
nameserver    192.168.255.103       ←プライマリ
nameserver    192.168.255.1
         ←セカンダリ

  7


8.セカンダリネームサーバの作成
セカンダリネームサーバ作成は超簡単である。まず、caching-name-serverのRPMをインストールしてnamed.confの最後に以下の記述をするだけである。内容は、プライマリネームサーバから自動的にキャッシングされるため何も編集する必要はない。fileサブステートメントで指定されているファイルの中身を見るとマスターサーバがどのような設定をしてるか解るはずである。

zone “xxxx.co.jp”{
     type slave;
     file “xxxx.co.jp.zone.bak”;
      masters{
           192.168.255.103;
      };
};

zone “ahodana.co.jp”{
      type slave;
      file “ahodana.co.jp.zone.bak”;
      masters{
           192.168.255.103;
     };
};

zone “255.168.192.in-addr.arpa”{
      type slave;
      file “named.rev.bak”;
      masters{
           192.168.255.103;
      };
};

以上

コメント