Show Table of Contents
32.6. DNS 転送の管理
DNS 転送は、DNS クエリーの返答方法に影響を与えます。デフォルトでは、IdM と統合されている BIND サービスは、権威 DNS サーバーおよび再帰 DNS サーバーの両方として機能するように設定されます。
IdM サーバーが権威サーバーとなっている DNS ゾーンに属する名前のクエリーを DNS クライアントが行うと、BIND は設定済みゾーンに含まれているデータで応答します。権威データは常に他のデータよりも優先されます。
IdM サーバーが権威を持っていない名前のクエリーを DNS クライアントが行うと、BIND は他の DNS サーバーを使ってこのクエリーを解決しようとします。フォワーダーが定義されていない場合は、BIND はインターネット上の root サーバーに質問し、再帰解決アルゴリズムを使用して DNS クエリーに答えます。
以下のような場合には、BIND が他の DNS サーバーに直接連絡してインターネット上で利用可能なデータを元に再帰を実行することは望ましくありません。
- DNS サーバーが異なるクライアントに異なる応答をする Split DNS 設定または DNS views 設定となっている場合。Split DNS 設定は、いくつかの DNS 名が企業ネットワーク内では利用可能になっているものの、外部からは利用できないという環境でよく使われています。
- インターネット上の DNS へのアクセスをファイアウォールが制限している設定。
- DNS レベルでのフィルタリングやロギングが集中化されている設定。
- ローカル DNS キャッシュへの転送でネットワークトラフィックの最適化を図っている設定。
これらの設定では、BIND は公開インターネット上で完全な再帰を使用しません。代わりに、フォワーダー と呼ばれる別の DNS サーバーを使用してクエリーを解決します。BIND がフォワーダーを使用するように設定されている場合、クエリーと応答は IdM サーバーとフォワーダー間で行き来し、IdM サーバーが権威のないデータの DNS キャッシュとして機能します。
転送ポリシー
IdM は first および only の標準 BIND 転送ポリシーのほかに、IdM 固有の none 転送ポリシーをサポートしています。
- Forward first (デフォルト)
- DNS クエリーは設定済みフォワーダーに転送されます。サーバーエラーやタイムアウトでクエリーが失敗すると、BIND はインターネット上のサーバーを使用する再帰解決にフォールバックします。forward first はデフォルトのポリシーで、トラフィックを最適化します。
- Forward only
- DNS クエリーは設定済みフォワーダーに転送されます。サーバーエラーやタイムアウトでクエリーが失敗すると、BIND はクライアントにエラーを返します。forward only ポリシーは、split DNS 環境で推奨されます。
- None: 転送の無効化
- DNS クエリーは転送されません。転送の無効化は、グローバルの転送設定でゾーン固有の上書きとしてのみ、役に立ちます。このオプションは、BIND 設定でフォワーダーの空のリストを指定する IdM と同等のものです。
転送は IdM と他の DNS サーバーからのデータを結合しない
転送では IdM 内のデータと他の DNS サーバーからのデータは結合できません。BIND サービスは、IdM サーバーの権限があるゾーンにクエリーされた DNS 名が属している場合は、クエリーを別のサーバーに転送しません。このため、IdM が管理するゾーンに存在しない名前をクライアントがクエリーすると、転送は使用されません。
例32.9 シナリオ例
IdM サーバーは
test.example. DNS ゾーンに対して権威があります。BIND は、192.0.2.254 IP アドレスの DNS サーバーにクエリーを転送するように設定されています。
クライアントが
nonexistent.test.example. DNS 名 のクエリーを送信すると、BIND は IdM サーバーが test.example. ゾーンに対して権威があることを検出し、192.0.2.254. サーバーにクエリーを転送しません。このため、DNS クライアントは NXDomain の応答を受信し、クエリーされたドメインが存在しないことをユーザーに知らせます。
32.6.1. グローバルフォワーダーの設定
グローバルフォワーダー は 「DNS 転送の管理」 にあるように、IdM サーバーの権威がない全 DNS クエリーの解決に使用される DNS サーバーです。
管理者は、以下の 2 つの方法でグローバル転送の IP アドレスと転送ポリシーを設定することができます。
- IdM Web UI での
ipa dnsconfig-modコマンドの使用 - これらのネイティブ IdM ツールを使用した設定は、全 IdM DNS サーバーに即座に適用されます。「DNS 設定の優先順位」 の説明にあるように、グローバル DNS の設定は、
/etc/named.confファイルで定義されたローカル設定よりも優先度が高くなります。 /etc/named.confファイルの編集- 各 IdM DNS 上の
/etc/named.confを手動で編集すると、サーバーごとに異なるグローバルフォワーダーとポリシーを使用できるようになります。/etc/named.confの変更後に BIND サービスを再起動する必要があることに注意してください。
Web UI でのフォワーダーの設定
IdM Web UI で DNS グローバル設定を定義するには、以下の手順に従います。
- Network Services タブをクリックして DNS サブタブを開き、DNS Global Configuration セクションを選択します。
- 新規のグローバルフォワーダーを追加するには、 をクリックして IP アドレスを入力します。新規の転送ポリシーを定義するには、利用可能なポリシー一覧から選択します。

