Windows10 – DNSの名前解決ができない時の対処法【IPのpingは通る】

WindowsでDNSの名前解決ができないと、「DNSアドレスが見つかりませんでした」などのエラーが出てインターネットにアクセスできない状態になります。

ただし、この状態で試しにDNSサーバー(ゲートウェイ)のIPアドレスでpingを送ると問題なく通るケースがあります。

今回は、Windows10でIPのpingは通るのにDNSの名前解決できない時の対処法をご紹介いたします。

Windows 10 が名前解決する順番

Windows 10 は、TCP/IPで通信する場合、次の順番でリソースの名前解決をします。

  1. hostsファイル
  2. DNS キャッシュ
  3. DNS サーバー
  4. NetBIOS

DNSの名前解決できない場合は、上記の順番をたどることで、どこで問題が発生しているのか比較的判断しやすくなります。順に対処方法を解説していきます。

対処1: hosts ファイルを確認する

hosts ファイル内に名前解決するためのアドレスが記載されている場合、それが原因で名前解決できないケースがあります。

hosts ファイルに記載されているアドレスを削除すると解決する可能性があります。

  1. 左下の [エクスプローラー] をクリックします。
  2. 左ペインの [PC] をクリックし、右ペインに表示された [Windows (C:)] をクリックします。
    • お使いの PC によって、C ドライブの表記が違い場合がございます。
  3. エクスプローラを起動して次の順番で、[etc] フォルダを開きます。
    C:ドライブ - Windows - System32 - drivers - etc
  4. etc フォルダ内に [hosts] ファイルをダブルクリックすると [このファイルを開く方法を選んでください] と表示されますので、[メモ帳] をクリックします。
  5. [hosts] ファイルがメモ帳で開いてきます。
  6. 左上の [ファイル] をクリックし、[名前を付けて保存] をクリックします。
  7. 左ペインのデスクトップをクリックし、デスクトップに [hosts] ファイルをバックアップします。
  8. 元の [hosts] ファイルに戻り、左側に ”#” が付いてる行は最初から記載されている行ですので、 ”#” が付いていない行に何か記載があった場合はすべて削除します。
  9. [Ctrl + S] で上書き保存するか、左上の [ファイル] をクリックし、[上書き保存] をクリックします。
  10. 右上の [X] を押下し、[hosts] ファイルを閉じます。
  11. PC を再起動後、名前解決できているか確認します。

対処2: DNS リゾルバー キャッシュの削除

今まで名前解決に使用していた DNS キャッシュを一旦、削除することで解決する可能性があります。

  1. 左下の [田] マークを右クリックし、[Windows PowerShell (管理者)(A)] をクリックします。
  2. 次のコマンドをコピーするか、手動で入力します。
    ipconfig /flushdns
  3. コマンドを実行すると [DNS リゾルバー キャッシュは正常にフラッシュされました] と表示されます。
  4. 続いて次のコマンドでIPアドレスの情報を更新しておきましょう。
    ipconfig / registerdns
    ipconfig / release
    ipconfig / renew
  5. 全てのコマンドが実行できたら、右上の [X] ボタンをクリックして、Windows PowerShellを閉じます。
  6. PC を再起動し、名前解決できるか確認します。

対処3: Google Public DNS を設定する

Google Public DNS はGoogle社が提供している誰でも使用できる無料の DNS キャッシュ サーバーです。

DNS サーバーが自動になっていた場合、GoogleのPublic DNS サーバーを指定することで解決する可能性があります。

  1. 左下の [田] マークを右クリックし、[設定] をクリックします。
  2. [ネットワークとインターネット] をクリックします。
  3. 下へスクロールすると [アダプターのオプションを変更する] という項目がありますので、そちらをクリックします。
  4. 現在、インターネット接続で使用している接続アイコン(ローカルエリア接続、Wi-Fi 接続など)を右クリックし、[プロパティ(R)] をクリックします。
  5. ネットワーク タブ内の [この接続は次の項目を使用します(O):] 項目内に [インターネット プロトコル バージョン 4 (TCP/IPv4)] 項目がありますので、そちらをクリックし、右下の [プロパティ(R)] をクリックします。
  6. 全般タブ内の [次の DNS サーバーのアドレスを使う(E):] をクリックし、以下の値を入力します。
    • 優先DNSサーバー: 8.8.8.8
    • 代替DNSサーバー: 8.8.4.4
  7. 入力後、右下の [OK] ボタンを押下します。
  8. PC を再起動し、名前解決できるか確認します。

対処4: WindowsUpdateの配信の最適化をオフにする

WindowsUpdateの配信の最適化機能が原因で、DNSの名前解決ができないケースがMicrosoftコミュニティに報告されています。

