揮発性のメモ2

知識をメモ書きしておく

名前解決のタイムアウト設定

resolv.confにオプションが書けることが判明

timeout:n
「レゾルバが他のネームサーバで問い合わせをリトライする前に、 リモートネームサーバからの応答を待つ時間」を設定する。 単位は秒で、デフォルトは RES_TIMEOUT である (現状では 5 秒、 を参照)。
attempts:n
「レゾルバが諦めて呼び出し元のアプリケーションにエラーを返すまでに、 ネームサーバに問い合わせを行う回数」を設定する。 デフォルトは RES_DFLRETRY 回である (現状では 2 回、 を参照)。

Man page of RESOLV.CONF

つまり、タイムアウト時間×リトライ回数 という式になるのでデフォルトは5×2=10秒が最大待ち時間

$ time ping uuu.com
ping: unknown host uuu.com

real    0m10.029s
user    0m0.000s
sys     0m0.020s

resolv.confに次のオプションを追加してみる

options timeout:1 attempts:1
$ time ping uuu.com
ping: unknown host uuu.com

real    0m1.080s
user    0m0.000s
sys     0m0.030s

おお、はやいはやい


DNS & BIND 第5版