rndc(remote name daemon control)の設定。
大抵はこのままで、やることはカギの入れ替えくらい。
controls { inet 127.0.0.1 allow { localhost; } keys { rndckey; }; }; include "/etc/rndc.key"; ↓ key "rndckey" { algorithm hmac-md5; secret "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; }
Globalな設定。コンテンツサーバ用。
DNSSECは未対応。
options { // 以下のオプションを使う時は気をつけましょう。 // ソースポートランダム化が無効になり攻撃を受けやすくなります。 // query-source port 53; // query-source-v6 port 53; version "Unknown"; directory "/var/named"; // the default files 4096; // pid-file "/var/run/named/named.pid"; dump-file "data/cache_dump.db"; statistics-file "data/named_stats.txt"; memstatistics-file "data/named_mem_stats.txt"; // ゾーン転送を許可するアドレス(主にセカンダリDNS allow-transfer { 127.0.0.0/8; xxx.xxx.xxx.xxx; yyy.yyy.yyy.yyy; }; // 再起問い合わせなし recursion no; // DNS NOTIFYを一旦止める(zone内で個別許可する) notify no; };
ログ設定。
チャンネル(ログの流し先)を定義して、カテゴリ(ログ種別)をチャンネルに割り当てる。
種類が色々あるが、ひとまず以下で。
logging { // Debugログ出力先(チャンネル名は定義済み) channel "default_debug" { // default_debugはdebugレベル1以上のログが対象 file "data/named.run" versions 4 size 10m; // レベル変更に対応するため、dynamic指定 severity dynamic; print-time yes; print-severity yes; print-category yes; }; // 一般ログ出力先(チャンネル名は任意) channel "log_default" { file "/var/log/named/named.log" versions 4 size 10m; severity info; print-time yes; print-category yes; }; // クエリログ出力先(チャンネル名は任意) channel "query" { file "/var/named/data/query.log" versions 4 size 10m; }; category queries { "query"; }; // カテゴリqueriesのログをqueryチャンネルに流す category default { "log_default"; }; // カテゴリdefaultのログをlog_defaultチャンネルに流す };
ゾーン設定。
ゾーン定義ファイル指定やゾーンごとのアクセス制御など。
逆引きが必要なら逆引きも設定。
プロバイダが逆引きサービス提供しているならそちらを利用。
// rootの定義 zone "." IN { type hint; file "named.ca"; }; // ローカルホストの正引き定義 zone "localhost" { type master; file "localhost.zone"; allow-update { none; }; }; // ローカルホストの逆引き定義 zone "0.0.127.in-addr.arpa" { type master; file "named.local"; allow-update { none; }; }; // 各ドメインの正引き定義 zone "example.jp" IN { type master; file "example.zone"; allow-update { none; }; notify yes; };