Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

33.10. 外部 DNS 使用時の DNS レコードのシステムの更新

外部 DNS を使用する場合、Identity Management は、トポロジーの変更後に DNS レコードを自動的に更新しません。以下の手順では、外部 DNS サービスシステムが管理している DNS レコードを更新する方法を説明します。これにより、手動の DNS 更新が不要になります。
手順および例については、以下を参照してください。

33.10.1. Identity Management での外部 DNS の更新

DNS レコードを更新すると、古い DNS レコードまたは無効な DNS レコードが削除され、新しいレコードが追加されます。
トポロジーで変更が合った場合は、DNS レコードを更新する必要があります。たとえば、以下のような場合です。
  • レプリカのインストールまたはアンインストール
  • Identity Management サーバーに CA、DNS、KRA、または Active Directory 信頼をインストールする

33.10.2. GUI: 外部 DNS レコードの更新

  1. 更新する必要のあるレコードを表示します。ipa dns-update-system-records --dry-run コマンドを使用します。
    $ ipa dns-update-system-records --dry-run
     IPA DNS records:
       _kerberos-master._tcp.example.com. 86400 IN SRV 0 100 88 ipa.example.com.
       _kerberos-master._udp.example.com. 86400 IN SRV 0 100 88 ipa.example.com.
    [... output truncated ...]
  2. 外部 DNS GUI を使用してレコードを更新します。

33.10.3. コマンドライン:nsupdateを使用した外部 DNS レコードの更新

本セクションでは、nsupdate ユーティリティーを使用して外部 DNS レコードを手動で更新する方法を説明します。スクリプトで本セクションのコマンドを使用して、プロセスを自動化することもできます。

nsupdateの DNS レコードを使用したファイルの生成

  1. --out オプションを指定して ipa dns-update-system-records --dry-run コマンドを使用します。このオプションは、生成するファイルのパスを指定します。
    $ ipa dns-update-system-records --dry-run --out dns_records_file.nsupdate
     IPA DNS records:
       _kerberos-master._tcp.example.com. 86400 IN SRV 0 100 88 ipa.example.com.
       _kerberos-master._udp.example.com. 86400 IN SRV 0 100 88 ipa.example.com.
    [... output truncated ...]
    生成されたファイルには、nsupdate ユーティリティーで許可される形式に必要な DNS レコードが含まれます。
  2. 生成されたレコードは以下に依存します。
    • レコードが更新されるゾーンの自動検出
    • ゾーンの権威サーバーの自動検出
    補助の DNS 設定を使用している場合や、ゾーン委譲がない場合、nsupdate は正しいゾーンおよびサーバーを見つけることができない可能性があります。この場合は、生成されたファイルの最初に以下のオプションを追加します。
    • server -nsupdate がレコードを送信する権威 DNS サーバーのサーバー名またはポートを指定します。
    • zone は、nsupdate がレコードを配置するゾーンのゾーン名を指定します。
    例:
    $ cat dns_records_file.nsupdate
    zone example.com.
    server 192.0.2.1
    ; IPA DNS records
    update delete _kerberos-master._tcp.example.com. SRV
    update add _kerberos-master._tcp.example.com. 86400 IN SRV 0 100 88 ipa.example.com.
    [... output truncated ...]

Name Server への動的 DNS 更新リクエストの送信

nsupdate を使用してリクエストを送信する場合は、これを適切に保護してください。以下のメカニズムを使用して要求をセキュアにできます。
トランザクション署名(TSIG)プロトコル
TSIG を使用すると、共有キーでnsupdate を使用できます。手順33.1「TSIG を使用したnsupdate 要求のセキュリティー保護の送信」
TSIG の GSS アルゴリズム(GSS-TSIG)
GSS-TSIG は GSS-API インターフェースを使用してシークレット TSIG キーを取得します。GSS-TSIG は TSIG プロトコルの拡張です。を参照してください。 手順33.2「GSS-TSIG を使用したnsupdate 要求のセキュリティー保護の送信」

手順33.1 TSIG を使用したnsupdate 要求のセキュリティー保護の送信

  1. これらの前提条件を満たしていることを確認してください。
    • DNS サーバーが TSIG 用に設定されている必要があります。以下のサーバー設定例を参照してください: BIND、PowerDNS
    • DNS サーバーとそのクライアントの両方に共有鍵が必要です。
  2. Runnsupdate は、以下のオプションのいずれかを使用して共有シークレットを提供します。
    • -k: TSIG 認証キーを指定します。
      $ nsupdate -k tsig_key.file dns_records_file.nsupdate
    • -y: キーの名前と、Base64 でエンコードされた共有シークレットから署名を生成します。
      $ nsupdate -y algorithm:keyname:secret dns_records_file.nsupdate

手順33.2 GSS-TSIG を使用したnsupdate 要求のセキュリティー保護の送信

  1. これらの前提条件を満たしていることを確認してください。
    • DNS サーバーが GSS-TSIG 用に設定されている必要があります。BIND、PowerDNS、Windows DNS のサーバー設定例を参照してください。
    注記
    この手順では、Kerberos V5 プロトコルが GSS-API のテクノロジーとして使用されることを前提としています。
  2. DNS 更新リクエストを送信するには、レコードの更新を許可されたプリンシパルで認証し、-g オプションを指定してnsupdate を実行し、GSS-TSIG モードを有効にします。
    $ kinit principal_allowed_to_update_records@REALM
    $ nsupdate -g dns_records_file.nsupdate

関連情報

  • nsupdate(8) の man ページ
  • RFC 2845 では、TSIG プロトコルが説明されています。
  • RFC 3645 では GSS-TSIG アルゴリズムが説明されています。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。