33.5. 動的 DNS 更新の管理

33.5.1. ダイナミック DNS 更新の有効化

IdM の新規 DNS ゾーンにおける動的 DNS 更新は、デフォルトでは有効になっていません。動的更新が許可されていないと、ipa-client-install スクリプトは新規クライアントをポイントする DNS レコードを追加することができません。

注記

動的更新を有効にすると、セキュリティーリスクを引き起こす可能性がありますが、ご使用の環境で動的更新が受け入れ可能な場合は、これによりクライアントのインストールが容易になります。
動的更新を有効にするには、以下が必要になります。
  • DNS ゾーンで動的更新を許可する設定にする
  • ローカルクライアントが動的更新を送信するように設定する

33.5.1.1. DNS ゾーンで動的更新を許可する設定

Web UI での動的 DNS 更新の有効化

  1. Network Services タブから DNS サブタブを開き、DNS Zones セクションを選択します。
    DNS ゾーンの管理

    図33.16 DNS ゾーンの管理

  2. ゾーンの全一覧からゾーン名をクリックして DNS ゾーンページを開きます。
    マスターゾーンの編集

    図33.17 マスターゾーンの編集

  3. Settings をクリックして DNS ゾーン設定タブに切り替えます。
    マスターゾーン編集ページの Settings タブ

    図33.18 マスターゾーン編集ページの Settings タブ

  4. Dynamic update フィールドまでスクロールして、値を True に設定します。
    ダイナミック DNS 更新の有効化

    図33.19 ダイナミック DNS 更新の有効化

  5. ページ上部にある Save をクリックして新規設定を保存します。

コマンドラインからの動的 DNS 更新の有効化

コマンドラインから DNS ゾーンの動的更新を有効にするには、以下のように ipa dnszone-mod コマンドを --dynamic-update=TRUE オプションと使用します。
[user@server ~]$ ipa dnszone-mod server.example.com --dynamic-update=TRUE

33.5.1.2. クライアントが動的更新を送信する設定

ipa-client-install スクリプトで --enable-dns-updates オプションを使用すると、クライアントがドメインに登録される際に、クライアントが DNS 更新を送信するよう自動的に設定されます。
[root@client ~]# ipa-client-install --enable-dns-updates
DNS ゾーンでは、SOA 設定内におけるレコードの有効期間 (TTL) の値が設定されています。ただし、動的更新の TTL は、ローカルシステム上で System Security Service Daemon (SSSD) によって管理されます。動的更新の TTL 値を変更するには、SSSD ファイルを編集して値を設定します。デフォルト値は 1200 秒です。
  1. SSSD 設定ファイルを開きます。
    [root@server ~]# vim /etc/sssd/sssd.conf
  2. IdM ドメインのドメインセクションを見つけます。
    [domain/ipa.example.com]
  3. クライアントの動的更新が有効になっていない場合は、dyndns_update の値を true にします。
    dyndns_updates = true
  4. dyndns_ttl パラメーターの値を秒単位で追加または編集します。
    dyndns_ttl = 2400

33.5.2. A/AAAA と PTR レコードの同期

逆引きゾーンでは、A と AAAA レコードは、PTR レコードとは別に設定されています。これらのレコードは別個なため、A/AAAA レコードに対応する PTR レコードがなかったり、その逆の場合もあり得ます。
PTR 同期が機能するには、以下の DNS 設定が必要になります。
  • 正引きおよび逆引きゾーンの両方が IdM サーバーで管理されていること。
  • 両方のゾーンで動的更新が有効になっていること。
    動的更新の有効化については、「ダイナミック DNS 更新の有効化」 で説明されています。
  • PTR 同期は、マスター正引きと逆引きゾーンに対して有効化する必要があります。
  • PTR レコードは、要求しているクライアント名が PTR レコード内の名前と一致する場合にのみ、更新されます。

重要

IdM の Web UI やコマンドラインツールによる変更、または LDAP エントリーを直接編集して変更した場合、PTR レコードは更新されません。DNS サービス自体による変更の場合にのみ、PTR レコードは同期されます。

警告

クライアントシステムは、自身の IP アドレスを更新できます。つまり、危険にさらされたクライアントを使って IP アドレスを変更すると、PTR レコードの上書きが可能になります。

33.5.2.1. Web UI による PTR レコード同期の設定

