Linuxがresolv.confにリストされているバックアップDNSサーバーにフェイルオーバーするのに要する時間を調整する


15

現在、私はresolv.conf次のような単純なバニラLinux構成を使用しています:

nameserver 123.123.123.123
nameserver 8.8.8.8

123.123.123.123がダウンすると、DNSクエリが遅くなり不可能になるため、Linuxは毎回最初のクエリを再試行すると想定しています。これについてLinuxを賢くする方法はありますか?ヘルスチェックか何か?または、どのように機能するかを誤解していますresolv.confか?

回答:


17

ewwhiteの素晴らしい反応に加えて、いくつかの補遺。

これを追加できます /etc/resolv.conf

options timeout:1 attempts:1 rotate

デフォルトは、時間:5回試行:2です。

起こるのは、/etc/resolv.conf回転オプションが存在しない場合、リゾルバライブラリが上から下にリストされているネームサーバーを使用しようとすることです。回転が存在する場合、ラウンドロビン選択が行われます。リゾルバーがリストの一番下に移動し、サーバーがX秒以内に応答しない場合(Xがタイムアウトパラメーターであると考えて)、ラウンドロビン選択の全プロセスをY-1回繰り返します(Yは試行の値)。

ただし、resolv.confのこれらのオプションをテストするために、掘り出し物や友人を避けてください。リゾルバライブラリを使用せず、ネームサーバーに直接質問するため。getent hostsを使用する方が良いコマンドです。glibcリゾルバを使用するものはすべて/etc/resolv.confファイルに従う必要があることに注意してください。


12

これはを介して説明されman resolv.confます。

タイムアウトオプションのいずれかを試して、デフォルトを5秒からおそらく1秒に下げてください...

options timeout:1
nameserver 123.123.123.123
nameserver 8.8.8.8

しかし、実際には、DNSには非常に多くの回復力があるため、解像度のタイムアウトを低くしなくても生きることができます。より良いパブリックDNSを選択するか、独自の内部リゾルバーを実行することは可能ですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.