前回 に続いて、今回はゾーンファイルの設定です。 以下のシナリオでの設定例です。
ゾーンファイルの設定今回の設定例では、ゾーンファイルは /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のロギング機能 |
<< 前記事(2015/07/21) | ブログのトップへ | 後記事(2015/07/26) >> |
タイトル (本文) | ブログ名/日時 |
---|
内 容 | ニックネーム/日時 |
---|
<< 前記事(2015/07/21) | ブログのトップへ | 後記事(2015/07/26) >> |