DNS の設定画面はほぼ必ずアドレスを 2 つ求めますが、2 つ目が何をするのか知っている人はほとんどいません。そこから「プライマリを Cloudflare、セカンダリを Google にすれば両方のいいとこ取り」といった組み合わせが生まれます。もっともらしく聞こえますが、思っているようには動きません。
セカンダリが実際にしていること
OS は常にプライマリに問い合わせます。そのサーバーが一定時間(システムによって 1〜2 秒)内に応答しないときだけ、セカンダリに再試行します。交互には使いませんし、負荷も分けませんし、応答を比べもしません。プライマリが応答している限り、セカンダリには問い合わせが 1 つも届きません。
システムごとの細かな違いはあります。Windows はしばらくするとプライマリに戻る、Linux の一部リゾルバーは設定次第でローテーションできる、ルーターは両方を各端末に配り、各端末が判断する、など。しかし大枠はどこでも同じで、セカンダリはプライマリが落ちたか到達不能なときの予備であって、それ以上ではありません。
混乱しがちな点をひとつ。プライマリが「そのドメインは存在しない」と答えた場合、それは正当な応答なので、システムはセカンダリに問い合わせません。切り替わるのは応答が全くないときだけです。
何を組み合わせ、何を組み合わせないか
ここから 3 つの簡単なルールが出てきます。
両方を同じプロバイダーに。 どのプロバイダーもまさにこのために 2 つのアドレスを公開しています。1.1.1.1 と 1.0.0.1、8.8.8.8 と 8.8.4.4、9.9.9.9 と 149.112.112.112、86.54.11.1 と 86.54.11.201。同じ運用者の別のネットワークにあるので、片方が落ちてももう片方が続き、どちらも同じポリシーを適用します。
フィルタありとなしを混ぜない。 広告を消すために AdGuard をプライマリに、「念のため」Google をセカンダリにすると、AdGuard が少し遅れるたびに問い合わせは Google からフィルタなしで出ていきます。気づきませんが、ブロックには穴が開きます。ファミリーフィルタも同じで、セカンダリは同じフィルタ段階か、同じ系列のペアアドレスでなければなりません(CleanBrowsing と OpenDNS はフィルタごとにペアを公開しています)。
混ぜるなら、フィルタなし同士で。 Cloudflare をプライマリ、Quad9 をセカンダリにするのは妥当な組み合わせです。Cloudflare に問題があれば Quad9 が答え、どちらも通常の問い合わせの結果を変えません(Quad9 はマルウェアのドメインだけをブロックします)。
どちらを先にするか
働くのはプライマリなので、有名なものではなく自分のネットワークから最速のものを先に入れてください。速度テストが 2 分で教えてくれます。マドリードからは Cloudflare、Quad9、CleanBrowsing、DNS4EU がキャッシュ済みで 5〜6 ミリ秒でした。あなたのプロバイダーからでは順位が変わるかもしれません。
ルーターが 1 つしか入力できなくても大した問題はありません。大手リゾルバーは anycast で、冗長性を内部に持っています。セカンダリが主に守ってくれるのは、あなたとそのプロバイダーの間のネットワーク障害です。
IPv6 もペアで
回線が IPv6 に対応していれば、システムは IPv6 でも問い合わせを行い、そこではプロバイダーの IPv6 ペアが使われます。Cloudflare なら 2606:4700:4700::1111 と ::1001、Google なら 2001:4860:4860::8888 と ::8844、Quad9 なら 2620:fe::fe と 2620:fe::9。IPv4 をあるプロバイダー、IPv6 を別のプロバイダーにすると、またポリシーの混在に戻ります。各プロバイダーページに 4 つのアドレスすべてが載っています。
「パブリック DNS」と「プライベート DNS」
この 2 つの言葉はこのサイトに届く検索に頻繁に現れ、使う人によって意味が変わります。
パブリック DNS はインターネット上の誰にでも開かれたリゾルバーです。Cloudflare、Google、Quad9、DNS4EU、AdGuard はパブリックで、誰かの契約者である必要はありません。プロバイダーの DNS はその意味ではプライベートで、自社契約者の接続にしか応答しません。「パブリック DNS を使え」と言われたら、「プロバイダーの DNS をやめろ」という意味です。
プライベート DNS は 3 つの意味になり得ます。
- Android の「プライベート DNS」設定。 入力したプロバイダーへの暗号化 DNS(DNS over TLS)で、Wi-Fi とモバイル通信に効きます。ここでの「プライベート」は、キャリアが問い合わせを読んだり改ざんしたりできないという意味です。IP ではなく名前(
one.one.one.one、dns.quad9.net)を入力します。スマホの記事で説明しています。 - ログを取らないリゾルバー。 この意味の「プライベート」はプロバイダーのポリシーを指します。Quad9、Cloudflare、Mullvad は識別可能な問い合わせを保存しないと明言し、OpenDNS や Google は一部を保持します。比較ページにログの列があります。
- 自前のリゾルバー。 家の Pi-hole、AdGuard Home、会社の DNS のように、自分のネットワークだけに応答するサーバー。最も文字どおりの意味で、検索では最も少数派です。
つまり「無料のパブリック DNS」と「無料のプライベート DNS」は、たいてい別々の人がした同じ検索です。どちらもプロバイダー以外の、速くて覗き見しないリゾルバーを求めています。ログなしのパブリックリゾルバーならどれでも条件を満たします。
要点
プライマリ:自分のネットワークから最速のもの。セカンダリ:同じプロバイダーの 2 つ目のアドレス。IPv6:同じプロバイダーのペア。フィルタは混ぜない。2 つで迷うなら、比較ページが並べて見せてくれ、設定ガイドが Windows、macOS、Android、iOS、ルーターでの入力場所を示します。