よくある質問

全般

Google Public DNS とは何ですか?

Google Public DNS は、無料のグローバル ドメイン ネーム システム(DNS)解決サービスです。現在の DNS プロバイダの代わりに使用できます。

Google が DNS サービスに取り組んでいるのはなぜですか?

より高速で安全な DNS インフラストラクチャにより、ウェブ ブラウジングのエクスペリエンスが大幅に向上すると考えています。Google Public DNS は、結果の速度、セキュリティ、有効性の分野で多くの改善を行ってきました。Google は、ウェブ コミュニティ内での継続的な議論に貢献するため、これらの改善点をドキュメントで共有しています。

Google Public DNS を使用してドメイン名をホストできますか?

Google Public DNS は権威 DNS ホスティング サービスではなく、権威 DNS ホスティング サービスとして使用することはできません。Google のインフラストラクチャを使用する、大容量でプログラム可能な権威ネームサーバーをお探しの場合は、Google の Cloud DNS をお試しください。

Google Public DNS には、不要なサイトをブロックまたはフィルタする機能はありますか?

Google Public DNS は DNS の解決とキャッシュ サーバーです。まれに特定のドメインを除き、いかなる種類のブロックやフィルタリングも行いません。

  • Google のユーザーをセキュリティの脅威から保護するために必要であると判断した場合
  • 特定のドメインをブロックすることが法的に義務付けられている場合。(詳しくは、ブロックページをご覧ください)。

ただし、通常はクライアントがブロッキング機能を実行するのが最適であると考えています。このような機能を有効にしたい場合は、この目的のためにクライアントサイドのアプリケーションまたはブラウザのアドオンをインストールすることを検討してください。

Google Public DNS とのクロスプロダクトの依存関係はありますか?

Google Public DNS は独立したサービスです。

Google Public DNS を使用するには Google アカウントが必要ですか?

Google Public DNS の使用にアカウントは必要ありません。

Google Public DNS は、ISP の DNS サービスや他のオープン DNS リゾルバとどのように異なりますか?改善されたかどうかを判断するにはどうすればよいですか?

オープン リゾルバと ISP はすべて、DNS の解決サービスを提供しています。Google Public DNS を、他の代替 DNS サービスとともに、プライマリまたはセカンダリの DNS リゾルバとしてお試しください。適切な DNS リゾルバを特定する際には、速度、信頼性、セキュリティ、レスポンスの有効性など、多くのことを考慮する必要があります。Google Public DNS とは異なり、一部の ISP やオープン リゾルバは、商用目的で DNS レスポンスをブロック、フィルタリング、リダイレクトします。Google Public DNS には、不要なサイトをブロックまたはフィルタする機能がありますか?という質問の回答もご覧ください。

Google Public DNS は存在しないドメインをどのように処理しますか?

存在しないドメイン名に対してクエリを発行すると、Google Public DNS は DNS プロトコル標準に従って常に NXDOMAIN レコードを返します。ブラウザには、このレスポンスが DNS エラーとして表示されます。エラー メッセージ以外のレスポンスを受け取った場合(別のページにリダイレクトされた場合など)は、次の原因が考えられます。

  • ブラウザ プラグインなどのクライアントサイド アプリケーションが、存在しないドメインの代替ページを表示している。
  • 一部の ISP は、すべての NXDOMAIN レスポンスをインターセプトして、独自のサーバーに誘導するレスポンスに置き換えることがあります。ISP が Google Public DNS のリクエストまたはレスポンスを傍受していると思われる場合は、ISP にお問い合わせください。

Google Public DNS は将来的に広告の配信に使用されますか?

Google は、DNS プロトコルの整合性を維持することに尽力しています。Google Public DNS が、存在しないドメインの広告サーバーのアドレスを返すことはありません。

DNS over HTTPS(DoH)とは

暗号化された HTTPS 接続を介した DNS の解決。DNS over HTTPS は、スタブリゾルバと再帰リゾルバ間のプライバシーとセキュリティを大幅に強化し、DNSSEC を補完してエンドツーエンドの認証済み DNS ルックアップを提供します。

使用とサポート

現在、別の DNS サービスを使用しています。Google Public DNS も使用できますか?

Google Public DNS は、現在の DNS リゾルバとともに、プライマリまたはセカンダリの DNS リゾルバとして設定できます。オペレーティング システムによって DNS リゾルバの扱いが異なることに注意してください。プライマリ DNS リゾルバを優先し、プライマリが応答しない場合にのみセカンダリを使用するものもあれば、各リゾルバをラウンドロビンするものもあります。

構成済みのリゾルバ間でセキュリティやフィルタリングに違いがある場合、すべてのリゾルバの中で最も弱いレベルのセキュリティまたはフィルタリングが適用されます。NXDOMAIN フィルタリングやブロックページへのリダイレクトは機能する場合もありますが、SERVFAIL は、すべてのリゾルバが SERVFAIL を返さない限り、ドメインをブロックしません。

