「DNSサーバーは応答していません」の原因と解決

WebサイトやYouTube動画の閲覧など、インターネットを利用している際に様々なエラーを目にすることがあります。「DNSサーバーは応答していません」(以下DNSエラーと呼びます)もその一つです。このメッセージは何を意味しているのでしょうか。エラーが発生する様々な原因と解決方法について説明します。

「DNSサーバーは応答していません」と表示される

DNSサーバーは応答していません
「DNSサーバーは応答していません」とは、後述するDNSサーバーに問題があり正常にインターネット通信を行うことができない状態です。
WindowsやMac環境でも見られる現象で、ネットワークが接続不能になることがあります。

エラーメッセージは一種類だけではなく、以下のようなものもあります。

・DNSサーバーに問題がある可能性があります
→ほぼ全ての環境で発生する可能性がある一般的な問題です。

・DNSサーバーは応答していません
→DNSサーバーの構成が適切で無い場合、このエラーメッセージが表示される可能性があります。

・このDNSサーバーは使用できない可能性があります
→DNSが自動に設定されている場合、またはコンピュータがモデムやルーターに正しく接続されていない場合、このエラーメッセージが表示されることがあります。

・DNSサーバーが利用できない可能性があります
→DNSが手動で構成されている場合、このエラーメッセージが表示されることがあります。

これらは全てネットワークに関連する何らかの問題が発生していることを示しておりますが、原因は異なることがあります。

「DNSのアドレスが見つかりませんでした。」

DNSのアドレスが見つかりませんでした。
ChromeブラウザでWebサイトを閲覧した際に、「このサイトにアクセスできません」「●●のサーバーのDNSアドレスが見つかりませんでした。」というエラーメッセージが表示されてサイトが閲覧できないことがあります。ほとんどの場合、Webサイト側ではなくユーザー側に問題があります。以下の原因が考えられます。

・接続しているネットワークが不安定である
・無線LAN親機・子機への電源供給が途絶えている
・ルーターに何らかの不具合が起こっている

また、ドメインが存在しない場合のエラーは「●●のサーバーのIPアドレスが見つかりませんでした」となり、DNSアドレスのエラーとは異なります。

DNSサーバーとは?

DNSはDomain Name Systemの略で、ドメイン名(人間)とIPアドレス(コンピュータ)を紐付ける翻訳機のような役割を担っています。このDNSサーバーに障害が発生するとドメイン名とIPアドレスの紐付けに失敗し、Webサイトが閲覧できなくなったり、メールの送受信が行えなくなるなど、インターネットを利用した通信が成立しなくなります。
私たちが普段インターネットを当たり前のように使うことができているのは、DNSサーバーが通信を行うためにドメイン名とIPアドレスの紐付きを行ってくれているからです。

DNS障害(DNSエラー)で考えられる原因

DNS障害(DNSエラー)にはいくつかの原因が考えられるため、問題の切り分けが必要となります。

・インターネット接続が失敗している
→DNSサーバーにアクセスするには、そもそもインターネットへの接続が必要です。インターネットの接続設定や接続機器のトラブルによって接続が失敗している可能性があります。

・インターネットには接続しているが、DNSサーバーに接続できていない
→インターネット接続に問題がない場合、DNSサーバーに接続できていない可能性があります。windowsではコマンドプロンプトにて「nslookup」というコマンドを使うことでDNSサーバーに接続しているかどうかを調べることができます。コマンド入力後にIPアドレスが返ってくれば正常ですが、IPアドレスが返ってこなかったり別のWebサイト情報が表示された場合はDNSサーバーに問題が発生しています。
例)nslookup google.com

・DNSサーバーがダウンしている
→DNSサーバーがアクセス集中や悪意ある第三者による攻撃、または災害などによってダウンしている可能性があります。

・Webサイトが閉鎖している
→閉鎖してサービスが停止している場合はDNSサーバーが応答せず、ホームページが表示されません。

「DNSサーバーは応答していません」の解決方法

エラーメッセージが表示された時の解決方法を説明します。まず自分で簡単にできる方法から確認し、それでも解決しない場合は最終的にISPに問い合わせることになります。

・無線LANや有線LANケーブルの状態を確認する(OS共通)
→無線LANの場合はオフになってしまっていないか機器のランプなどで確認して下さい。有線LANの場合はLANケーブルがしっかり挿さっているか、コネクタの場所に間違いがないかを確認して下さい。

