パソコン鳥のブログ

アクセスカウンタ

zoom RSS DNSサーバ BINDの設定(2)

<<   作成日時 : 2015/07/22 19:25   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

前回 に続いて、今回はゾーンファイルの設定です。

以下のシナリオでの設定例です。

  • DNSはプライマリDNSサーバのみ立て、セカンダリは立てません。

  • DNSサーバが管理するドメインは、test.example.com とします。

  • 管理するホストはネットワークアドレス 10.0.2.0/24 上の、次のものとします。

    • DNSサーバ(今回設定するサーバ)
       IPアドレス:10.0.2.15、FQDN:ns.test.example.com

    • mailサーバ
       IPアドレス10.0.2.10、FQDN:mail.test.example.com

    • その他
       IPアドレス:10.0.2.16、FQDN:pc1.test.example.com
       IPアドレス:10.0.2.17、FQDN:pc2.test.example.com




ゾーンファイルの設定


今回の設定例では、ゾーンファイルは /var/named/chroot/var/named/ 下に置きます。

正引きゾーンファイルの設定


ドメイン名に対する(IPv4の)IPアドレスを求めることを正引きと言います。
その設定の記述です。

/var/named/chroot/var/named/test.example.com.zone

$TTL 86400
@ IN SOA ns root (
2015061903 ; Serial
10800 ; Refresh
3600 ; Retry
3600000 ; Default TTL
86400 ) ; Expire

@ IN NS ns
ns IN A 10.0.2.15
@ IN MX 10 mail
mail IN A 10.0.2.10
pc1 IN A 10.0.2.16
pc2 IN A 10.0.2.17


$TTL 86400
このファイルの以降で記述される各レコードの生存期間を秒単位で指定します。
この時間が経過するまでは、DNS問い合わせに対する応答で、キャッシュされた各レコードの情報が使用されます。
つまり、ファイルの設定変更後、TTL時間が経過するまでは、変更が反映されない可能性があります。

@ IN SOA ns root
次の順番で記述します。
ゾーン名 IN SOA プライマリーDNSサーバ ゾーンの責任者のメールアドレス
ゾーン名に @ を記述すると、ゾーン名を示します。
ここでは、named.conf の「zone "test.example.com"」の記述により、test.example.com となります。

プライマリーDNSサーバは自分自身を指定しておきます。
ここでは ns と指定されていますが、後ほど説明します。

ゾーンの責任者のメールアドレスは、今回の例ではDNSサーバの root です。



2015061913 ; Serial
10800 ; Refresh
3600 ; Retry
3600000 ; Default TTL
86400 ) ; Expire


Serial
符号なし32bit値(0〜4294967295)で指定します。
このファイルの内容を変更する度に、この値を増やします。
BINDはこの値が増えた際に、設定を反映させます。値が減少するように記述した場合は、反映されないので注意して下さい。
慣例的に、年月日と連番を YYYYMMDDnn のように指定します。

Refresh , Retry , Default TTL , Expire
これらは、セカンダリネームサーバで使用される情報です。
今回の例では、セカンダリネームサーバを立てないので、値については特に説明しません。


@ IN NS ns
ns IN A 10.0.2.15

NS で NSレコード(DNSサーバ名を示すレコード)であることを示します。
@ はゾーン名を示し、今回の例では test.example.com です。
test.example.comドメインのDNSサーバは ns であることを示しています。
ns は2行目により 10.0.2.15 のホストであることが示され、これは自分自身になります。
(先述のシナリオで、DNSサーバ(自分)は 10.0.2.15 としています)

@ IN MX 10 mail
MX で MXレコード(メールサーバを示すレコード)であることを示します。
ドメインのメールサーバを指定します。
ドメイン名 IN MX 優先度 メールサーバ名 の順で記述します。
ドメイン名の箇所の @ はゾーン名を示し、今回の例では test.example.com です。
今回の例では、ドメイン(メールアドレスの@より右側)が test.example.com のメールサーバは、ホスト mail であることを示しています。
なお、後述しますが、以降の行で、ホスト mail のIPアドレスを記述しています。
(先述のシナリオで、メールサーバは 10.0.2.10 としています)

10 の部分は優先度です。10刻みで指定し、少ないほど優先度が高くなります。
メールサーバが複数ある場合は、複数 MXレコードを記述できます。
クライアントからメールサーバの問い合わせがされた場合は、優先度の高いメールサーバの情報を回答します。
但し、メールサーバのレスポンスが無い場合は、次に優先度が高いメールサーバの情報が回答されます。


mail IN A 10.0.2.10
pc1 IN A 10.0.2.16
pc2 IN A 10.0.2.17

A で Aレコード(ホスト名に対する(IPv4の)IPアドレスを示すレコード)であることを示します。
ホスト名とIPアドレスを記述します。

今回の設定例では、ゾーン test.example.com なので、ここで記述したホストのドメイン名は、ホスト名.test.example.com になります。



逆引きゾーンファイルの設定


(IPv4の)IPアドレスからドメイン名を求めることを逆引きと言います。
その設定の記述です。

/var/named/chroot/var/named/test.example.com.rev

$TTL 86400
@ IN SOA ns root (
2015061903 ; Serial
10800 ; Refresh
3600 ; Retry
3600000 ; Default TTL
86400 ) ; Expire