次の手順で、WindowsUpdateの配信の最適化をオフにしてみて下さい。

  1. 「スタート」を右クリックして「設定」を開きます。
  2. 「更新とセキュリティ」を選択します。
  3. 「詳細オプション」をクリックします。
  4. 下部へスクロールして「配信の最適化」をクリックします。
  5. 「他のPCからダウンロードを許可する」のスイッチをオフに切り替えます。

設定変更後、Windowsを再起動して問題が解決しないか確認します。

対処5: IPv6 を無効にする

IPv6が有効になっていることが原因でDNSの名前解決ができないケースがあります。

次の手順でIPv6を無効にして、名前解決ができるようにならないか確認して下さい。

  1. 「スタート」を右クリックして「ネットワーク接続」をクリックします。
  2. 「ネットワーク設定の変更」の項目にある「アダプターのオプションを変更する」をクリックします。
  3. アダプター一覧が表示されます。「ワイヤレスネットワーク接続」を右クリックして「プロパティ」をクリックします。
    • 有線LANの場合は、「ローカルエリア接続」を右クリックして下さい。
    • 環境によって名前が異なる場合があります。
  4. 「この接続は次の項目を使用します」の一覧にある「インターネット プロトコル バージョン6(TCP/IPv6)」のチェックを外します。
    • 「インターネット プロトコル バージョン4(TCP/IPv4)」のチェックは、オンになっていることを確認して下さい。
  5. 「OK」をクリックします。

以上の手順で、IPv6を無効にすることができます。

*この方法は操作は手順が簡単ですが、Microsoft公式のアナウンスによるとWindowsの一部の機能が正常に動作しないケースがあるため非推奨となっています。次の『IPv4 の優先順位を上げる方法』も併せて参考にして下さい。

対処6: IPv4 の優先順位を上げる

IPv6を無効にせずに、IPv6よりもIPv4の優先順位を高く設定することで、名前解決が正常にできる可能性があります。

優先順位の変更は、単純なアダプターのIPv6を無効にするよりもトラブルが発生しにくいため、Microsoftからはこちらの方法が推奨されています。

ただし、IPv4の優先順位を上げるには、レジストリの変更が必要になるため若干敷居が高いです。次に紹介する方法を参考にして下さい。

方法1:レジストリファイルを使って変更する(推奨)

次のMicrosoft公式ページへアクセスし、[プレフィックス ポリシーで IPv6 よりも IPv4 を優先する] をダウンロードし、実行してください。

方法2:コマンドラインからレジストリを変更する

PowerShellを使って、IPv4を優先する設定を直接レジストリを書き換えて変更することもできます。

ただしレジストリの操作になりますので、事前にレジストリのバックアップを取ることをおすすめします。

  1. 左下の [田] マークを右クリックし、[Windows PowerShell (管理者)(A)] をクリックします。
  2. 以下のコマンドをコピーして、コマンドラインに貼り付けて実行します。
    reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters" /v DisabledComponents /t REG_DWORD /d 0x20 /f
  3. [この操作は正しく終了しました] メッセージが表示されましたら、Windows PowerShell を閉じます。
  4. PC を再起動し、名前解決できるか確認します。

対処7: ネットワークドライバーを再インストールする

インストールされているネットワークドライバーに問題があり、名前解決ができないケースがあります。

デバイスマネージャーからネットワークドライバーを再インストールして、名前解決ができないか確認して下さい。

  1. 「スタート」を右クリックして「デバイスマネージャー」を選択します。
  2. 「ネットワークアダプタ」のツリーを展開します。
  3. [使用しているネットワークコントローラー名]を右クリックして「デバイスのアンインストール」を選択します。
  4. アンインストール後、「ハードウェア変更のスキャン(PCと虫眼鏡のアイコン)」をクリックします。
  5. 再度「ネットワークアダプタ」に表示される[ネットワークコントローラー名]を右クリックして「ドライバーの更新」を選択します。
  6. 「ドライバーソフトウェアの最新版を自動検索」をクリックして、最新のネットワークドライバーがインストールされるのを待ちます。

ネットワークドライバーが再インストールできたら、正常にDNSの名前解決ができないか確認します。

対処8: LLDPプロトコルドライバーの設定を確認する

ネットワークアダプタの「Microsoft LLDPプロトコルドライバー」の機能がオフになっていると、名前解決ができないケースがあります。

次の手順でネットワークアダプタの設定を確認して、LLDPプロトコルドライバーの機能をオンにして下さい。

  1. 「スタート」を右クリックして「ネットワーク接続」をクリックします。
  2. 「ネットワーク設定の変更」の項目にある「アダプターのオプションを変更する」をクリックします。
  3. 無線の場合は「ワイヤレスネットワーク接続」、有線の場合は「ローカルエリア雪像」を右クリックして「プロパティ」をクリックします。
  4. 「Microsoft LLDPプロトコルドライバー」のチェックをオンにして「OK」をクリックします。

LLDPプロトコルドライバーがオフになっていた場合は、設定変更後に名前解決ができないか確認します。

コメントを残す

*