BINDの各設定ファイルについて

BINDの各設定ファイルについて

BINDの各設定ファイルについて

主なファイル

named.conf (BINDの動作に関する基本の設定ファイル)

BINDに関する総合的な内容を記述するファイルです。アクセス情報や、ゾーンファイルの格納先などを定義します。

ゾーンファイル系①:正引きファイル

名前解決(ドメイン名 ⇒ IPアドレスへの変換)に関するゾーンの設定ファイルです。(※当資料では「abc-domain.local」)

ゾーンファイル系①:逆引きファイル

逆引き(IP アドレスからドメインへの変換)に関するゾーンの設定ファイルです。(※当資料では 「0.168.192.in-addr.arpa.rev」)

※ ゾーン:各DNSの委任された範囲を表すものです。ドメインとIPアドレスの対応表、委任先のDNSサーバの情報などを管理します。

正引きと逆引きのイメージ図

各ファイルの関係図

named.confについて

内容

BINDに関する総合的な内容を記述するファイルです。
アクセス情報や、ゾーンファイルの格納先などを定義します。

格納先のファイル名

/etc/named.conf

「/etc/named.conf」の設定例

acl network {
        192.168.0.0/24;
};
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { none; };
        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";
        secroots-file   "/var/named/data/named.secroots";
        recursing-file  "/var/named/data/named.recursing";
        allow-query     { localhost; network; };
zone "abc-domain.local" IN {
        type master;
        file "abc-domain.local";
        allow-update { none; };
};
zone "0.168.192.in-addr.arpa" IN {
        type master;
        file "0.168.192.in-addr.arpa.rev";
        allow-update { none; };
};

主な設定内容(ステートメント)

acl

アクセス(不)許可にしたいIPアドレス群やネットワークに
名前を付けるための項目です。

この項目を設定することでIPアドレスを指定することなく、
複数のIPアドレスをまとめて名前で指定できるようになります。

options

ゾーンファイルの格納先など、基本的な内容を設定する項目です。

zone

ゾーンの定義(ゾーンファイル名など)を行うための項目です。

aclステートメント

書式
acl リストの名前{
	アクセス(不)許可するネットワークのIPアドレス
}
設定例
acl network {
	192.168.0.0/24;
};

上記の設定例では「network」と指定することで、「192.168.0.0/24」のネットワークを指定できるようになります。

optionsステートメント

listen-on port 53

DNSサービスへのアクセス可能なIPアドレスを制御するための項目です。

53番はDNSサービス用のポート番号になります。

directory

ゾーンファイルの格納ディレクトリのパス

設定例
options {
	listen-on port 53 { any; };
	listen-on-v6 port 53 { none; };

		~省略~~

	directory       "/var/named";


	allow-query     { localhost; network; };
};

optionsステートメント

allow-query

名前解決の問い合わせを受け付けるホストを指定するための項目です。

IPアドレスまたは、aclステートメントで指定したリスト名などを指定します。

また各設定内容と意味については以下の通りです。

  • 特定のIPアドレス
  • aclステートメントで指定したリスト名(例:network)
  • any:すべてのアドレス
  • none:すべてのアドレスからの受付を拒否します。
  • Localhost:ファイルの所有者である自分自身

zoneステートメント①:正引きゾーン

正引き(名前解決:ドメイン名 ⇒ IPアドレスへの変換)に関するファイルの指定先などを指定します。

書式
zone “ゾーンのドメイン名" IN {
	type ゾーンのタイプ;
	file “ゾーンデータが記載されたファイル名";
	allow-update { ゾーンデータの上書きを(不)許可の指定; };
};@
ゾーンのドメイン名

名前解決したいドメイン名(abc-domain.local)を記載します。

設定例
zone "abc-domain.local" IN {
        type master;
        file "abc-domain.local";
        allow-update { none; };
};
type

プライマリーサーバ(master)、セカンダリサーバ(slave)の立ち位置を明記するためのものです。

当資料では詳細な説明は割愛するため、masterで統一します。

  • 設定内容: hint、masterまたはslave
file

正引きゾーンに関する内容が記載された正引きファイル名を指定します。

allow-update

ゾーンデータの上書きの(不)許可について設定する項目です。
各設定内容は以下の通りです。

  • 特定のIPアドレス
  • aclステートメントで指定したリスト名(例:network)
  • any:すべてのアドレス
  • none:すべてのアドレスからの受付を拒否します。
  • Localhost:ファイルの所有者である自分自身
file

zoneステートメント②:逆引きゾーン

逆引き(IPアドレス⇒ドメイン名 への変換)に関するファイルの指定先などを指定します。

ゾーンのドメイン名:×.×.×.in-addr.arpa

名前解決したい「対象のIPアドレスのネットワークアドレスを
反転させたもの」を組み合わせたものを使用します。

※ 例:DNSサーバのIPアドレスが「192.168.0.1/24」の場合

ネットワーク部が「192.168.0」になるため、反転させ
「0.168.192.in-addr.arpa 」となります。

file

逆引きゾーンに関する内容が記載されたファイル名を記載します。

設定例
zone "0.168.192.in-addr.arpa" IN {
        type master;
        file "0.168.192.in-addr.arpa.rev";
        allow-update { none; };
};
file

ゾーンファイルについて

内容

ゾーン(※)を定義するテキストファイル

※ ゾーン:各DNSの委任された範囲を表すものです。ドメインとIPアドレスの対応表、委任先のDNSサーバの情報などを管理します。

格納フォルダ

/var/named/

