付録A Identity Management のトラブルシューティング
A.1. インストールの問題
A.1.1. サーバーのインストール
サーバーインストールログは、
/var/log/ipaserver-install.log
に存在します。サーバー用の IdM ログと、IdM 関連のサービスの両方が「IdM サーバーログの確認」で説明されています。
A.1.1.1. IPA コマンドの実行時に GSS 障害
インストール直後に、ipa-* コマンドを実行する際に Kerberos に問題が発生する可能性があります。たとえば、以下のようになります。
ipa: ERROR: Kerberos error: ('Unspecified GSS failure. Minor code may provide more information', 851968)/('Decrypt integrity check failed', -1765328353)
これには 2 つの原因があります。
- DNS が正しく設定されていません。
- Active Directory は、IdM サーバーと同じドメインにあります。
A.1.1.2. named デーモンの起動失敗
IdM サーバーが DNS を管理して正常に設定されているが、
named
サービスが起動できない場合は、パッケージの競合があることを示すことができます。named サービスおよび ldap.so
ライブラリーに関連するエラーメッセージが /var/log/messages
ファイルでないか確認します。
ipaserver named[6886]: failed to dynamically load driver 'ldap.so': libldap-2.4.so.2: cannot open shared object file: No such file or directory
これは通常、bind-chroot パッケージがインストールされ、
named
サービスが起動しないことを意味します。この問題を解決するには、bind-chroot パッケージを削除して、IdM サーバーを再起動します。
[root@server ~]# yum remove bind-chroot # ipactl restart
A.1.2. レプリカのインストール
A.1.2.1. 証明書システムのセットアップに失敗しました。
手順 3 でレプリカのインストールに失敗する ([3/11]: 証明書サーバーインスタンスの設定) 場合、通常は必要なポートが利用できないことを意味します。CA のデバッグログ
/var/log/pki-ca/debug
を確認して検証できます。これは、特定のエントリーが見つからないことを示すエラーメッセージを表示する可能性があります。たとえば、以下のようになります。
[04/Feb/2016:22:29:03][http-9445-Processor25]: DatabasePanel comparetAndWaitEntries ou=people,o=ipaca not found, let's wait
レプリカをアンインストールする唯一の解決方法は次のとおりです。
[root@ipareplica ~]# ipa-server-install --uninstall
レプリカをアンインストールしたら、レプリカでポート 7389 が利用可能であることを確認し、レプリカのインストールを再試行します。
A.1.2.2. レプリカの起動時に、389 Directory Server ログには SASL、GSS-API、および Kerberos エラーがあります。
レプリカが起動すると、389 Directory Server ログに一連の SASL バインドエラーが記録され、認証情報を見つけられないため、GSS-API 接続が失敗したと報告されます。
slapd_ldap_sasl_interactive_bind - Error: could not perform interactive bind for id [] mech [GSSAPI]: error -2 (Local error) (SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (Credentials cache file '/tmp/krb5cc_496' not found)) ...
レプリカは
/tmp/krb5cc_496
の認証情報キャッシュを探しており (496 は 389 Directory Server のユーザー ID)、これを見つけられません。
また、「サーバーがホストプリンシパルの Kerberos 認証情報を取得できなかった」というメッセージが表示される場合もあります。
set_krb5_creds - Could not get initial credentials for principal [ldap/ replica1.example.com] in keytab [WRFILE:/etc/dirsrv/ds.keytab]: -1765328324 (Generic error)
このエラーは、389 Directory Server インスタンスが Kerberos 認証情報キャッシュを読み込む方法とタイミングの両方に関連します。
389 Directory Server 自体は複数の異なる認証メカニズムをサポートしますが、Identity Management は Kerberos 接続に GSS-API のみを使用します。Identity Management の 389 Directory Server インスタンスは、Kerberos 認証情報キャッシュをメモリーに保持します。IdM レプリカが停止した場合など、389 Directory Server プロセスが終了すると、認証情報キャッシュが破棄されます。
また、389 Directory Server は KDC のプリンシパル情報のバックエンドストレージとして使用されます。
レプリカが再起動すると、KDC の情報を提供し、KDC サーバーを起動するため、389 Directory Server インスタンスが最初に起動します。この開始順序は、GSS-API および Kerberos 接続エラーの原因となります。
389 Directory Server は GSS-API 接続を開こうとしますが、認証情報キャッシュがなく、KDC が起動していないため、GSS 接続は失敗します。同様に、ホストの認証情報の取得を試みると失敗します。
これらのエラーは一時的なものです。389 Directory Server は、KDC の起動後に GSS-API 接続を再使用し、認証情報キャッシュを持ちます。389 Directory Server のログは bind resumed メッセージを記録します。
これらの起動時の GSS-API 接続の失敗は、接続が正常に確立されていれば無視できます。
A.1.2.3. DNS の正引きレコードが逆引きアドレスと一致しない問題
新しいレプリカを設定する際に、証明書エラーが連続してインストールが失敗する可能性があり、DNS フォワードレコードおよび逆引きレコードが一致しないというエラーが発生する可能性があります。
ipa: DEBUG: approved_usage = SSLServer intended_usage = SSLServer ipa: DEBUG: cert valid True for "CN=ipa-server2.example.com,O=EXAMPLE.COM" ipa: DEBUG: handshake complete, peer = 192.168.17.37:9444 Certificate operation cannot be completed: Unable to communicate with CMS (Not Found) ... ipa: DEBUG: Created connection context.ldap2_21534032 ipa: DEBUG: Destroyed connection context.ldap2_21534032 The DNS forward record ipa-server2.example.com. does not match the reverse address ipa-server2.example.org
IdM ドメインのすべてのサーバーとレプリカのホスト名は、DNS フォワード (A) および逆引き (PTR) レコードの両方に完全に解決できる必要があります。前方レコードと逆引きレコードの両方が、認証および証明書関連の操作時にチェックされます。レコードのホスト名が一致しない場合は、証明書エラーと DNS エラーの両方が返されます。
この問題は、複数のホスト名が単一の PTR レコードに使用される場合に発生する可能性があります。これは DNS 標準で許可されますが、サービスの設定を試みる際に IdM レプリカの作成時に問題が発生します。
レプリカホストのプライマリーホスト名が PTR ルックアップに対して返された唯一のホスト名で、複製または追加のホスト名を削除します。
DNS A および PTR レコードの確認については、「DNS レコード」を参照してください。
A.1.3. クライアントインストール
ipa-client-install を使用して設定されたクライアントの場合、クライアントのインストールログは
/var/log/ipaclient-install.log
にあります。サーバーおよびクライアントと IdM 関連のサービス両方の IdM ログは、「IdM サーバーログの確認」で説明されています。
これらは、一部の問題およびクライアントインストールの問題に対する回避策です。
A.1.3.1. クライアントは、外部 DNS を使用する際に逆引きホスト名を解決できません。
IdM はドメインサービスの一部として独自の DNS サーバーをホストできますが、外部 DNS ネームサーバーを使用することもできます。ただし、逆引き DNS にはいくつかの制限があるため、外部 DNS がクライアントの
/etc/resolv.conf
ファイルに一覧表示されている場合や、Active Directory などの SRV レコードのあるネットワークに他のリソースがある場合に、逆引き参照に問題が発生することがあります。
問題として、外部 DNS ネームサーバーが IdM サーバーの間違ったホスト名を返すことです。
この方法の 1 つは、Kerberos データベースで IdM サーバーを検索する際にエラーを示しています。
Jun 30 11:11:48 server1 krb5kdc[1279](info): AS_REQ (4 etypes {18 17 16 23}) 192.168.60.135: NEEDED_PREAUTH: admin EXAMPLE COM for krbtgt/EXAMPLE COM EXAMPLE COM, Additional pre-authentication required Jun 30 11:11:48 server1 krb5kdc[1279](info): AS_REQ (4 etypes {18 17 16 23}) 192.168.60.135: ISSUE: authtime 1309425108, etypes {rep=18 tkt=18 ses=18}, admin EXAMPLE COM for krbtgt/EXAMPLE COM EXAMPLE COM Jun 30 11:11:49 server1 krb5kdc[1279](info): TGS_REQ (4 etypes {18 17 16 23}) 192.168.60.135: UNKNOWN_SERVER: authtime 0, admin EXAMPLE COM for HTTP/server1.wrong.example.com@EXAMPLE.COM, Server not found in Kerberos database
この問題を回避する方法は複数あります。
/etc/resolv.conf
ファイルを編集し、外部 DNS ネームサーバーの参照を削除します。- 各 IdM サーバーに逆引き参照レコードを追加します。
- IdM クライアントまたはドメインにサブネットを付与し、そのサブネットのすべての要求を転送します。
A.1.3.2. クライアントは DNS ゾーンに追加されません。
クライアントが IdM DNS サーバーによって制御されていないサブネットにある場合、nsupdate コマンドは、ipa-client-install の実行時にクライアントを DNS ゾーンに追加できなくなる可能性があります。
IdM が DNS ドメインを管理する場合は、「DNS レコードエントリーの管理」の説明に従って、クライアントのゾーンエントリーを手動で追加します。たとえば、以下のようになります。
[jsmith@ipaserver ~]$ kinit admin [jsmith@ipaserver ~]$ ipa dnsrecord-add ipaclient.example.com www --a-rec 1.2.3.4
DNS ドメインが IdM 以外で管理されている場合は、リソースレコードをゾーン設定に手動で追加できます。Red Hat Enterprise Linux の DNS の詳細は、デプロイメントガイドの DNS の章を参照してください。
A.1.4. IdM クライアントのアンインストール
Red Hat Enterprise Linux クライアントでは、ipa-client-install ユーティリティーを使用してクライアントをアンインストールし、IdM ドメインから削除できます。クライアントを削除するには、
--uninstall
オプションを使用します。
# ipa-client-install --uninstall
注記
ipa-join コマンドに uninstall オプションがあります。これは、アンインストールプロセスの一部 ipa-client-install --uninstall として呼び出されます。ただし、ipa-join オプションはドメインからクライアントを削除しますが、実際にはクライアントをアンインストールしたり、IdM 関連の設定をすべて適切に削除したりしません。IdM クライアントのアンインストールには、ipa-join -u を実行しないでください。クライアントを完全にアンインストールする唯一の方法は、ipa-client-install --uninstall 使用することです。