「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コマンドで操作する許可ホストを指定
- ひとまずローカルホストだけ許可
controls {
inet 127.0.0.1 allow { localhost; };
};
- optionsステートメント
- グローバル設定を指定する
- マスターDNSとスレーブDNSで必要な設定が若干違う点に注意する
- マスターDNSの場合
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の場合
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ステートメント
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
- zoneステートメント
- ゾーン名、ゾーンタイプ、ゾーンファイルパスを指定する
- ここもマスターDNSとスレーブDNSで設定が違う
- マスターDNSの場合
zone "example.com" IN {
type master;
file "example.com.db";
};
- スレーブDNSの場合
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