【Windows】dns_probe_finished_nxdomain | このDNSエラーが発生する原因と対処

dns_probe_finished_nxdomainとは


dns_probe_finished_nxdomain



パソコンやスマホなどのブラウザ(Webサイト閲覧ソフトウェア)で例えばインターネット上のサーバを閲覧している場合など、次のエラーで表示に失敗する場合があります。


dns_probe_finished_nxdomain



ブラウザでは"サーバーのDNSアドレスが見つかりませんでした。"、"サーバーが見つかりませんでした。"、"このページを表示できません。"、"Webアドレスが正しいことを確認してください"、"(ドメイン名)という名前のサーバーが見つかりませんでした。"などと表示されます。


これはGoogle Chrome、Safari、Firefox、インターネットエクスプローラなどのブラウザで発生するようです。このエラーが発生するとWebサイトの閲覧ができなくなります。今まで普通に見れていたのが突然このエラーで見れなくなる場合があります。あるいはこのエラーが永続的に表示され全くサイトが見れなくなる場合もあります。あるいは特定のサイトだけこのエラーが発生して他のサイトは見れるという場合もあるようです。

dns_probe_finished_nxdomainの原因


まずはこのエラーの原因と説明します。
これはブラウザがWebサイトに接続しようとしますが、接続しようとしたホスト(サイト)の名前解決に失敗したということです。名前解決はDNSサーバに対して要求します。DNSサーバは別名"ネームサーバー"とも呼ばれます。"DNS_PROBE_FINISHED_NXDOMAIN"のNXDOMAINとは"Non-exsit domain"とうことです。要するに存在しないドメインということです。あなたがブラウザでアクセスしようとしたサイトが存在しないドメインでしたということです。

名前解決には一般的に以下の手順で行われます。

