本文は CC BY-NC-SA 4.0 に基づき、Sukka の《適切な公共 DNS を選択する方法? [2020] 》 を改訂したものです。
一部の公共 DNS 評価内容を削除し、推奨される公共 DNS のみを残し、いくつかの DNS 情報を補完しました。
公共 DNS を選択する際に考慮すべきこと#
公共 DNS サービスは多く存在し、大企業が構築したもの、非営利団体が構築したもの、個人が構築したものなど、目まぐるしいです。選択する際には、私たちのニーズに合った DNS を選ぶために多くの側面を考慮する必要があります。通常、私たちのインターネット利用に非常に重要な役割を果たす DNS を選ぶ際には、以下の点を考慮する必要があります:
- SLA サービスの稼働率。DNS はインターネットサーフィンにおいて非常に重要な要素であり、DNS の信頼性はインターネット体験に直接影響します;もし DNS がダウンすると、多くのウェブサイトにアクセスできなくなります。
- 応答速度 新しいウェブサイトにアクセスする際、DNS の応答速度はそのウェブサイトの直感的な読み込み速度に直接影響します。
- 正確性 DNS 汚染や毒性を考慮しない場合でも、DNS がウェブサイトへのアクセス結果が正確であることは非常に重要です。
- EDNS 簡単に言えば、EDNS(正しい略称は ECS)は、最も正確な CDN 解決結果を取得するのに役立ちます。
- その他の機能 一部の個人が構築した DNS は、広告ブロックや愛国的なインターネット利用の機能を提供します。
- DNS 出口 通常、公共 DNS の入口と出口は異なります。あなたの DNS 出口 IP を確認するには、dig を使用できます:
$ dig whoami.akamai.net
DNS 出口は CDN にとって非常に重要です。公共 DNS の本質は、あなたのクエリリクエストを上流の DNS に転送することです;EDNS がない場合、CDN の権威 DNS は公共 DNS が使用するリクエスト IP(つまり DNS 出口)に基づいて、あなたのプロバイダーや位置を判断し、最も近いノード IP を返します。理論的には、ISP があなたに割り当てる DNS は最も速く、CDN に優しいはずです。この記事で言及される CDN 最適化や CDN フレンドリーも、DNS 出口の IP が最も速い CDN ノードにアクセスできるかどうかを指しています。
中国本土で推奨される公共 DNS サービス#
Tencent DNSPod#
- Anycast:深圳、上海、天津、中国香港、北米
- DNS 出口: 84 条
- TCP クエリ:サポートしていません
- DoT、DoH:サポートしています。ドメイン dns.pub と doh.pub は、DoH と DoT の両方をサポートしています。
- ECS:部分的にサポート
プロトコル | 主 | 予備 |
---|---|---|
IPv4 | 119.29.29.29 | 119.28.28.28 |
IPv6 | 2402:4e00:: | 2402:4e00:1:: |
DoH | https://doh.pub/dns-query | https://dot.pub/dns-query |
DoH (IP) | https://1.12.12.12/dns-query | https://1.12.12.12/dns-query |
DoH (国密) | https://sm2.doh.pub/dns-query | |
DoT | dot.pub | doh.pub |
DoT (IP) | 1.12.12.12 | 1.12.12.12 |
これは DNSPod が構築した公共 DNS で、後に DNSPod が Tencent に買収され、Tencent Cloud が運営を担当しています。Tencent DNSPod 公共 DNS は Anycast を設定しており、ノードは Tencent Cloud のすべての可用性ゾーンのノード(海外を含む)を網羅しているため、速度は良好です。また、ECS をサポートするだけでなく、DNS 出口選択の最適化に関するいくつかの追加機能もあるため、CDN 解決結果は比較的正確です。しかし、SLA は優れていません —— 過去には DDoS 攻撃に頻繁に遭遇し、解決できないことがありました。それに加えて、比較的有名で使用者が多いため、プロバイダーによる重点的なハイジャックの対象となっています。
注目すべきは、DNSPod の公共 DNS は HTTPDNS を無料で提供していることです。デモは こちら で確認できます。
注意が必要なのは、DNSPod の公共 DNS はクッキークエリをサポートしていません。最新の Bind に内蔵されている dig ツールを使用して @119.29.29.29 でクエリする場合、追加のパラメータ +nocookie を追加する必要があります。
Alibaba Cloud 公共 DNS#
- Anycast:全国 + アメリカ、シンガポール、ドイツ、オーストラリア、日本、イギリス、インド、インドネシア
- DNS 出口:成都、深圳、杭州
- TCP クエリ:サポートしていません
- DoT、DoH:両方サポートしています。IP を直接使用することも、ドメイン dns.alidns.com を使用することもできます。
- ECS:部分的にサポート(DNS JSON API は edns_client_subnet をサポート)
プロトコル | 主 | 予備 |
---|---|---|
IPv4 | 223.5.5.5 | 223.6.6.6 |
IPv6 | 2400:3200::1 | 2400:3200:baba::1 |
DoH | https://dns.alidns.com/dns-query | |
DoH (IP) | https://223.5.5.5/dns-query | https://223.6.6.6/dns-query |
DoT | dns.alidns.com | |
DoT (IP) | 223.5.5.5 | 223.6.6.6 |
アリババが構築した公共 DNS です。Tencent と同様に、アリババ公共 DNS も自社のクラウドサービス —— アリババクラウド上に構築されています。アリババ公共 DNS は ECS をサポートしておらず、DNS 出口の最適化があります。アリババの公共 DNS に関しては、ダウンや使用不能に関する報告はあまり聞かれません。
海外地域で推奨される公共 DNS サービス#
OpenDNS#
- Anycast:OpenDNS の 32 のデータセンター
- DNS 出口:未測定
- TCP クエリ:サポートしています
- DoT、DoH:サポートしています
- ECS:サポートしています
プロトコル | 主 | 予備 |
---|---|---|
IPv4 | 208.67.222.222 | 208.67.220.220 |
IPv6 | 2620:119:35::35 | 2620:119:53::53 |
DoH | https://doh.opendns.com/dns-query | https://doh.familyshield.opendns.com/dns-query |
DoT | dns.opendns.com |
Disco Cisco に買収された OpenDNS は、一時世界で最も速い公共 DNS でした ——OpenDNS は世界中に 30 以上のノードを持ち、Anycast の設定も素晴らしいです。ECS をサポートし、SLA は 100 に達し、OpenDNS は非常規ポート 5353 のクエリと TCP クエリを開放しており、国内から直接リクエストしても汚染やハイジャックされにくいです。ChinaDNS のようなツールを使用していて、特に暗号化トンネルを準備していない場合、OpenDNS の 5353 への直接接続は良い代替選択です。
Cloudflare DNS#
- Anycast:Cloudflare の 160 以上のデータセンター
- DNS 出口:Cloudflare の 160 以上のデータセンター
- TCP クエリ:サポートしています
- DoT、DoH:両方サポートしており、ドメイン one.one.one.one を使用することも、IP を直接使用することもできます。
- ECS:サポートしていません(ECS はユーザー IP に基づいてクエリする必要があり、Cloudflare DNS のプライバシー保護に反します)
プロトコル | 主 | 予備 |
---|---|---|
IPv4 | 1.0.0.1 | 1.1.1.1 |
IPv6 | 2606:4700:4700::1111 | 2606:4700:4700::1001 |
DoH | https://cloudflare-dns.com/dns-query | |
DoH (IP) | https://1.0.0.1/dns-query | https://1.1.1.1/dns-query |
DoT | 1dot1dot1dot1.cloudflare-dns.com | one.one.one.one |
DoT (IP) | 1.1.1.1 | 1.0.0.1 |
Cloudflare が APNIC から 1.0.0.0/24 と 1.1.1.0/24 を引き継ぎ、公共 DNS を構築した後、Cloudflare の 160 以上のデータセンター(Cloudflare は 185 以上のデータセンターを持っていますが、その公共 DNS は百度クラウド加速のノードには展開されていません)、BGP Anycast および Cloudflare Argo などの技術のおかげで、OpenDNS を超えて世界で最も速い公共 DNS となりました(データは DNSPerf から)。また、DoT、DoH などの一般的な暗号化解決策もサポートしています。プライバシーポリシーにより、Cloudflare 公共 DNS はユーザー IP を記録せず、ECS などの技術を使用できませんが、ノード数が多く、DNS 出口が世界中の主要地域をカバーしているため、主力 DNS としても適しています。
Google Public DNS#
- Anycast:Google の 36 のデータセンター(Google Global Cache を除く)
- DNS 出口:Google のグローバルエッジネットワーク
- TCP クエリ:サポートしています
- DoT、DoH:両方サポートしています。IP を直接使用することも、ドメイン dns.google を使用することもできます。
- ECS:サポートしています(DNS JSON API は edns_client_subnet をサポート)
プロトコル | 主 | 予備 |
---|---|---|
IPv4 | 8.8.8.8 | 8.8.4.4 |
IPv6 | 2001:4860:4860::8888 | 2001:4860:4860::8844 |
DoH | https://dns.google/dns-query | |
DoT | dns.google |
最も有名な公共 DNS(国内でも非常に有名です)は、Google の巨大なグローバルネットワーク施設のおかげです(ただし、Google 公共 DNS は Google Global Cache を使用しておらず、アフリカやオセアニアにはノードがありません)。速度は最速とは言えませんが、少なくとも遅くはありません;ECS、DoH、DoT をサポートし、SLA は 100 に非常に近い(Google 検索エンジンの SLA は 99.9999%)です。海外の CDN は Google DNS に最適化を行っており、海外サイトの解決時には強く推奨されます。
海外サーバーで推奨される公共 DNS サービス#
DNS.sb#
- Anycast:はい
- DNS 出口:SB Network の上流の IP
- TCP クエリ:サポートしています
- DoT、DoH:サポートしており、IP または dns.sb ドメインを使用できます
- ECS:サポートしていません
プロトコル | 主 | 予備 |
---|---|---|
IPv4 | 185.222.222.222 | 45.11.45.11 |
IPv6 | 2a09:: | 2a11:: |
DoH | https://doh.dns.sb/dns-query | https://doh.sb/dns-query |
DoH (IP) | https://45.11.45.11/dns-query | https://185.222.222.222/dns-query |
DoT | dot.sb | |
DoT (IP) | 185.222.222.222 | 45.11.45.11 |
Cloudflare と同様に、主流の DoT、DoH などの暗号化 DNS 解決をサポートしています。Anycast を有効にしており、ノード数は Cloudflare ほど多くはないかもしれませんが、ほとんどの地域をカバーしています;また、VPS を持っている場合は、185.222.222.222 をトレースしてみると、あなたの VPS と dns.sb が同じ内部ネットワークにいることがわかるかもしれません。
公共 DNS のベストプラクティス#
以上のことから、公共 DNS を選択する場合は、できるだけフレンドリーな CDN 解決結果を得る必要があります。
国内サイトの解決には アリババ DNS と Tencent DNSPod を推奨します。
海外サイトの解決には主に Cloudflare DNS または OpenDNS、予備として Google Public DNS を推奨します。