PTR レコードの同期は、PTR レコードがある逆引き DNS ゾーンではなく、A または AAAA レコードが保存されているゾーンで設定する必要があることに注意してください。
  1. Network Services タブから DNS サブタブを開き、DNS Zones セクションを選択します。
    DNS ゾーンの管理

    図33.20 DNS ゾーンの管理

  2. ゾーンの全一覧からゾーン名をクリックして DNS ゾーンページを開きます。
    DNS ゾーンの編集

    図33.21 DNS ゾーンの編集

  3. Settings をクリックして DNS ゾーン設定タブに切り替えます。
    マスターゾーン編集ページの Settings タブ

    図33.22 マスターゾーン編集ページの Settings タブ

  4. Allow PTR sync チェックボックスを選択します。
    PTR 同期の有効化

    図33.23 PTR 同期の有効化

  5. ページ上部にある Save をクリックして新規設定を保存します。

33.5.2.2. コマンドラインを使用した PTR レコード同期の設定

PTR レコード同期は、コマンドラインを使用して、特定のゾーンまたはすべてのゾーンにグローバルに設定できます。
33.5.2.2.1. 特定のゾーンの PTR レコード同期の設定
例えば、idm.example.com 正引きゾーンのPTR レコード同期を設定するには:
  1. 正引きゾーンの動的更新を有効にします。
    # ipa dnszone-mod idm.example.com. --dynamic-update=TRUE
  2. 正引きゾーンの更新ポリシーを設定します。
    # ipa dnszone-mod idm.example.com. --update-policy='grant IDM.EXAMPLE.COM krb5-self * A; grant IDM.EXAMPLE.COM krb5-self * AAAA; grant IDM.EXAMPLE.COM krb5-self * SSHFP;'
  3. 正引きゾーンの PTR レコード同期を有効にします。
    # ipa dnszone-mod idm.example.com. --allow-sync-ptr=True
  4. 逆引きゾーンの動的更新を有効にします。
    # ipa dnszone-mod 2.0.192.in-addr.arpa. --dynamic-update=TRUE
33.5.2.2.2. すべてのゾーンの PTR レコード同期をグローバルに設定
IdM によって管理されているすべてのゾーンの PTR 同期を有効にするには、以下の手順のいずれかを使用します。
  • すべてのサーバー上のすべてのゾーンにPTR 同期を同時に有効にするには:
    # ipa dnsconfig-mod --allow-sync-ptr=true
  • サーバーごとに同期を有効化するには:
    1. /etc/named.conf ファイルの dyndb "ipa" "/usr/lib64/bind/ldap.so" セクションに sync_ptr yes; 設定を追加します。
      dyndb "ipa" "/usr/lib64/bind/ldap.so" {
         ...
         sync_ptr yes;
      };
    2. IdM を再起動します。
      # ipactl restart
    3. DNS サービスをインストールした IdM サーバーで手順を繰り返します。

33.5.3. DNS 動的更新ポリシーの更新

IdM サーバーが管理している DNS ドメインは、RFC 3007[4] に準拠した DNS の動的更新に対応します。
特定のクライアントがどのレコードを修正可能かを判定するルールは、/etc/named.conf ファイル内の update-policy ステートメントと同じ構文になります。動的更新ポリシーについての詳細は、BIND 9 documentation を参照してください。
DNS ゾーンにおける DNS の動的更新が無効になっていると、すべての DNS 更新は動的更新ポリシーステートメントを反映せずに拒否されることに注意してください。動的 DNS 更新についての詳細は、「ダイナミック DNS 更新の有効化」 を参照してください。

Web UI による DNS 更新ポリシーの更新

  1. Network Services タブから DNS サブタブを開き、DNS Zones セクションを選択します。
    DNS ゾーンの管理

    図33.24 DNS ゾーンの管理

  2. ゾーンの全一覧からゾーン名をクリックして DNS ゾーンページを開きます。
    DNS ゾーンの編集

    図33.25 DNS ゾーンの編集

  3. Settings をクリックして DNS ゾーン設定タブに切り替えます。
    マスターゾーン編集ページの Settings タブ

    図33.26 マスターゾーン編集ページの Settings タブ

  4. BIND update policy テキストボックス内のセミコロン区切りのリストで、必要な更新ポリシーを設定します。
    DNS 更新ポリシーの設定

    図33.27 DNS 更新ポリシーの設定

  5. DNS ゾーンページ上部にある Save をクリックして新規設定を保存します。

コマンドラインからの DNS 更新ポリシーの更新

コマンドラインから DNS 更新ポリシーを設定するには、--update-policy オプションを使用して、その後のステートメントにアクセス制御ルールを追加します。例を示します。
$ ipa dnszone-mod zone.example.com --update-policy "grant EXAMPLE.COM  krb5-self * A; grant EXAMPLE.COM krb5-self * AAAA; grant EXAMPLE.COM  krb5-self * SSHFP;"


[4] RFC 3007 の全内容については http://tools.ietf.org/html/rfc3007 を参照してください。