Google Public DNS は、あらゆる種類のインターネット対応デバイスに適していますか?

Google Public DNS は、標準に準拠したネットワーク デバイスで使用できます。Google Public DNS が正常に動作しない状況が見つかった場合は、Google までお知らせください。

オフィスのパソコンで Google Public DNS を実行できますか?

一部のオフィスには、勤務時間外にアクセスできないドメインにアクセスできるプライベート ネットワークがあります。Google Public DNS を使用すると、これらのプライベート ドメインへのアクセスが制限される場合があります。オフィスのパソコンで Google Public DNS を使用する前に、IT 部門のポリシーをご確認ください。

Google Public DNS はどの国で利用できますか?

世界中のインターネット ユーザーが利用できますが、具体的な場所によってエクスペリエンスが大きく異なる場合があります。

Google Public DNS はすべての ISP で機能しますか?

Google Public DNS は、ネットワークの DNS 設定を変更する権限があれば、ほとんどの ISP で動作します。

両方の Google Public DNS IP アドレスを使用する必要がありますか?

いずれかの IP アドレスを使用するだけで、Google をプライマリ サービスとして使用できます。ただし、プライマリ サーバーとセカンダリ サーバーの両方に同じアドレスを指定しないでください。

IP アドレスを指定する順序は重要ですか?

順序は問題になりません。 どちらの IP も、プライマリまたはセカンダリのネームサーバーとして使用できます。

サービスの SLA は何ですか?

無料の Google Public DNS サービスにはサービスレベル契約(SLA)はありません。

ISP を運営しています。ユーザーを Google Public DNS にリダイレクトできますか?

Google Public DNS の使用を希望する ISP は、ISP 向けの手順に沿って、Google Public DNS にクエリを送信する前に必要な作業があるかどうかを確認してください。

Google Public DNS チームからサポートを受けるにはどうすればよいですか?

Google グループに参加して、チームから有用な最新情報を入手し、質問することをおすすめします。問題が発生し、報告する場合は、問題の報告で手順をご覧ください。

技術

Google Public DNS は、クエリの送信先をどのようにして認識するのですか?

エニーキャスト ルーティングにより、クエリは最も近い Google Public DNS サーバーに転送されます。エニーキャスト ルーティングの詳細については、Wikipedia のエントリをご覧ください。

Google Public DNS は、DNS ルートゾーンとトップレベル ドメインのゾーンで公開されているネームサーバー(NS)レコードを使用して、任意のドメインに対して権威を持つ DNS サーバーの名前とアドレスを検索します。これらのネームサーバーの一部は、エニーキャスト ルーティングも使用します。

現在、サーバーはどこにありますか?

Google Public DNS サーバーは世界中で利用できます。この質問には 2 つの回答があります。1 つはクライアント向け、もう 1 つは Google Public DNS がクライアントに返す回答を取得する DNS サーバー向けです。

クライアントが Google Public DNS にクエリを送信すると、使用されているエニーキャスト アドレス(8.8.8.8、8.8.4.4、または 2001:4860:4860:: の IPv6 アドレスのいずれか)をアドバタイズする最も近いロケーションにルーティングされます。これらのエニーキャスト アドレスをアドバタイズする特定のロケーションは、ネットワークの状態とトラフィック負荷によって変化し、Google エッジ ネットワークのほぼすべてのコア データセンターとエッジ ポイント オブ プレゼンス(PoP)が含まれます。

Google Public DNS は、コア データセンターと Google Cloud リージョンのロケーションから権威サーバーにクエリを送信します。Google は、Google Public DNS が権威 DNS サーバーへのクエリに使用する可能性のある IP アドレス範囲のリストを公開しています(リスト内のすべての範囲が使用されるわけではありません)。EDNS クライアント サブネット(ECS)データがない DNS クエリの位置情報に使用できます。また、Google Public DNS からのクエリレートを高くできるように ACL を構成することもできます。

このよくある質問の他に、Google はこのリストを DNS の「TXT」レコードとしても公開しています。Google は、追加、変更、削除を反映して、両方のソースを毎週更新しています。各 IP アドレス範囲のエントリには、最も近い空港の IATA コードが含まれています。GeoIP データまたは ACL の自動化では、このウェブページをスクレイピングするのではなく、DNS を介してこのデータを取得する必要があります(以下の例をご覧ください)。

Google Public DNS がクエリの送信に使用する IP アドレス範囲のロケーション

