質問
プライマリ DNS サーバーが応答しない場合に、セカンダリ DNS サーバーにフェールオーバーするまでの待機時間を変更する方法は?
解決策
パラメータ timeout:n 構成ファイル /etc/resolv.conf で設定できます プライマリに到達できない場合にセカンダリ DNS にフォールバックするのにかかる時間を調整します。 resolve.conf の Man ページから:
「オプションのタイムアウト:n 」 オプションは、別のネーム サーバー経由でクエリを再試行する前に、リゾルバーがリモート ネーム サーバーからの応答を待機する時間を設定します。秒単位で測定され、デフォルトは RES_TIMEOUT です .このオプションの値は暗黙のうちに 30 に制限されます。
タイムアウト フィールドに数値を指定することで、タイムアウト値を変更できます。例:
# vi /etc/resolv.conf nameserver 1.2.3.4 nameserver 4.3.2.1 options timeout:30
上記の例では、タイムアウト値がデフォルトの 5 秒から 60 秒に設定されています。
トラブルシューティング
コマンド「nslookup [server_name]」は、次のようなエラーを返す場合があります:
nslookup: parse of /etc/resolv.conf failed
nslookup を実行すると、システムは /etc/resolv.conf ファイルをチェックして、ドメインと DNS に関する情報を取得します。このファイルに間違ったパラメータがある場合、nslookup コマンドは上記のエラーを返します。以下に示すように、「options timeout:n」パラメータのエントリがあるとします:
# cat /etc/resolv.conf nameserver 1.2.3.4 nameserver 4.3.2.1 options timeout:0.3
上記の出力では、オプション セッションからのタイムアウト パラメータに . (ドット)。タイムアウトは秒単位で設定する必要がありますが、整数である必要があります。 「man resolv.conf」でわかるように。値を最大値 30 秒の整数に設定すると、このエラーを解決できます。