TCP/IP 設定
Directory Server へのアクセス時にタイムアウト障害を検出する場合、TCP/IP パラメーター値の検証と更新を行うことができます。
LDAP サーバーがファイアウォールの背後で保護される場合、ソケット接続要求がタイムアウトになり、再現性の低い認証の失敗が生じる可能性があります。ソケット接続要求の失敗の原因は、ファイアウォールの接続タイムアウトの設定と、オペレーティング・システムのキープアライブ・ネットワーク・パケットの頻度との不一致です。
ソケット接続障害が起きる場合は、キープアライブ・パケット間の間隔を制御する、オペレーティング・システムのネットワーク・パラメーター値を小さくしてください。後続の 2 つのキープアライブ・パケット間の間隔は、キープアライブ間隔とも呼ばれます。
キープアライブの頻度を制御するパラメーターは、オペレーティング・システムごとに異なります。キープアライブ間隔値を、ファイアウォールの接続タイムアウト値より小さく設定する必要があります。ファイアウォール設定の値が分からない場合は、キープアライブ間隔値を 2 分に設定して検証してください。
クライアントと LDAP サーバー間のクローズされた TCP/IP 接続は、システム指定の間隔でクリーニングされます。接続のオープンまたはクローズが高い頻度で行われる環境では、LDAP サーバーのパフォーマンスが低下する可能性があります。Microsoft Windows システムでは、レジストリー・キーを変更して、クリーニング・プロセス間の間隔を短くすることができます。
- AIX®
- AIX システムで TCP/IP パラメーター値を変更するには、次のコマンドを実行します。
no -o parametername=value
- このコマンドを使用して、以下のパラメーター値を変更できます。
- tcp_keepidle
- 接続をアクティブのままにする期間を指定します。 このパラメーターを設定すると、TCP は、接続をアクティブのままにすることを要求するアプリケーションに対して KEEPALIVE 送信を生成します。この値は、0.5 秒 (1/2) 単位で定義され、デフォルトで 14,400 単位 (7200 秒すなわち 2 時間) になります。tcp_keepidle パラメーターはランタイム・パラメーターです。tcp_keepidle には、ファイアウォールの接続タイムアウト値より小さい値を割り当てる必要があります。ファイアウォール設定の値が分からない場合は、キープアライブ間隔値を 2 分に設定して検証してください。
- tcp_keepinit
- TCP 接続の初期タイムアウト値を設定します。この値は、0.5 秒 (1/2) 単位で定義され、デフォルトで 150 (75 秒) になります。-o パラメーターを使用してこの値を変更できます。 tcp_keepinit パラメーターはランタイム・パラメーターです。
- tcp_keepintvl
- 接続を検証するために送信されるパケット間の間隔を指定します。この値は、0.5 秒 (1/2) 単位で定義され、デフォルトで 150 (75 秒) になります。tcp_keepintvl パラメーターはランタイム・パラメーターです。
- Windows
- Windows システムの TCP/IP 設定を変更するには、以下のレジストリー・キーを設定します。
- 注: クライアント・システムとサーバー・システムの両方でパラメーターを設定する必要があります。
- コマンド・プロンプトにアクセスします。
- regedit コマンドを実行して「レジストリ エディター」を開きます。
> regedit
- 「レジストリ エディター」ウィンドウで、 の順に展開します。
- TcpTimedWaitDelay 項目がレジストリーにない場合、TcpTimedWaitDelay を追加します。
- TcpTimedWaitDelay 項目の DWORD 値を 1e に設定します。この値は 30 秒に設定されます。
- StrictTimeWaitSeqCheck 項目がレジストリーにない場合、StrictTimeWaitSeqCheck を追加します。
- StrictTimeWaitSeqCheck 項目の DWORD 値を 1 に設定します。
- システムを再始動します。
- Linux
- Linux システムで、次の再始動まで一時的に TCP/IP パラメーター値を変更するには、次のコマンドを実行します。
sysctl -w net.ipv4.parametername = value
- この値を永続的に設定するには、次のコマンドを実行します。
- 以下の値で /etc/sysctl.conf ファイルを更新します。
net.ipv4.parametername = value
- 以下のコマンドを実行します。
- RHEL
chkconfig sysctl on
- SUSE
chkconfig boot.sysctl on
- 以下の値で /etc/sysctl.conf ファイルを更新します。
- このコマンドを使用すると、以下のパラメーター値を変更できます。
- tcp_keepalive_time
- 最後に送信されたデータ・パケットと最初のキープアライブ・プローブとの間の間隔を秒単位で指定します。
- tcp_keepalive_intvl
- 後続のキープアライブ・プローブ間の間隔を秒単位で指定します。
- tcp_keepalive_probes
- クライアントが接続が失敗したと見なして、アプリケーション層に通知するまでに、送信された無応答のプローブ数を指定します。
- Solaris
- Solaris システムで TCP/IP パラメーター値を変更するには、次のコマンドを実行します。
ndd -set /dev/tcp parameternamevalue
- このコマンドを使用すると、以下のパラメーター値を変更できます。
- tcp_time_wait_interval
- TCP 接続が TIME-WAIT 状態のままである期間をミリ秒単位で指定します。
- tcp_keepalive_interval
- プローブ間の間隔をミリ秒単位で指定します。