34.64.0.0/24 icn
34.64.1.0/24 icn
34.64.2.0/24 icn
34.101.0.0/24 cgk
34.101.1.0/24 cgk
34.101.2.0/24 cgk
34.116.32.0/24 tlv
34.153.64.0/25 dia
34.153.64.128/26 dia
34.153.64.192/26 dia
34.153.65.0/25 dia
34.153.65.128/26 dia
34.153.65.192/26 dmm
34.153.66.0/24 dmm
74.114.28.0/26 sin
74.114.28.64/26 bkk
74.114.28.128/26 hdf
74.114.28.192/26 iad
74.114.29.0/26 chs
74.114.29.64/26 bkk
74.114.29.128/26 lhr
74.114.29.192/26 dfw
74.114.30.0/26 bkk
74.114.30.64/26 hdf
74.114.30.128/25 hdf
74.114.31.0/26 cmh
74.114.31.64/26 ckv
74.114.31.128/26 sin
74.114.31.192/26 cmh
74.125.16.128/26 bom
74.125.16.192/26 yyz
74.125.17.128/26 cbf
74.125.17.192/26 dfw
74.125.18.0/25 iad
74.125.18.128/26 syd
74.125.18.192/26 lhr
74.125.19.0/25 mrn
74.125.19.128/25 yyz
74.125.40.0/25 mrn
74.125.40.128/26 lhr
74.125.40.192/26 rno
74.125.41.0/24 tpe
74.125.42.0/24 atl
74.125.43.0/25 tul
74.125.43.128/25 lhr
74.125.44.0/24 mrn
74.125.45.0/24 tul
74.125.46.0/24 lpp
74.125.47.0/24 bru
74.125.72.0/24 cbf
74.125.73.0/24 bru
74.125.74.0/24 lpp
74.125.75.0/24 chs
74.125.76.0/24 cbf
74.125.77.0/24 chs
74.125.78.0/24 chs
74.125.79.0/24 lpp
74.125.80.0/24 dls
74.125.81.0/24 dub
74.125.92.0/24 mrn
74.125.112.0/24 lpp
74.125.113.0/24 cbf
74.125.114.128/26 lpp
74.125.114.192/26 grq
74.125.115.0/24 tul
74.125.177.0/24 atl
74.125.178.0/24 bom
74.125.179.0/25 cbf
74.125.179.128/26 hkg
74.125.179.192/26 cbf
74.125.180.0/24 chs
74.125.181.0/25 bru
74.125.181.128/26 lax
74.125.181.192/26 grq
74.125.182.0/24 cbf
74.125.183.0/24 cbf
74.125.184.0/24 chs
74.125.185.0/25 chs
74.125.185.128/26 tul
74.125.185.192/26 bll
74.125.186.0/25 dls
74.125.186.128/26 cbf
74.125.186.192/26 tpe
74.125.187.128/26 fra
74.125.187.192/26 las
74.125.191.0/24 tul
172.217.32.0/25 lhr
172.217.32.128/26 sin
172.217.32.192/26 mel
172.217.33.0/25 syd
172.217.33.128/25 fra
172.217.34.0/26 fra
172.217.34.64/26 bom
172.217.34.128/26 del
172.217.34.192/26 bom
172.217.35.0/26 gru
172.217.35.64/26 lhr
172.217.35.128/26 gru
172.217.35.192/26 cbf
172.217.36.0/24 atl
172.217.37.0/25 gru
172.217.37.128/26 lpp
172.217.37.192/26 cbf
172.217.38.0/25 bom
172.217.38.128/26 tul
172.217.38.192/26 cgk
172.217.39.128/26 scl
172.217.39.192/26 tul
172.217.40.0/25 grq
172.217.40.128/25 las
172.217.41.0/25 grq
172.217.41.128/26 cbf
172.217.41.192/26 bru
172.217.42.0/25 tpe
172.217.42.128/25 cmh
172.217.43.0/25 yul
172.217.43.128/26 sin
172.217.43.192/26 tpe
172.217.44.0/25 yul
172.217.44.128/26 fra
172.217.44.192/26 sin
172.217.45.0/25 yul
172.217.45.128/25 fra
172.217.46.0/24 dls
172.217.47.0/25 sin
172.217.47.128/25 lhr
172.217.96.0/26 grq
172.217.96.64/26 cbf
172.217.96.128/26 dfw
172.217.96.192/26 bru
172.217.97.0/26 sin
172.217.97.64/26 mci
172.217.97.128/25 mel
172.217.98.0/24 yul
172.217.106.0/25 cmh
172.217.106.128/26 kul
172.217.106.192/26 chs
172.217.107.0/26 iad
172.217.107.64/26 cbf
172.217.107.128/26 dls
172.217.107.192/26 cmh
172.217.108.0/26 mci
172.217.108.64/26 cid
172.217.108.128/26 dia
172.217.108.192/26 nrt
172.217.109.0/26 mel
172.217.109.64/26 ske
172.217.109.128/26 auz
172.217.109.192/26 nrt
172.217.110.0/26 phx
172.217.110.64/26 cmh
172.217.110.128/25 tul
172.217.111.0/26 iad
172.217.111.64/26 mci
172.217.111.128/26 auz
172.217.111.192/26 scl
172.253.0.0/25 lax
172.253.0.128/25 mel
172.253.1.0/25 lax
172.253.1.128/26 waw
172.253.1.192/26 fra
172.253.2.0/25 lax
172.253.2.128/26 fra
172.253.2.192/26 mad
172.253.3.0/25 nrt
172.253.3.128/26 lbg
172.253.3.192/26 cbf
172.253.4.0/25 hkg
172.253.4.128/25 lbg
172.253.5.0/25 hkg
172.253.5.128/25 mad
172.253.6.0/25 hkg
172.253.6.128/25 nrt
172.253.7.0/25 chs
172.253.7.128/26 nrt
172.253.7.192/26 grq
172.253.8.0/25 iad
172.253.8.128/26 iad
172.253.8.192/26 icn
172.253.9.0/25 iad
172.253.9.128/26 atl
172.253.9.192/26 lax
172.253.10.0/25 iad
172.253.10.128/25 fra
172.253.11.0/25 zrh
172.253.11.128/26 cmh
172.253.11.192/26 grq
172.253.12.0/25 zrh
172.253.12.128/25 mil
172.253.13.0/25 kix
172.253.13.128/26 mil
172.253.13.192/26 waw
172.253.14.0/25 zrh
172.253.14.128/26 cmh
172.253.14.192/26 cgk
172.253.15.0/25 kix
172.253.15.128/26 bom
172.253.15.192/26 chs
172.253.80.0/26 tul
172.253.80.64/26 dfw
172.253.80.128/26 aus
172.253.80.192/26 nrt
172.253.81.0/26 lnk
172.253.81.64/26 dfw
172.253.81.128/26 aus
172.253.81.192/26 phx
172.253.82.0/26 lhr
172.253.82.64/26 cmh
172.253.82.128/26 rno
172.253.82.192/26 grq
172.253.83.0/26 hou
172.253.83.64/26 cbf
172.253.83.128/26 qro
172.253.83.192/26 lpp
172.253.84.0/26 fwa
172.253.84.64/26 rno
172.253.84.128/26 cmh
172.253.84.192/26 sin
172.253.85.0/26 dfw
172.253.85.64/26 cbf
172.253.85.128/25 cbf
172.253.86.0/25 cbf
172.253.86.128/27 lpp
172.253.86.160/27 scl
172.253.86.192/26 lpp
172.253.87.0/26 lpp
172.253.87.64/26 tul
172.253.87.128/25 tul
172.253.88.0/26 tul
172.253.88.64/26 mrn
172.253.88.128/26 mrn
172.253.88.192/27 sin
172.253.88.224/27 tpe
172.253.89.0/27 tpe
172.253.89.32/27 chs
172.253.89.64/26 chs
172.253.89.128/26 chs
172.253.89.192/27 chs
172.253.89.224/27 bru
172.253.90.0/26 bru
172.253.90.64/26 atl
172.253.90.128/26 atl
172.253.90.192/26 qro
172.253.91.0/26 yul
172.253.91.64/26 hou
172.253.91.128/26 iad
172.253.91.192/26 las
172.253.92.0/26 rno
172.253.92.64/26 gru
172.253.92.128/26 bru
172.253.92.192/26 tul
172.253.93.0/26 sin
172.253.93.64/26 lnk
172.253.93.128/26 syd
172.253.93.192/26 chs
172.253.94.0/26 ske
172.253.94.64/26 ckv
172.253.94.128/25 arn
172.253.95.0/25 cmh
172.253.95.128/26 lpp
172.253.95.192/26 grq
172.253.184.0/26 chs
172.253.184.64/26 auz
172.253.184.128/26 tul
172.253.184.192/26 bom
172.253.185.0/26 cbf
172.253.185.64/26 icn
172.253.185.128/26 mrn
172.253.185.192/26 kix
172.253.186.0/26 kul
172.253.186.64/26 cmh
172.253.186.128/26 iad
172.253.186.192/26 cbf
172.253.187.0/26 bru
172.253.187.64/26 kul
172.253.187.128/26 fwa
172.253.187.192/26 dfw
172.253.188.0/25 mrn
172.253.188.128/26 iad
172.253.188.192/26 dls
172.253.189.0/26 kul
172.253.189.64/26 icn
172.253.189.128/26 rno
172.253.189.192/26 cid
172.253.190.0/26 phx
172.253.190.64/26 lnk
172.253.190.128/26 gru
172.253.190.192/26 iad
172.253.191.0/26 chs
172.253.191.64/26 mvd
172.253.191.128/26 grq
172.253.191.192/26 hou
172.253.192.0/24 cbf
172.253.193.0/25 kix
172.253.193.128/26 slc
172.253.193.192/26 fra
172.253.194.128/26 cbf
172.253.194.192/26 lhr
172.253.195.128/26 fra
172.253.195.192/26 iad
172.253.196.0/25 cbf
172.253.196.128/26 tul
172.253.196.192/26 slc
172.253.197.0/25 fra
172.253.197.128/26 lbg
172.253.197.192/26 bom
172.253.198.128/26 dfw
172.253.198.192/26 kix
172.253.199.0/25 fra
172.253.199.128/26 kix
172.253.199.192/26 cbf
172.253.200.128/26 slc
172.253.200.192/26 cgk
172.253.201.0/25 syd
172.253.201.128/25 tlv
172.253.202.0/24 bll
172.253.204.0/25 syd
172.253.204.128/25 bom
172.253.205.0/24 lhr
172.253.206.0/24 waw
172.253.209.0/25 ckv
172.253.209.128/25 chs
172.253.210.0/24 iad
172.253.211.0/25 sin
172.253.211.128/26 icn
172.253.211.192/26 bom
172.253.212.0/25 tul
172.253.212.128/26 scl
172.253.212.192/26 chs
172.253.213.0/25 iad
172.253.213.128/26 del
172.253.213.192/26 dmm
172.253.214.0/25 iad
172.253.214.128/26 cbf
172.253.214.192/26 fra
172.253.215.0/25 bru
172.253.215.128/26 bom
172.253.215.192/26 sin
172.253.216.0/25 chs
172.253.216.128/26 sin
172.253.216.192/26 trn
172.253.217.0/25 tul
172.253.217.128/25 trn
172.253.218.0/25 uos
172.253.218.128/26 syd
172.253.218.192/26 cbf
172.253.219.0/25 scl
172.253.219.128/26 chs
172.253.219.192/26 gru
172.253.220.0/25 bom
172.253.220.128/26 scl
172.253.220.192/26 tul
172.253.221.0/25 cbf
172.253.221.128/26 iad
172.253.221.192/26 bom
172.253.222.0/25 slc
172.253.222.128/26 cmh
172.253.222.192/26 bom
172.253.223.0/25 slc
172.253.223.128/26 cmh
172.253.223.192/26 iad
172.253.224.0/24 cgk
172.253.225.0/24 fra
172.253.226.0/24 del
172.253.227.0/25 ckv
172.253.227.128/26 mad
172.253.227.192/26 ber
172.253.228.0/25 uos
172.253.228.128/26 mil
172.253.228.192/26 ber
172.253.229.0/25 las
172.253.229.128/26 mel
172.253.229.192/26 del
172.253.230.0/25 gru
172.253.230.128/26 bom
172.253.230.192/26 mel
172.253.231.0/25 las
172.253.231.128/26 lax
172.253.231.192/26 bru
172.253.232.0/25 las
172.253.232.128/26 slc
172.253.232.192/26 fra
172.253.233.0/25 gru
172.253.233.128/25 ber
172.253.234.0/24 gru
172.253.235.0/25 nrt
172.253.235.128/25 bom
172.253.236.0/25 nrt
172.253.236.128/26 nrt
172.253.236.192/26 sin
172.253.237.0/25 hkg
172.253.237.128/25 zrh
172.253.238.0/25 nrt
172.253.238.128/25 yul
172.253.239.0/25 slc
172.253.239.128/26 tpe
172.253.239.192/26 tlv
172.253.240.0/24 tul
172.253.241.0/24 dhr
172.253.242.0/24 chs
172.253.243.0/24 ckv
172.253.244.0/25 bom
172.253.244.128/26 lax
172.253.244.192/26 jnb
172.253.245.0/24 las
172.253.247.0/24 syd
172.253.248.0/24 bru
172.253.249.0/25 atl
172.253.249.128/26 del
172.253.249.192/26 jnb
172.253.250.0/24 cmh
172.253.251.0/24 dfw
172.253.252.0/24 icn
172.253.253.0/24 icn
172.253.254.0/24 dls
172.253.255.0/24 waw
173.194.90.0/24 cbf
173.194.91.0/24 scl
173.194.93.0/24 tpe
173.194.94.0/24 cbf
173.194.95.0/24 tul
173.194.96.0/25 dub
173.194.96.128/25 fra
173.194.97.0/24 chs
173.194.98.0/24 lpp
173.194.99.0/25 tul
173.194.99.128/25 dmm
173.194.100.0/24 mrn
173.194.101.0/24 tul
173.194.102.0/24 atl
173.194.103.0/24 cbf
173.194.168.0/25 nrt
173.194.168.128/26 nrt
173.194.168.192/2