@ IN NS ns.test.example.com.
10 IN PTR mail.test.example.com.
15 IN PTR ns.test.example.com.
16 IN PTR pc1.test.example.com.
17 IN PTR pc2.test.example.com.


$TTL 86400
このファイルの以降で記述される各レコードの生存期間を秒単位で指定します。
この時間が経過するまでは、DNS問い合わせに対する応答で、キャッシュされた各レコードの情報が使用されます。
つまり、ファイルの設定変更後、TTL時間が経過するまでは、変更が反映されない可能性があります。

@ IN SOA ns root
次の順番で記述します。
ゾーン名 IN SOA プライマリーDNSサーバ ゾーンの責任者のメールアドレス
ゾーン名に @ を記述すると、ゾーン名を示します。
ここでは、named.conf の「zone "2.0.10.in-addr.arpa"」の記述により、2.0.10.in-addr.arpa となります。

プライマリーDNSサーバは自分自身を指定しておきます。
ここでは ns と指定されていますが、後ほど説明します。

ゾーンの責任者のメールアドレスは、今回の例ではDNSサーバの root です。


2015106193 ; Serial
10800 ; Refresh
3600 ; Retry
3600000 ; Default TTL
86400 ) ; Expire


Serial
符号なし32bit値(0〜4294967295)で指定します。
このファイルの内容を変更する度に、この値を増やします。
BINDはこの値が増えた際に、設定を反映させます。値が減少するように記述した場合は、反映されないので注意して下さい。
慣例的に、年月日と連番を YYYYMMDDnn のように指定します。

Refresh , Retry , Default TTL , Expire
これらは、セカンダリネームサーバで使用される情報です。
今回の例では、セカンダリネームサーバを立てないので、値については特に説明しません。


@ IN NS ns.test.example.com.

NS で NSレコード(DNSサーバ名を示すレコード)であることを示します。
@ はゾーン名を示し、今回の例では 2.0.10.in-addr.arpa です。
2.0.10.in-addr.arpa ゾーンのDNSサーバは ns.test.example.com. であることを示しています。
FQDNで示す場合は、このように末尾に.(ドット)を付加します。
末尾の .(ドット)が無いと、ゾーン名が補完され、ns.test.example.com.2.0.10.in-addr.arpa のようにされてしまいます。
なお、後述しますが、以降の行で、ns は 10.0.2.15 のホストであることが示され、これは自分自身になります。
(先述のシナリオで、DNSサーバ(自分)は 10.0.2.15 としています)



10 IN PTR mail.test.example.com.
15 IN PTR ns.test.example.com.
16 IN PTR pc1.test.example.com.
17 IN PTR pc2.test.example.com.

PTR で PTRレコード((IPv4の)IPアドレスに対するホスト名を示すレコード)であることを示します。
IPアドレスとホスト名を記述します。
ここでは 2.0.10.in-addr.arpa ゾーンの設定なので、IPアドレスは 10.0.2.X の Xに該当する値(第4オクテット)のみを記述します。
またホスト名はFQDNで示し、このように末尾に.(ドット)を付加します。
末尾に .(ドット)が無いと、ゾーン名が補完され、pc1.test.example.com.2.0.10.in-addr.arpa のようにされてしまいます。

今回の設定例では、ゾーン 2.0.10.in-addr.arpa なので、ここで記述したホストのIPアドレスは 10.0.2.X になります。



BIND の起動


まず起動前に設定ファイルのチェックを行います。
下記で紹介した「bind」の箇所に従ってチェックします。

各種サーバの設定ファイルの書式チェックの方法 パソコン鳥のブログ/ウェブリブログ

次のコマンドでチェックします。


named-checkconf -t /var/named/chroot /etc/named.conf

何も出力がなければOKです。


named-checkzone test.example.com /var/named/chroot/var/named/test.example.com.zone

出力の最後に「OK」が出ることを確認します。


named-checkzone 2.0.10.in-addr.arpa /var/named/chroot/var/named/test.example.com.rev

出力の最後に「OK」が出ることを確認します。


チェック後、BIND を起動します。


CentOS6
/etc/init.d/named restart

CentOS7
systemctl restart named-chroot


エラーになった場合は、SELinux が無効になっていないかも知れません。
前回の「インストール」の箇所を参照して下さい。


これでDNSサーバとして稼働開始です。



参考


DNSサーバー構築(BIND) - CentOSで自宅サーバー構築
What's the difference between allow-query-cache and allow-recursion? | Internet Systems Consortium Knowledge Base
実用 BIND 9で作るDNSサーバ(2):すべての基礎、マスター・ゾーンサーバの設定 (1/3) - @IT
実用 BIND 9で作るDNSサーバ(13):次世代のセキュリティ拡張DNSSECをBIND 9で実現 (3/3) - @IT
省略形ゾーンファイル : お父さんのためのDNS講座
強いBIND DNSサーバを構築する 第五回 SOAレコードとゾーン転送 | ユーロテック情報システム販売株式会社
Chapter 6. BIND 9 Configuration Reference
BIND 9 Manual Pages (DNS, BIND Nameserver, DHCP, LDAP and Directory Services)
インターネット10分講座:DNSキャッシュ - JPNIC
RFC1315
BINDのロギング機能

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
DNSサーバ BINDの設定(2) パソコン鳥のブログ/BIGLOBEウェブリブログ
文字サイズ:       閉じる