図32.28 Web UI でのグローバル DNS 設定の編集
- をクリックして新規設定を保存します。
コマンドラインからのフォワーダー設定
コマンドラインからフォワーダーのグローバルリストを設定するには、
ipa dnsconfig-mod コマンドを使用します。これは、LDAP データを編集することで DNS グローバル設定を編集します。ipa dnsconfig-mod コマンドおよびそのオプションは、即座に全 IdM DNS サーバーに反映され、ローカル設定を上書きします。
グローバルフォワーダーのリストを編集するには、以下のように
ipa dnsconfig-mod を使います。
[user@server ~]$ ipa dnsconfig-mod --forwarder=192.0.2.254 Global forwarders: 192.0.2.254
32.6.2. 正引きゾーンの設定
正引きゾーンには権威 データが含まれず、特定のゾーンに属する名前へのクエリーを指定されたフォワーダーに転送するようにネームサーバーに指示します。
重要
正引きゾーンは、絶対に必要な場合以外は使用しないでください。これは、グローバル転送の設定の上書きに限定してください。ほとんどの場合は、「グローバルフォワーダーの設定」 にあるように、グローバル転送の設定のみで十分 で、正引きゾーンは必要ありません。
正引きゾーンは非標準の解決法で、これを使用すると予想外かつ問題のある動作につながる恐れがあります。新規 DNS ゾーン作成の際には、Red Hat では NS レコードを使用した標準 DNS 委任を常に使用し、正引きゾーンの使用は回避することを推奨しています。
サポートされる転送ポリシーについての情報は、「転送ポリシー」 を参照してください。
BIND サービスについての詳細情報は、『Red Hat Enterprise Linux ネットワークガイド』、
/usr/share/doc/bind-version_number/ ディレクトリーにある BIND 9 Administrator Reference Manual、または外部ソース [5]。
Web UI での正引きゾーンの設定
Web UI で正引きゾーンを管理するには、Network Services タブから DNS サブタブを開き、DNS Forward Zones セクションを選択します。

図32.29 DNS 正引きゾーンの管理
DNS 正引きゾーン のセクションでは、管理者は以下の正引きゾーンに関する全操作を処理できます。正引きゾーンの現行一覧の表示、新規正引きゾーンの追加、正引きゾーンの削除、正引きゾーンの表示、正引きゾーンのフォワーダーおよび転送ポリシーの修正、正引きゾーンの有効化および無効化。
コマンドラインからの正引きゾーンの設定
コマンドラインから正引きゾーンを管理するには、以下のように
ipa dnsforwardzone-* コマンドを使用します。
注記
ipa dnsforwardzone-* コマンドは、マスターゾーンの管理に使用する ipa dnszone-* コマンドと同様の動作をします。
ipa dnsforwardzone-* コマンドは、--forwarder、--forward-policy、および --name-from-ip などのオプションを受け付けます。利用可能なオプションについての詳細情報は、表32.1「ゾーン属性」 を参照するか、以下のようにコマンドに --help オプションを追加して実行してください。
ipa dnsforwardzone-add --help
- 正引きゾーンの追加
dnsforwardzone-addコマンドを使って新規の正引きゾーンを追加します。転送ポリシーがnoneに設定されている場合を除いて、少なくとも 1 つのフォワーダーを指定する必要があります。[user@server ~]$ ipa dnsforwardzone-add zone.test. --forwarder=172.16.0.1 --forwarder=172.16.0.2 --forward-policy=first Zone name: zone.test. Zone forwarders: 172.16.0.1, 172.16.0.2 Forward policy: first
- 正引きゾーンの修正
dnsforwardzone-modコマンドを使って正引きゾーンを修正します。転送ポリシーがnoneに設定されている場合を除いて、少なくとも 1 つのフォワーダーを指定する必要があります。修正は以下のいずれかの方法で実行できます。[user@server ~]$ ipa dnsforwardzone-mod zone.test. --forwarder=172.16.0.3 Zone name: zone.test. Zone forwarders: 172.16.0.3 Forward policy: first
[user@server ~]$ ipa dnsforwardzone-mod zone.test. --forward-policy=only Zone name: zone.test. Zone forwarders: 172.16.0.3 Forward policy: only
- 正引きゾーンの表示
dnsforwardzone-showコマンドを使用して指定した正引きゾーンの情報を表示します。[user@server ~]$ ipa dnsforwardzone-show zone.test. Zone name: zone.test. Zone forwarders: 172.16.0.5 Forward policy: first
- 正引きゾーンの検索
dnsforwardzone-findコマンドを使用して指定した正引きゾーンを検索します。[user@server ~]$ ipa dnsforwardzone-find zone.test. Zone name: zone.test. Zone forwarders: 172.16.0.3 Forward policy: first ---------------------------- Number of entries returned 1 ----------------------------
- 正引きゾーンの削除
dnsforwardzone-delコマンドを使用して指定した正引きゾーンを削除します。[user@server ~]$ ipa dnsforwardzone-del zone.test. ---------------------------- Deleted forward DNS zone "zone.test." ----------------------------
- 正引きゾーンの有効化および無効化
dnsforwardzone-enableとdnsforwardzone-disableのコマンドを使用して正引きゾーンを有効化および無効化します。正引きゾーンはデフォルトでは有効化されています。[user@server ~]$ ipa dnsforwardzone-enable zone.test. ---------------------------- Enabled forward DNS zone "zone.test." ----------------------------
[user@server ~]$ ipa dnsforwardzone-disable zone.test. ---------------------------- Disabled forward DNS zone "zone.test." ----------------------------
- パーミッションの追加および削除
dnsforwardzone-add-permissionとdnsforwardzone-remove-permissionのコマンドを使用してシステムのパーミッションを追加または削除します。[user@server ~]$ ipa dnsforwardzone-add-permission zone.test. --------------------------------------------------------- Added system permission "Manage DNS zone zone.test." --------------------------------------------------------- Manage DNS zone zone.test.
[user@server ~]$ ipa dnsforwardzone-remove-permission zone.test. --------------------------------------------------------- Removed system permission "Manage DNS zone zone.test." --------------------------------------------------------- Manage DNS zone zone.test.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.