プログラムで位置情報を取得する

アドレス範囲は次のように取得できます。

  • JSON ファイル:

    curl https://www.gstatic.com/ipranges/publicdns.json
    
  • RFC 8805 位置情報フィード

    curl https://www.gstatic.com/ipranges/publicdns_geofeed.txt
    

次の Python スクリプトを使用して、Google Public DNS が権威 DNS サーバーにクエリを送信するために使用する IP アドレス範囲のリストを作成できます。

このデータは、locations.publicdns.goog. で TXT レコードとしても利用できます。ただし、データサイズを考慮すると、DNS TXT レコードは適切な形式ではなくなりました。TXT レコードは、上記の JSON 形式のファイルに置き換えられます。TXT レコードを使用している場合は、TXT レコードを将来的に削除する予定であるため、代わりに JSON ファイルを使用するように切り替えてください。

コマンドライン

curl と jq ツールを使用して、コマンドラインから Google Public DNS の IP 範囲を抽出できます。

curl https://www.gstatic.com/ipranges/publicdns.json | jq '.prefixes[]  | .ipv4Prefix // .ipv6Prefix '

そのためには、次の条件を満たしている必要があります。

Python

次の Python スクリプトを使用して、Google Public DNS で使用されている IP アドレス範囲のリストを作成できます。

