Linux: 複数のネームサーバーに同時にクエリを送信できるローカル DNS リゾルバーを設定する方法

Linux: 複数のネームサーバーに同時にクエリを送信できるローカル DNS リゾルバーを設定する方法

複数のネームサーバーに同時にクエリを送信できるローカル DNS リゾルバーを設定するにはどうすればよいでしょうか?

なぜ必要なのか:

  • 1.1.1.1 または 8.8.8.8 の信頼性はあまり良くありません。(1.1.1.1 では、先週、ダウンまたは不安定な時間が観測されました)
  • マシンは https/socks5 プロキシをホストしているため、名前の検索は重要かつ頻繁に行われます。1
    つのネームサーバーがサービスを提供できない場合は、遅延を減らすために並列検索が推奨されます。

Linux マシンは Ubuntu サーバー 22.04 です。https
/socks5 プロキシ サービスは複数の DNS サーバーを処理できないため、ローカル リゾルバーが並列またはフォールバック検索を処理する必要があります。

答え1

ドキュメントによると、これは次のようにして可能となる。 ドメイン名

使用するパラメータは次のとおりです。

--all-servers
デフォルトでは、dnsmasq に複数のアップストリーム サーバーが利用可能な場合、1 つのサーバーにのみクエリが送信されます。このフラグを設定すると、dnsmasq はすべてのクエリをすべての利用可能なサーバーに送信するように強制されます。最初に応答したサーバーからの応答が元の要求者に返されます。

次のように DNSMASQ_OPTS を編集し/etc/default/dnsmasqて追加することでこれを実行できます。–all-servers

DNSMASQ_OPTS="--all-servers"

参考文献:

答え2

DNSMASQ だけではそれができませんが、Pihole (バックグラウンドで DNSMASQ を使用) が Unbound で使用され、再帰 DNS サーバーが提供されるのを確認しました。つまり、サーバーは TLD サーバーに直接問い合わせ、Google/Cloudflare を完全にスキップします。

関連情報