LinuCレベル2 202試験の例題と解説
主題2.08ドメインネームサーバー
2.08.1BINDの設定と管理
LinuCレベル2 202試験の出題範囲から「2.08.1 BINDの設定と管理」についての例題を解いてみます。
このテーマは、DNSサーバであるBINDの設定と管理方法に関する内容が含まれます。権威サーバー・再帰サーバーなど役割によって設定を使い分け、構築できるようしっかりと理解しておきましょう。
例題
BINDをキャッシュ専用DNSサーバーとして機能させるために、設定ファイルnamed.confにおいて必須となる設定の組み合わせとして最も適切なものを一つ選択してください。
- optionsディレクティブでrecursion no;を設定し、ローカルネットワークのゾーンにtype master;を設定する。
- zoneディレクティブでルートヒントゾーン(zone ".")を定義し、optionsディレクティブで再帰検索(recursion yes;)を有効にする。
- optionsディレクティブでallow-transfer { none; };を設定し、すべてのzoneディレクティブを削除する。
- optionsディレクティブでforward only;を設定し、特定のフォワーダ(上位DNSサーバー)のアドレスをforwardersディレクティブに指定する。
解答と解説
正解は、「2. zoneディレクティブでルートヒントゾーン(zone ".")を定義し、optionsディレクティブで再帰検索(recursion yes;)を有効にする。」です。
キャッシュ専用サーバーはフルサービスリゾルバとも呼ばれ、クライアントからの名前解決要求を受け付け、再帰的にインターネット上のDNSサーバーを問い合わせて解決を行います。この機能を実現するために、optionsディレクティブで"recursion yes;"(再帰検索の許可)が必須となります(多くのディストリビューションではデフォルトでyesですが、明示的に確認・設定することが重要です)。
再帰検索の開始点として、サーバーはルートDNSサーバーのアドレスを知っている必要があります。これはルートヒントゾーン(zone ".")として設定ファイルに定義されます。この定義がないと、外部の名前解決を行うことができません。
type master;は権威DNSサーバーとして動作させるための設定となります。recursion no;は再帰検索を禁止する設定であり、クライアントの代わりに外部の名前解決(キャッシュの利用)を行うキャッシュ専用サーバーの機能と矛盾します。
allow-transfer { none; };はゾーン転送を禁止する設定で、主に権威DNSサーバーのセキュリティに関する設定です。キャッシュ専用サーバーの動作の必須要件ではありません。すべてのzoneディレクティブを削除すると、ルートヒントゾーン(zone ".")がなくなり、外部の名前解決ができなくなります(キャッシュもできません)。
forward only;やforwardersの設定は、BINDをフォワーディング・サーバーとして設定する場合のものです。この設定を行うと、BINDは自ら再帰検索を行わず、指定されたフォワーダにのみクエリを転送します。
上記のようにBINDをどのような役割で機能させるかによって、設定すべき内容が変わってきます。
なお、BINDの設定(named.conf)については、以下で詳細を確認出来ます。
https://linux.die.net/man/5/named.conf
例題作成者
鯨井 貴博 (LinuCエヴァンジェリスト/登録インストラクター、LPI-Japanアカデミック認定校 ゼウスITトレーニングセンター)