#!/usr/bin/env python3
"""An example to fetch and print the Google Public DNS IP ranges."""

import ipaddress
import json
import urllib.request

publicdns_url = 'https://www.gstatic.com/ipranges/publicdns.json'


def read_url(url):
  try:
    s = urllib.request.urlopen(url).read()
    return json.loads(s)
  except urllib.error.HTTPError:
    print('Invalid HTTP response from %s' % url)
    return {}
  except json.decoder.JSONDecodeError:
    print('Could not parse HTTP response from %s' % url)
    return {}


def main():
  publicdns_json = read_url(publicdns_url)
  print('{} published: {}'.format(publicdns_url,
                                  publicdns_json.get('creationTime')))

  locations = dict()
  ipv4, ipv6 = set(), set()
  for e in publicdns_json['prefixes']:
    if e.get('ipv4Prefix'):
      ip = ipaddress.IPv4Network(e.get('ipv4Prefix'), strict=False)
      ipv4.add(ip)
    if e.get('ipv6Prefix'):
      ip = ipaddress.IPv6Network(e.get('ipv6Prefix'), strict=False)
      ipv6.add(ip)
    locations[ip] = e.get('scope')
  print('IP ranges used by Google Public DNS for contacting '
        'authoritative DNS servers:')
  for i in list(ipv4) + list(ipv6):
    print(i, locations[i])