・PCやタブレットを再起動する(OS共通)
→OS(Operationg System)に異常が発生している可能性があるため、再起動してOSを正常な状態に戻します。

・モデムやルーター、無線LAN機器(親機)を再起動する(OS共通)
→コンセントから電源プラグを抜き、5分後に電源プラグを挿して機器を再起動させます。機器が複数ある場合は再起動させる順番が推奨されている場合もあるので、取扱説明書などで確認して下さい。有線LANの場合はLANケーブルの挿し込みが確実にされているかどうかも確認してみて下さい。

・無線LAN機器(子機)を再接続する(OS共通)
→PCやタブレットのUSBポートに無線LANの子機を接続している場合は、別のUSBポートに挿し直してみて下さい。USBハブに接続している場合は、PCのUSBポートに直接接続してみて下さい。

・別のデバイスを使ってインターネット接続を行う(OS共通)
→別のPCやタブレットなどでインターネットに接続できるか確認して下さい。

・スマホを経由してテザリングでインターネット接続を行うOS(共通)
→スマホとPCをUSBやBluetoothでテザリング接続して、スマホ経由でインターネット接続を行います。テザリング対応スマホで可能です。

<Androidの場合>
設定画面を開きます。
「ネットワークとインターネット」を選択します。
「アクセスポイントとテザリング」を選択します。
「Wi-Fi テザリング」をONにします。
「Wi-Fi テザリング」を選択し、「アクセスポイント名」と「アクセスポイントのパスワード」を設定します。
「アクセスポイント名」に設定したWi-FiをPC側で検索し、「アクセスポイントのパスワード」を入力してテザリング接続します。

wifi テザリング

・ネットワーク診断を行う(Win10/8/8.1/Mac)
→インターネット接続に問題がある場合は、OSのトラブルシューティング機能を使って問題の特定と解決を図ります。

<Windows10の場合>
※管理者権限を持つアカウントで実行します

①デスクトップ画面左下のWindowsマーク(スタートボタン)からスタートメニューを開きます。
②「ネットワーク診断ツール」を選択します。
③ネットワーク診断ツールが自動的に進行します。
④ネットワーク診断ツールの画面右上に「完了」または「再診断」と表示されます。再診断の場合は×のついた項目を確認して下さい。

<Windows8/8.1の場合>
①デスクトップ画面の右下の角にポインタを移動させると表示されるチャームから、「検索」を選択します。
②「すべての場所(またはアプリ)」の検索窓に、「fm」と入力して検索します。
③検索結果の「ネットワーク診断」を選択します。
④確認するネットワーク接続を選択します。
⑤ネットワーク診断ツールが自動的に進行します。

<Macの場合>
※macOS Sierra(バージョン10.12)以降が対象です
①Wi-Fiネットワークに接続します。
②キーボードの「option」キーを押しながら、メニューバーのWi-Fiアイコンを選択します。
③Wi-Fiステータスメニューの「ワイヤレス診断を開く」を選択します。
④画面の指示に従って、「続ける」を選択します。

・セーフモードで起動する(Win10)
①デスクトップ画面左下のWindowsマーク(スタートボタン)からスタートメニューを開きます。
②歯車アイコンの「設定」を選択します。
③Windowsno設定ウインドウの「更新とセキュリティ」を選択します。
④設定ウインドウの「回復」を選択します。
⑤「今すぐ再起動」を選択します。
⑥オプションの選択ウインドウの「トラブルシューティング」を選択します。
⑦「詳細オプション」を選択します。
⑧「スタートアップ設定」を選択します。
⑨「再起動」を選択します。
⑩スタートアップ設定のオプションにて番号を選択します。

※セーフモードを解除するには、デスクトップ画面左下のスタートボタンから電源アイコンの「再起動」を選択します。

・ISPに問い合わせる(OS共通)
→通信障害が起きていないか、契約に問題がないか、サービスが終了していないかなどを確認して下さい。特に問題がなければ、接続機器が故障している可能性がありますので、修理や交換の依頼が必要になります。

DNSエラーが頻発する場合の解決方法

DNSエラーが頻発する場合、接続機器やPCの問題ではなくISPの管理するDNSサーバーに問題がある可能性が高いです。この場合、他のDNSサーバーを使用することで問題を解決することができます。

DNS設定

