よくある質問

全般

Google Public DNS とは何ですか?

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

Google が DNS サービスに取り組んでいる理由

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

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

Google Public 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 解決サービスを提供しています。他の代替 DNS サービスとともに、プライマリまたはセカンダリ DNS リゾルバとして Google Public 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 Public DNS を実行できますか?

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

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

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

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

ネットワークの DNS 設定を変更できる場合は、ほとんどの ISP で Google Public DNS を使用できます。

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 にクエリを送信すると、使用される Anycast アドレス(8.8.8.88.8.4.4、または 2001:4860:4860:: の IPv6 アドレスのいずれか)をアドバタイズしている最も近いロケーションにルーティングされます。これらの Anycast アドレスをアドバタイズする特定のロケーションは、ネットワークの状態とトラフィック負荷によって変化します。これには、Google Edge ネットワークのコア データセンターとエッジ ポイント オブ プレゼンス(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 アドレス範囲のロケーション

    

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

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

  • 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 レコードを使用している場合は、JSON ファイルを使用するように変更してください。TXT レコードは将来的に削除される予定です。

コマンドライン

curljq ツールを使用すると、コマンドラインから 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 が講じたすべての手順の詳細は以上です。

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

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

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

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

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

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

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

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

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

(構成ミス、RRSIG レコードがない、または正しくないなど)Google Public DNS がレスポンスを検証できない場合は、代わりにエラー レスポンス(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 などの国際化ドメイン名をフラッシュするには、ピュニコード形式(上記の例では xn‑‑e1afmkfd.example)を使用します。ASCII の英字、数字、ハイフン、アンダースコア以外の文字を含むドメインはフラッシュできません。

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

従来の DNS トラフィックは、暗号化なしで UDP または TCP 経由で転送されます。また、クライアントと Google Public DNS 間のトラフィックを暗号化する DNS over TLSDNS 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 でドメインの数を設定するには、[テストの数] GUI オプションまたは -t コマンドライン フラグを使用します。詳細については、Namebench のドキュメントをご覧ください。

Google Public DNS Resolver に対して ping または traceroute を実行すると、応答レイテンシが他のサービスのそれよりも長くなります。Google Public DNS は常に遅いということでしょうか?

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

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

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

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

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

プライバシー

Google パブリック DNS サービスを使用しているときに、Google はどのような情報を記録しますか?

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

クライアントの IP アドレスは一時的にのみ記録され(1 ~ 2 日以内に削除されます)、ISP と市区町村レベルの位置情報は、サービスの高速化、改善、セキュリティ強化を目的として長期間保持されます。

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

保存されているデータはどの Google アカウントにも関連付けられません。

Google は、Google Public DNS サービスから収集した情報を Google の外部と共有しますか?

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

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

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