if __name__ == '__main__':
  main()

macOS の場合、このスクリプトを使用するには、次の構成の Python 3 ランタイムが必要です。

  • macOS 用の最新バージョンの Python 3 ランタイムをインストールします。
  • Applications フォルダの Python フォルダにある Install Certificates.command を実行し、Python ランタイムで使用する信頼できるルート証明書のリスト(cert.pem)をインストールします。VERSION は、インストールした Python のバージョン(3.8 など)で置き換えます。
    sudo "/Applications/Python VERSION/Install Certificates.command"

Google Public DNS は、BIND などのオープンソース ソフトウェアをベースにしていますか?

Google Public DNS は、Google 独自の DNS 標準の実装です。

Google Public DNS のコードをオープンソース ソフトウェアとしてリリースする予定はありますか?

現時点では、Google Public DNS をオープンソース化する予定はありません。 しかし、速度、セキュリティ、標準への準拠を強化するために講じたすべての手順を詳しく説明しています。

Google Public DNS は IPv6 をサポートしていますか?

Google Public DNS には、IPv6 接続を使用するクライアントからの受信リクエスト用の IPv6 アドレスがあり、IPv6 アドレスに対するすべてのリクエストに応答し、AAAA レコードが存在する場合はそれを返します。IPv6 専用の権威ネームサーバーを完全にサポートしています。IPv6 リゾルバのアドレスは、Google Public DNS のスタートガイドに記載されています。

Google ウェブサイトの IPv6 の結果が表示されない場合があります。ユーザー エクスペリエンスを最適化するため、Google は IPv6 接続が良好なクライアントにのみ AAAA レコードを提供します。このポリシーは Google Public DNS とは完全に独立しており、Google の権威ネームサーバーによって適用されます。詳しくは、Google over IPv6 のページをご覧ください。