DNSサーバーに問題が発生している場合は、Googleが提供しているパブリックDNSの設定を行います。

Windows10の設定方法
デスクトップ画面左下のWindowsマーク(スタートボタン)からスタートメニューを開きます。
歯車アイコンの「設定」を選択します。
Windowsの設定ウインドウの「ネットワークとインターネット」を選択します。
「ネットワーク設定の変更」項目の「アダプターのオプションを変更する」を選択します。
インターネット接続アイコンを右クリックして「プロパティ」を選択します。
「この接続は次の項目を使用します」項目の「インターネットプロトコルバージョン 4(TCP/IPv4)」を選択し、項目下の「プロパティ」を開きます。
「次の DNS サーバーのアドレスを使う」にチェックをONにして、以下のように設定します。
優先 DNS サーバー: 8.8.8.8
代替 DNS サーバー: 8.8.4.4

次の DNS サーバーのアドレスを使う

⑧「OK」を選択してウインドウを閉じます。

<Windows8/8.1の設定方法>
①デスクトップ画面右下にあるアンテナアイコンを右クリックし、「ネットワークと共有センターを開く」を選択します。
②「アクティブなネットワークの表示」に表示されている、「Wi-Fi(xxxxx)」を右クリックし、「プロパティ」を選択します。
③「この接続は次の項目を使用します」項目の「インターネットプロトコルバージョン4(TCP/IPv4)」を選択し、「プロパティ」を選択します。
④「次のDNSサーバーのアドレスを使う」のチェックをONにして、以下のように設定します。
優先DNSサーバー: 8.8.8.8
代替DNSサーバー: 8.8.4.4
⑤「OK」を選択してウインドウを閉じます。

<Macの設定方法>
①Appleアイコンから「システム環境設定」を選択します。
②システム環境設定画面から、「ネットワーク」を選択します。
③ネットワークのウインドウ右下の「詳細」を選択します。
④「DNS」タブを選択します。
⑤「DNSサーバ」側の「+」を選択して、「8.8.8.8」「8.8.4.4」を入力します。

⑥「OK」を選択してウインドウを閉じます。

DNSの名前解決できない

名前解決とは、人間が認識しやすいドメイン名からコンピュータが実際に通信で使うIPアドレスを検索することです。Window10の場合、hostsファイル、DNSキャッシュ、DNSサーバー、NetBIOSの順番で名前解決を行います。WindowsでDNSの名前解決ができない場合、上記の順番を辿る以下を確認してみて下さい。

・hostsファイルを確認する
→hostsファイル内に名前解決するためのアドレスが記載されていると、それが原因となり名前解決できない場合があるので削除します。
①エクスプローラを開きます。
②「C:¥Windows¥System32¥drivers¥etc」を開きます。
③etcフォルダ内のhostsファイルをコピーして別の名前で保存しておきます。
④元のhostsファイルをメモ帳で開きます。
⑤行の左端に”#”がついていない行をすべて削除します。
⑥ファイルを上書き保存します。
⑦hostsファイルを閉じます。
⑧PCを再起動し、名前解決ができているか確認します。

・DNSリゾルバーキャッシュの削除する
→名前解決に使用していたDNSキャッシュを削除することで解決することがあります。

①Windowsマーク(スタートボタン)を右クリックし、「Windows PowerShell(管理者)」を選択します。
②以下のコマンドを入力して実行します。
ipconfig /flushdns
③実行後、「DNSリゾルバーキャッシュは正常にフラッシュされました」と表示されます。
④以下のコマンドをそれぞれ入力して実行し、IPアドレスの情報を更新します。
ipconfig / registerdns
ipconfig / release
ipconfig / renew
⑤Windows PowerShellウインドウを閉じます。
⑥PCを再起動し、名前解決ができているか確認します。

・Google Public DNSを設定する
→DNSサーバーが自動になっていた場合、誰でも使用できるGoogleのプブリックDNSサーバーを設定することで解決する可能性があります。
手順は上記「DNS設定」の項目を参照下さい。

・Windows Updateの配信の最適化をオフにする
→Windows Updateの配信の最適化が原因で、DNSの名前解決ができない問題報告がMicrosoftコミュニティに挙がっています。配信の最適化をオフにしてみて下さい。
①Windowsマーク(スタートボタン)を右クリックし、「設定」を選択します。
②「更新とセキュリティ」を選択します。
③「詳細オプション」を選択します。
④画面下部へスクロールして「配信の最適化」を選択します。
⑤「他のPCからダウンロードを許可する」をオフにします。
⑥PCを再起動し、名前解決ができているか確認します。