ファイル内容

  • 正引きファイル:名前解決(ドメイン名 ⇒ IPアドレスへの変換)に関する設定ファイルです。(※当資料では「abc-domain.local」)
  • 逆引きファイル:逆引き(IP アドレスからドメインへの変換)に関する設定ファイルです。
    (※当資料では 「0.168.192.in-addr.arpa.rev」)

ファイル名について

「named.conf」の「zoneステートメント」のfileで指定したファイル名と統一させてください。

ゾーンファイルについて①:正引きファイル

主な設定内容(ステートメント)

データ(キャッシュ)の有効時間: $TTL~

DNSキャッシュサーバなどにデータを保存する時間を設定します。

リソースレコード
「 /var/named/abc-domain.local 」の設定例
$TTL 86400
@ IN SOA CentOS01.abc-domain.local. root.abc-domain.local. (
	2022012401 ; serial
	3600       ; refresh 1hr
	1800       ; retry 15min
	604800     ; expire 1w
	86400      ; min 24hr
)

	IN NS CentOS01.abc-domain.local.
	IN MX 10 mail.abc-domain.local. 

mail IN A 192.168.0.4
CentOS01 IN A 192.168.0.4
PC01 IN A 192.168.0.2

SOA レコード:IN SOA ~

内容

ゾーン管理の基本設定を行うためのものです。

書式
@ IN SOA ネーム(DNS)サーバのアドレス. ドメインの管理者のメールアドレス.(
	シリアルナンバー ⇐ ゾーンデータベースのバージョン番号
	リフレッシュ間隔 ⇐ ゾーンデータがリフレッシュされる間隔
	再試行間隔       ⇐ リフレッシュ失敗時に再試行するまでの間隔
	情報破棄時間     ⇐ ゾーンデータベースの内容を破棄するまでの上限時間
	情報有効時間     ⇐ TTL(キャッシュの有効時間)の最小時間
)
記載例
@ IN SOA CentOS01.abc-domain.local. root.abc-domain.local. (
	2022012401 ; serial
	3600       ; refresh 1hr
	1800       ; retry 15min
	604800     ; expire 1w
	86400      ; min 24hr
)

Aレコード

内容

ホスト名やドメイン名に対応するIPv4アドレス(名前解決の情報)を指定します。

書式

ホスト名 IN A IPv4アドレス

※「ホスト名.ドメイン名」にアクセスした場合、指定のIPv4アドレスに変換されます。

記載例

CentOS01 IN A 192.168.0.4

NSレコード

内容

委任(※次ページで解説)先のネームサーバ(DNSサーバ)のサーバ名を指定するためのものです。

一般的にドメインを管理するDNSサーバは、
複数のDNSサーバに名前解決の処理を分散させるために、右図のようにツリー状の階層構造になっています。

この階層構造を実現するために委任(つまりはNSレコード)が使われます。

次の階層(下位)のDNSサーバを委任先(次の階層のDNSサーバ)としてNSレコードで指定することで、
この階層構造を実現することができます。

※委任とは

管理対象のゾーン(ドメイン名のツリー構造における一部の構成単位)の一部を、分割し、他の管理者(DNS/ネームサーバ)に任せることです。

また各DNS(ネーム)サーバは、自身のゾーンにおけるドメインに関する正当な情報として以下のものを保持し、

管轄外のゾーンの情報を参照するために、委任することになります。

【保持する情報】

  • そのゾーンにおけるドメインとIPアドレスの対応表
  • 委任先のネームサーバの情報
書式
  • IN NS ネームサーバのアドレス(委任先DNSサーバのホスト名.ドメイン)
  • 委任先DNSサーバのホスト名 IN A 委任先DNSサーバのIPアドレス

※ 委任先のDNSサーバのアドレスのAレコードを併せて記載します。当アドレスにアクセスがあった際にIPアドレスに名前解決させるためです。

記載例:「example.com」の正引きファイル
  • IN NS www.example.com.
  • www IN A 192.168.0.100

※ これまで「abc-domain.local」を使用しましたが、次ページにおける階層構造を元にした図の説明を混同させないためにあえて「 example.com 」の正引きファイルを例に説明しますが、後のファイルの設定には関係ありません。

MXレコード

内容

対象のドメインのメールアドレスに対してメールを送った際に、対応するメールサーバにメールが届くように、

メールサーバのホスト(アドレス)を指定します。

書式
IN MX 10 メールサーバのホスト名.ドメイン名
メールサーバのホスト名 IN A メールサーバのIPアドレス

※ 指定のメールサーバのアドレスのAレコードを併せて記載します。当アドレスにアクセスがあった際にIPアドレスに名前解決させるためです。

記載例
IN MX 10 mail.abc-domain.local.
mail IN A 192.168.0.4

ゾーンファイルについて②:逆引きファイル

主な設定内容(ステートメント)

※正引きファイルと重複する部分は割愛します。

PTRレコード

IPアドレスへのアクセスに対してドメイン、ホスト名に変換(逆引き)するためのものです。

「 /var/named/ 0.168.192.in-addr.arpa.rev 」の設定例
$TTL 86400
@ IN SOA CentOS01.abc-domain.local. root.abc-domain.local. (
	2022012401 ; serial
	3600       ; refresh 1hr
	1800       ; retry 15min
	604800     ; expire 1w
	86400      ; min 24hr
)

  IN NS CentOS01.abc-domain.local.
4 IN PTR CentOS01.abc-domain.local.
2 IN PTR PC01.abc-domain.local.

PTRレコード

書式
IPアドレスのホスト部 IN PTR ホスト名.ドメイン名
記載内容
4 IN PTR CentOS01.abc-domain.local.
2 IN PTR PC01.abc-domain.local.

NEXT>> 演習