IPv6 のみのネットワークとシステムの場合、Google Public DNS64 を使用して、A レコードはあるが AAAA レコードがないドメイン名の合成 AAAA レコードを取得できます。これらの合成 AAAA レコードは、NAT64 サービス用に予約された既知の IPv6 プレフィックスを使用して、IPv6 のみのクライアントを NAT64 ゲートウェイに転送します。スタートガイドの手順に沿ってシステムを構成し、リゾルバ アドレスを DNS64 IPv6 構成に置き換えます。

Google Public DNS は DNSSEC プロトコルをサポートしていますか?

Google Public DNS は、検証を行うセキュリティ対応のリゾルバです。DNSSEC 署名付きゾーンからのすべてのレスポンスは、クライアントが DNS リクエストで CD フラグを明示的に設定して検証を無効にしない限り、検証されます。

DNSSEC を使用しているかどうかを確認するにはどうすればよいですか?

http://www.dnssec-failed.org/ にアクセスすると、簡単なテストを行うことができます。このサイトは、認証チェーンが破損しているため、DNS エラーを返すように特別に構成されています。エラーが表示されない場合は、DNSSEC を使用していません。

Google Public DNS は、DNSSEC 検証に失敗したルックアップをどのように処理しますか?

Google Public DNS がレスポンスを検証できない場合(構成ミス、RRSIG レコードの欠落または誤りなど)、代わりにエラー レスポンス(SERVFAIL)を返します。ただし、影響が大きい場合(非常に人気のあるドメインで検証が失敗するなど)、問題が解決されるまで、ゾーンの検証を一時的に無効にすることがあります。

特定のドメインが DNSSEC 検証に失敗する理由を確認するにはどうすればよいですか?

Verisign Labs の DNS Analyzer と Sandia National Laboratories の DNSViz は、任意のドメインの DNSSEC 認証チェーンを表示する 2 つの DNSSEC 可視化ツールです。これらは、破損が発生した場所を示し、DNSSEC 障害の原因を検索するのに役立ちます。

Google Public DNS が古いデータを提供している。データを強制的に更新することはできますか?

キャッシュのフラッシュ ツールを使用すると、一般的なレコードタイプとほとんどのドメイン名の Google Public DNS キャッシュを更新できます。ドメインをフラッシュするためにドメインの所有権を証明する必要はありませんが、サービスの自動不正使用を制限する reCAPTCHA を解決する必要があります。

登録したドメインまたは NS レコードでサブ委任したドメインのレコードタイプをフラッシュすると、そのタイプのキャッシュに保存されたレスポンスだけでなく、そのドメインのネームサーバーに関する委任情報もフラッシュされます。最近ネームサーバーを変更した(登録事業者または DNS ホスティング プロバイダを変更した)場合は、www などのサブドメインをフラッシュする前にこれを行うことが重要です。これにより、古い DNS サーバーの古いデータから更新されることがなくなります。

Google Public DNS が古い CNAME レコードを含む回答を返している場合は、チェーンの最後の CNAME から始めて、クエリされた名前まで戻り、各 CNAME ドメインの CNAME レコードタイプをフラッシュする必要があります。すべての CNAME をフラッシュしたら、古い CNAME で応答しているレコードタイプを使用して、クエリされた名前をフラッシュします。

フラッシュできる内容にはいくつかの制限があります。

  • 位置情報に EDNS クライアント サブネット(ECS)を使用しているドメインは、フラッシュできません。ECS を使用しているドメインの場合は、ECS 対応レコードの TTL を十分に短く(15 分以下)設定して、フラッシュする必要がないようにしてください。

  • すべてのサブドメイン、またはドメイン名のすべてのレコードタイプをフラッシュする唯一の方法は、フラッシュするドメイン名ごとに各レコードタイプをフラッシュすることです。これが現実的でない場合は、レコードの TTL が期限切れになるまで待つことができます(実際の TTL が長くても、通常は 6 時間に制限されます)。

  • пример.example などの国際化ドメイン名をフラッシュするには、Punycode 形式(上記の例では xn‑‑e1afmkfd.example)を使用します。ASCII 文字、数字、ハイフン、アンダースコア以外の文字を含むドメインはフラッシュできません。

Google Public DNS は、クライアントとの通信を暗号化することで、いわゆる「ラストホップ」を保護しますか?

従来の DNS トラフィックは、暗号化なしで UDP または TCP 経由で転送されます。また、クライアントと Google Public DNS 間のトラフィックを暗号化する DNS over TLS と DNS over HTTPS も提供しています。https://dns.google でお試しください。

DNSSEC がすでに存在するのに、DNS over HTTPS が必要なのはなぜですか?

DNS over HTTPS と DNSSEC は補完的な関係にあります。Google Public DNS は、可能な限り DNSSEC を使用してネームサーバーからのレスポンスを認証します。ただし、Google Public DNS からの従来の UDP または TCP レスポンスを安全に認証するには、クライアントが DNSSEC 検証自体を繰り返す必要があります。現在、これを行うクライアント リゾルバはほとんどありません。DNS over HTTPS は、スタブ リゾルバと Google Public DNS 間のトラフィックを暗号化し、DNSSEC を補完してエンドツーエンドの認証済み DNS ルックアップを提供します。