(1)ユーザがブラウザにURLを入力する。例えばyahoo.co.jp と入力したとする。
(2)ブラウザはOSを経由してDNSサーバに"yahoo.co.jp"というホストのIPアドレスを調べに行く。
(3)DNSサーバは"yahoo.co.jp"のアドレスは a.b.c.d ですよ。と通知してくる。(a.b.c.dは実際には数字が入ります。
(4)ブラウザはこのa.b.c.dに接続する。
(5)a.b.c.dはコンテンツをブラウザに送信する。

"dns_probe_finished_nxdomain"は上記の(3)で失敗したという意味になります。
考えられる原因は主に次の3種類です。

(1)DNSサーバが停止している
(2)入力したURLが存在しない。(入力ミス、サイトが廃止されたなど)
(3)自分の機器に異常が発生している
(4)ネットワークに問題が発生している
(5)セキュリティソフトがサイトをブロックしている(セキュリティソフトが危険なサイトと判断したため)

このエラーに対する対処


このエラーへの対応に関して説明します。
Windowsの例で説明しますが、他のOSやデバイスでも考え方は同様です。

もし特定のサイトだけでこの"dns_probe_finished_nxdomain"が発生する場合はそのサイトの問題だと思われます。(他のサイトではエラーとならない)そのブラウザに入力したURLが正しいか、すでにそのサイトが消滅していないか、一時的なメンテナンスでサイトが停止しているのではないかなどが考えられます。
もしどのサイトでもこのエラーが発生する場合は次を読み進めてください。

ブラウザやOSの再起動


何らかの原因でデバイスやブラウザに問題が発生している可能性があります。Google,Safari,Microsoft Edge などを一度終了してから再度起動してください。またキャッシュをクリアして改善するか確認してください。iPhoneならSafariの設定より閲覧履歴をクリアできると思います。
これでも解決しない場合はPCやデバイス(iPhoneやAndroidやPadなど)を再起動して改善するか確認してください。
再起動することによりキャッシュがクリアされたらりTCP/IPスタックがリセットされ改善する場合があるようです。

DNSキャッシュをクリアする


DNSのキャッシュをクリアします。Windowsの場合は以下コマンドでDNSキャッシュのクリアが可能です。
OSごとにクリア方法は異なります。


C:\>ipconfig /flushdns

Windows IP 構成

DNS リゾルバー キャッシュは正常にフラッシュされました。



キャッシュとはIPアドレスとホスト名のペアを記憶しておく機能です。このキャッシュにより毎回DNSサーバへ問い合わせることなく名前を解決することが可能です。
Windows 環境において、現在のDNSキャッシュを表示するには次のコマンドを実行します。


C:\>ipconfig /displaydns



DNS キャッシュを表示するコマンド



IPアドレスを再取得する


DHCP環境の場合、IPアドレスを再取得することにより改善するケースもあります。一般的なプロバイダ、キャリアと契約している場合はDHCP環境なのでこのコマンドは有効です。家庭内でWi-Fiルータを使用している場合も有効だだと思います。
Windowsの場合は次のコマンドでIPアドレスを再取得することが可能です。


C:\>ipconfig /renew

Windows IP 構成
(以下省略)



新しいIPアドレスを取得した後で再度ブラウザからWebサイトを閲覧して"dns_probe_finished_nxdomain"エラーが表示されないことを確認します。

arpキャッシュをクリアする


arpキャッシュをクリアして改善するか確認します。arpとは"Address Resolution Protocol"の略称です。
ArpとはIPアドレスとMacアドレスの対を解決するプロトコルです。DNSキャッシュとはネットワークの層が違うのですがこれで解決する場合もあります。


C:\>arp -d



ちなみにコマンドプロンプトは管理者権限で開く必要があります。一般的な権限でコマンドプロンプトを開くと次のエラーが発生します。


C:\>arp -d
ARP エントリを削除できませんでした: 要求された操作には管理者特権が必要です。



このコマンドにより"dns_probe_finished_nxdomain"が改善するか確認します。

DNSサーバの設定を確認する


DNSサーバの設定が正しいか確認します。プロバイダが指定したDNSサーバが変更になっているかもしれません。
Windows 環境ではDNSサーバを確認するには次のコマンドを発行します。


C:\>ipconfig /all | findstr -i dns
(中略)
DNS サーバー. . . . . . . . . . . . .: 1.1.1.1



こので"DNS サーバー"が空っぽなら問題があります。プロバイダからのDNS取得に失敗している可能性もあります。
上記例での1.1.11.は無料のDNSサーバです。もしプロバイダ提供のDNSサーバが不安定な場合はこの1.1.1.1に変更して改善するか確認するのも一つの案です。

次のようなDNSサービスが候補となります。

(1)Googleのパブリック DNS
・8.8.8.8
・8.8.4.4

(2)
・1.1.1.1
・1.0.0.1

Windowsの場合は次の手順で変更が可能です。

(1)「コントロールパネル」をの「ネットワークと共有センター」を選択
(2)インターネット接続に使用しているアダプタをクリック(ローカルエリア接続など)
(3)「プロパティ」をクリック
(4)「インターネットプロトコルバージョン4(TCP/IP v4)」を選択し「プロパティ」をクリック
(5)「次のDNSサーバアドレスを使う」を選択
(6)「優先DNSサーバー」「代替DNSサーバー」に上記のIPアドレスを入力
(7)開いたウィンドウを閉じる


プロバイダの利用制限


プロバイダの通信容量制限にひっかかりこのエラーが発生している場合があります。極端な通信のスローダウンも同時に発生していたらこれが原因の可能性が高いです。キャリアに確認して制限が発生していないか確認します。

セキュリティソフトウェアによるブロック


DNS_PROBE_FINISHED_NXDOMAINの原因として見落とされがちなのはセキュリティソフトによるブロックです。
インターネット上のWebサイトにはフィッシングサイトや不正サイトなど接続すると危険なサイトが多数あります。そのようなサイトの一覧を"ブラックリスト"と呼びます。これらのサイトにブラウザでアクセスするとクレジットカード番号、銀行の暗証番号を盗まれたり、PC上のファイルが盗まれたりPCが破壊されたりします。場合によってはランサムウェアによりフィルが暗号化され身代金を要求される場合もあります。

DNSクライアントサービスの状態確認


Windowsにおいて DNS クライアントサービスの状態を確認します。このサービスは名前解決には起動している必要があります。
WindowsでのDNSクライアントサービスの名前は"Dnscache"です。
コマンドプロンプトを管理者権限で開いて次のコマンドを実行します。


C:\>sc query Dnscache

SERVICE_NAME: Dnscache
TYPE : 30 WIN32
STATE : 4 RUNNING
(NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0




STATEが RUNNING の場合h問題ありません。もしSTATEがSTOPになっている場合は問題が発生しているということです。
DNSクライアントの設定を見直す必要があります。

whois で確認する


そのサイトに問題が発生してアクセスできない可能性があります。ホスティングサービスを利用している場合は契約が切れたのかもしれません。whoisサービスでそのドメイン名のサイトの状態を確認すると何かヒントが得られるかもしれません。

https://whois.jprs.jp/


まとめ


以上がブラウザでよく発生する"dns_probe_finished_nxdomain"エラーの原因と対処です。
どのサイトでも発生するなら環境の問題、特定のサイトだけ発生するならそのサイト固有の問題と思われます。
そのサイト固有で自社サイトではない場合は修復するまで待つしかないでしょう。

もしすべてのサイトで発生するならあなたのPCやスマホの問題かネットワークの問題です。一つ一つ解決方法を試してみてください。











Windowsのよくある質問 FAQ




個人的に独自に調査した事項をまとめています。各ベンダーとは全く関係がありません。
内容に誤りがある場合や情報が古くなっている場合があります。その場合でも修正されるとは限りません。
参考としてサイト閲覧ください。万が一誤りがあり損失等が発生しても保証しません。あくまでも自己責任でサイトを閲覧ください。