33.10. 外部 DNS の使用時の DNS レコードのシステム的な更新
外部 DNS を使用する場合には、Identity Management は、トポロジーの変更後に DNS レコードを自動的に更新しません。以下の手順では、外部 DNS サービスが管理する DNS レコードを体系的に更新する方法を説明します。これにより、手動の DNS 更新が必要なくなります。
基本的な概要は、「Identity Management で外部 DNS の更新」 を参照してください。
手順および例は、以下を参照してください。
- GUI を使用して外部 DNS レコードを管理する場合は 「GUI: 外部 DNS レコードの更新」
nsupdate
ユーティリティーを使用して外部 DNS レコードを管理する場合: 「コマンドライン:nsupdate
を使用した外部 DNS レコードの更新」
33.10.1. Identity Management で外部 DNS の更新
DNS レコードを更新すると、古い DNS レコードまたは無効な DNS レコードが削除され、新しいレコードが追加されます。
トポロジーの変更後に、DNS レコードを更新する必要があります。以下に例を示します。
- レプリカのインストールまたはアンインストール後
- Identity Management サーバーに CA、DNS、KRA、または Active Directory の信頼をインストールした後
33.10.2. GUI: 外部 DNS レコードの更新
- 更新が必要なレコードを表示します。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 ...]
- 外部 DNS GUI を使用して、レコードを更新します。
33.10.3. コマンドライン: nsupdate
を使用した外部 DNS レコードの更新
本セクションでは、
nsupdate
ユーティリティーを使用して外部 DNS レコードを手動で更新する方法を説明します。スクリプトでこのセクションのコマンドを使用して、プロセスを自動化することもできます。
nsupdate
の DNS レコードでファイルの生成
--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 レコードが含まれます。- 生成されるレコードは、以下に依存します。
- レコードを更新するゾーンの自動検出
- ゾーンの権威サーバーの自動検出
標準以外の 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 ...]
ネームサーバーへの動的 DNS 更新要求の送信
nsupdate
を使用して要求を送信する場合は、要求を適切にセキュリティー保護してください。以下のメカニズムを使用して、要求を保護できます。
- Transaction Signature (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
要求のセキュアな送信
- 以下の前提条件を満たしていることを確認します。
nsupdate
を実行し、以下のいずれかのオプションを使用して共有シークレットを指定します。-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
要求のセキュアな送信
- 以下の前提条件を満たしていることを確認します。注記この手順では、Kerberos V5 プロトコルが GSS-API のテクノロジーとして使用されていることを前提としています。
- DNS 更新要求を送信し、レコードを更新できるプリンシパルで認証し、
-g
オプションでnsupdate
を実行して GSS-TSIG モードを有効にします。$ kinit principal_allowed_to_update_records@REALM $ nsupdate -g dns_records_file.nsupdate