Google Public DNS のパフォーマンスを他の DNS サービスのパフォーマンスと比較してテストするために使用できるツールはありますか?

Google Public DNS のレスポンス時間を測定するために使用できる、無料のツールが多数あります。Namebench をおすすめします。 どのツールを使用する場合でも、統計的に有意な結果を得るには、5, 000 を超える多数のドメインに対してツールを実行する必要があります。テストの実行には時間がかかりますが、5,000 以上のドメインを使用することで、ネットワーク レイテンシ(パケットロスと再送信)による変動を最小限に抑え、Google Public DNS の大規模な名前キャッシュを十分に活用できます。

Namebench でドメイン数を設定するには、Number of tests GUI オプションまたは -t コマンドライン フラグを使用します。詳細については、Namebench のドキュメントをご覧ください。

Google Public DNS リゾルバに対して ping または traceroute を実行すると、レスポンスのレイテンシが他のサービスよりも高くなります。Google Public DNS は常に遅いということですか?

ping 時間に加えて、名前解決の平均時間も考慮する必要があります。たとえば、ISP の ping 時間が 20 ミリ秒で、平均名前解決時間が 500 ミリ秒の場合、全体的な平均応答時間は 520 ミリ秒になります。Google Public DNS の ping 時間が 300 ミリ秒で、多くの名前を 1 ミリ秒で解決する場合、全体的な平均応答時間は 301 ミリ秒になります。より正確に比較するには、多数のドメインの名前解決をテストすることをおすすめします。

Google Public DNS は CDN の位置情報とどのように連携しますか?

ダウンロード可能なマルチメディアやストリーミング マルチメディアを提供する多くのサイトでは、Akamai などの DNS ベースの第三者のコンテンツ配信ネットワーク(CDN)でコンテンツをホストしています。DNS リゾルバが CDN の IP アドレスを権威ネームサーバーにクエリすると、ネームサーバーはユーザーではなくリゾルバに最も近い(ネットワーク距離で)アドレスを返します。ISP ベースのリゾルバや Google Public DNS などのパブリック リゾルバの場合、リゾルバがユーザーの近くにないことがあります。このような場合、ブラウジング速度が多少低下する可能性があります。この点において、Google Public DNS は他の DNS プロバイダと変わりません。

DNS サーバーとユーザー間の距離を短縮するため、Google Public DNS は世界中にサーバーをデプロイしています。特に、ヨーロッパのユーザーはヨーロッパの CDN コンテンツ サーバーに、アジアのユーザーはアジアの CDN サーバーに、米国東部、中部、西部のユーザーはそれぞれの地域の CDN サーバーに転送される必要があります。また、CDN がマルチメディア ユーザーに適切な DNS 結果を提供できるように、こちらの情報も公開しています。

また、Google Public DNS は、RFC に記載されている EDNS クライアント サブネットと呼ばれる技術ソリューションを使用します。これにより、リゾルバはクライアントの IP アドレスの一部(IPv4 / IPv6 の場合はそれぞれ最初の 24 / 56 ビット以下)を DNS メッセージの送信元 IP として渡すことができます。これにより、ネームサーバーはリゾルバの場所ではなく、ユーザーの場所に基づいて最適化された結果を返すことができます。

プライバシー

Google Public DNS サービスを使用すると、Google はどのような情報をログに記録しますか?

Google Public DNS のプライバシー ページには、Google が収集する情報の完全なリストが記載されています。Google Public DNS は、Google のメインのプライバシー ポリシーに準拠しています。このポリシーは、プライバシー センターでご確認いただけます。

クライアント IP アドレスは一時的にのみログに記録されます(1 ~ 2 日以内に消去されます)が、ISP と都市 / 大都市レベルの場所に関する情報は、サービスをより高速、より良く、より安全にするために、より長く保持されます。

収集された情報は Google アカウントに保存されますか?

保存されたデータが Google アカウントに関連付けられることはありません。

Google Public DNS サービスから収集した情報を Google 以外の第三者と共有することはありますか?

いいえ。ただし、法的手続きや強制力のある政府機関からの要請など、Google のプライバシー ポリシーに記載されている限定的な状況を除きます。(ユーザーデータのリクエストに関する Google の透明性レポートもご覧ください)。

Google は、一時ログまたは永続ログの情報を、他のサービスのために Google に提供した個人情報と関連付けたり、組み合わせたりしますか?

プライバシー ページに記載されているように、Google がこのような方法でログデータを組み合わせたり、関連付けたりすることはありません。