・IPv6を無効にする
→IPv6が有効になっているとDNSの名前解決ができないことがあります。IPv6を無効にしてみて下さい。
①Windowsマーク(スタートボタン)を右クリックし、「ネットワーク接続」を選択します。
②「ネットワーク設定の変更」項目の「アダプターのオプションを変更する」を選択します。
③「ワイヤレスネットワーク接続」(有線LANの場合は「ローカルエリア接続」)を右クリックして「プロパティ」を選択します。
④「この接続は次の項目を使用します」の一覧にある「インターネットプロトコルバージョン6(TCP/IPv6)」のチェックをOFFにします。
※「インターネットプロトコルバージョン4(TCP/IPv4)」のチェックがついていることも確認します
⑤「OK」を選択します。

・IPv4の優先順位を上げる
→IPv6を無効にせず、IPv4の通信を優先させることで名前解決ができる可能性があります。IPv6を無効にするよりもトラブルが発生しにくいですが、レジストリの変更を行うため慎重に作業する必要があります。

◇レジストリファイルを使って変更する(推奨)
→Microsoft公式ページにアクセスし、「プレフィックスポリシーでIPv6よりもIPv4を優先する」をダウンロードして実行して下さい。
上級ユーザー向けにWindowsでIPv6を構成するためのガイダンス - Microsoft
https://support.microsoft.com/ja-jp/help/929852/guidance-for-configuring-ipv6-in-windows-for-advanced-users

◇コマンドラインからレジストリを変更する
→Windows PowerShellを使って直接レジストリを書き換えます。事前にレジストリのバックアップを取るようにして下さい。

①Windowsマーク(スタートボタン)を右クリックし、「Windows PowerShell(管理者)」を選択します。
②以下のコマンドをコピーします。
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters" /v DisabledComponents /t REG_DWORD /d 0x20 /f
③コマンドプロンプトを起動し、上記のコマンドをペーストして実行します。
④「この操作は正しく終了しました」というメッセージが表示されたら、Windows PowerShellを閉じます。
PCを再起動し、名前解決ができているか確認します。

・ネットワークドライバーを再インストールする
→インストールされているネットワークドライバーに問題が発生しており、名前解決ができないことがあります。ネットワークドライバーの再インストールをお試し下さい。
①Windowsマーク(スタートボタン)を右クリックし、「デバイスマネージャ」を選択します。
②「ネットワークアダプタ」のツリーを展開します。
③「使用しているネットワークコントローラー名」を右クリックし、「デバイスのアンインストール」を選択します。
④ドライバーのアンインストール後、PCと虫眼鏡アイコンの「ハードウェア変更のスキャン」を選択します。
⑤「ネットワークアダプタ」に表示される「ネットワークコントローラー名」を右クリックし、「ドライバーの更新」を選択します。
⑥「ドライバーソフトウェアの最新版を自動検索」を選択し、最新のネットワークドライバーをインストールします。
⑦ドライバーのインストール後、名前解決ができているか確認します。

・LLDPプロトコルドライバーの設定を確認する
→ネットワークアダプタの「Microsoft LLDPプロトコルドライバー」がOFFになっていると名前解決ができない場合があります。ONにしてみて下さい。
①Windowsマーク(スタートボタン)を右クリックし、「ネットワーク接続」を選択します。
②「ネットワーク設定の変更」項目の「アダプターのオプションを変更する」を選択します。
③「ワイヤレスネットワーク接続」(有線LANの場合は「ローカルエリア接続」)を右クリックし、「プロパティ」を選択します。
④「Microsoft LLDPプロトコルドライバー」のチェックをONにします。
⑤「OK」を選択して閉じます。
⑥名前解決ができているか確認します。

まとめ

「DNSサーバーは応答していません」メッセージが表示された場合、接続機器、PCやタブレット、Webサイト、DNSサーバー、など実に様々な原因が考えられます。ユーザー側で解決できることがほとんどですが、まず一つ一つ確認して根気よく問題を切り分けることが重要になります。問題をサポートに問い合わせる場合にも確認した項目が必要になることがありますので、簡単にできることから確認していきましょう。