0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

LinuC 202「BINDの設定と管理」を見てBIND9の権威DNSを構築してみた (1)

Last updated at Posted at 2020-08-15

「2.08.1 BINDの設定と管理」の出題内容については以下をご参照ください。
Version 10.0になって少々内容が変更されているようです。

LinuCレベル2 202試験(Version 10.0)出題範囲 | LPI-Japan
https://linuc.org/linuc2/range/202.html

LinuC レベル 1、レベル 2 の出題範囲改定について
https://linuc.org/docs/linuc_ver10.pdf

この記事のアジェンダ

  • 権威DNS用にnamed.confをカスタマイズする方法について
  • rndc, named-checkconfの使い方を紹介

権威DNS用にnamed.confをカスタマイズする方法

BIND9を権威DNSサーバとして使うためには、/etc/named.confとゾーンファイルの設定をする。
/etc/named.confはいくつかのステータスメントがあるため、それぞれ設定する。

以下、詳細です。

  • controlsステートメント
    • namedをrndcコマンドで操作する許可ホストを指定
    • ひとまずローカルホストだけ許可
/etc/named.conf
controls {
        inet 127.0.0.1 allow { localhost; };
};
  • optionsステートメント
    • グローバル設定を指定する
    • マスターDNSとスレーブDNSで必要な設定が若干違う点に注意する
  • マスターDNSの場合
/etc/named.conf
options {
        listen-on port 53 { 127.0.0.1;
                            <ローカルホストのIP>; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        #allow-query     { localhost; };
        allow-query     { any; };
        allow-transfer  { <スレーブのIP>; };
        allow-update { none; };
        notify yes;

        #recursion yes;
        recursion no;

        ~
        ~
};

<ポイントとなる設定>

  • listen-on: LISTEN IPを指定

  • allow-query: DNSクエリ受付け元を全許可

  • allow-transfer: ゾーン転送を許可するホスト

  • notify: マスターDNSのゾーンが更新された時にスレーブDNSに通知

  • recursion: 再起クエリの禁止

  • スレーブDNSの場合

/etc/named.conf
options {
        listen-on port 53 { 127.0.0.1;
                            <ローカルホストのIP>; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        #allow-query     { localhost; };
        allow-query     { any; };

        #recursion yes;
        recursion no;

        ~
        ~
};
  • loggingステートメント
/etc/named.conf
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
  • zoneステートメント
    • ゾーン名、ゾーンタイプ、ゾーンファイルパスを指定する
    • ここもマスターDNSとスレーブDNSで設定が違う
  • マスターDNSの場合
/etc/named.conf
zone "example.com" IN {
        type master;
        file "example.com.db";
};
  • スレーブDNSの場合
/etc/named.conf
zone "example.com" IN {
        type slave;
        masters { <マスターのIP>; };
        file "slaves/example.com.db";
};

rndc, named-checkconfの使い方

  • rndc
    • 用途: BIND管理ユーティリティ

<オプション>
reload: 設定ファイルとゾーンを再読み込み

# rndc reload
server reload successful
  • named-checkconf
    • 用途: 設定ファイルのテスト

<オプション>
-z: named.confと全てのゾーンファイルをテスト

# named-checkconf -z
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?