Windows 11でFirefoxとPowerShellに発生するDNSエラー0x00002AFAの原因と対処法

Windows 11 に移行してから、Firefox で「サイトが見つかりません」エラーが頻繁に出たり、PowerShell の DNS 解決がときどき失敗していませんか。本記事では、SocketException 0x00002AFA(WSATRY_AGAIN)が示す意味と、実際に安定動作へ持っていくための具体的な対処・検証手順を、再現性の高いコマンド例付きで詳しく解説します。

目次

症状の概要:Firefox/PowerShellで断続的に発生する DNS 失敗

今回のケースは、次のような状況を想定しています。

  • OS を Windows 10 から Windows 11 にアップグレードしたあとから、症状が目立つようになった
  • Firefox で Web サイトを開こうとすると、ときどき「サイトが見つかりません」「サーバーが見つかりません」などのエラーになる
  • タブを再読み込みすると表示できることも多く、完全な通信断ではない
  • PowerShell で次のようなコードを数千回ループすると、数回だけ失敗する
[System.Net.DNS]::Resolve("l.facebook.com")

失敗したときは、.NET 側で次の例外がスローされます。

System.Net.Sockets.SocketException (0x00002AFA)

この 0x00002AFA を 10 進数にすると 11002 で、Winsock エラーコードの WSATRY_AGAIN に相当します。意味としては、

  • DNS サーバーから一時的に応答が得られなかった
  • 権威 DNS サーバーからの応答が返ってこなかった
  • ネットワークや DNS 経路上のどこかでタイムアウト・パケットロスが発生した

という「一過性の DNS 失敗」を表します。これが断続的に発生している、というのが今回の問題です。

まずは押さえておきたいポイント

この種の DNS エラーを切り分けるときの基本方針は、次の 3 つです。

方針狙い代表的な操作
DNS 経路を「単純化」するどこで詰まっているかを見えやすくする公開 DNS 利用、SMHNR の無効化、プロキシ無効化
キャッシュとスタックを「一度リセット」する壊れたキャッシュや一時的な不整合をクリアDNS キャッシュのクリア、Winsock リセット
IPv4 / IPv6・VPN・セキュリティ製品などを「順に切り分け」するどのレイヤーで再現するかを特定IPv6 一時無効化、VPN/セキュリティソフト停止

以下では、実際に 優先度の高い対処から順に、詳しく手順を見ていきます。

最初に試したい「早く効く」対処

DNS キャッシュとネットワークスタックをリセットする

まずは、OS 側に溜まっている DNS キャッシュや、Winsock の内部状態を一度きれいにします。これだけで「たまにだけ出る」系の不具合が収まることも少なくありません。

コマンドプロンプト(管理者)からまとめて実行

  1. スタートメニューで「cmd」と検索し、管理者として実行を選ぶ
  2. 次のコマンドを順に実行する
ipconfig /flushdns
ipconfig /registerdns
netsh int ip reset
netsh winsock reset

実行後は必ず PC を再起動してください。再起動までセットで 1 セットの作業と考えます。

PowerShell から DNS キャッシュだけリセットする

簡易的に DNS キャッシュだけを消したい場合は、PowerShell から次のコマンドでも構いません。

Clear-DnsClientCache
ipconfig /flushdns

ただし、今回のように SocketException まで出ている場合は、Winsock リセットまで含めて実行しておくほうが安心です。

DNS サーバーを信頼性の高い公開 DNS に切り替える

WSATRY_AGAIN が出るケースで非常に多いのが、

  • ISP が提供する DNS サーバーの応答が不安定
  • 家庭用ルーターの DNS フォワード機能が不調

といった「自分の PC 以外の機器の問題」です。これを手っ取り早く切り分ける方法が、PC の DNS を Google Public DNS や Cloudflare などの公開 DNS に切り替えてしまうことです。

Windows 11 の GUI から設定する手順

  1. 設定 を開く(Win + I)
  2. ネットワークとインターネット を選択
  3. 利用中の回線に応じて、Wi‑Fi または イーサネット をクリック
  4. 対象のネットワークを開き、アダプターのオプションあるいはアダプターのプロパティを表示
  5. DNS サーバー割り当て を 手動 に変更し、IPv4 を オン にして値を入力
サービスプライマリ DNSセカンダリ DNS
Google Public DNS8.8.8.88.8.4.4
Cloudflare DNS1.1.1.11.0.0.1

IPv6 を利用している環境であれば、IPv6 側にも次のように設定できます。(ただし、まずは IPv4 だけで検証するほうが切り分けが簡単です)

サービスプライマリ DNS (IPv6)セカンダリ DNS (IPv6)
Google Public DNS2001:4860:4860::88882001:4860:4860::8844
Cloudflare DNS2606:4700:4700::11112606:4700:4700::1001

DNS を公開サービスに変えて症状がピタリと止まる場合は、ISP の DNS か、ルーターの DNS フォワーダーに原因がある可能性が高くなります。

Firefox のネットワーク設定を見直す

次に、Firefox 固有の設定を確認します。ポイントは次の 2 つです。

  • プロキシ設定が不適切で DNS が遠回りしていないか
  • Firefox 独自の DoH(DNS over HTTPS)が OS の DNS 設定と競合していないか

プロキシ設定を一度「使用しない」にする

  1. Firefox 右上のメニューボタンから 設定 を開く
  2. 画面下部の ネットワーク設定 セクションで 設定… ボタンをクリック
  3. プロキシを使用しない を選択して保存

社内プロキシを必ず経由しないといけない環境でなければ、いったん「プロキシなし」の状態で再現性を確認します。これでエラーが止まるなら、プロキシ経路上で DNS が失敗している可能性が高くなります。

DNS over HTTPS (DoH) の設定を OS と揃える

Firefox は、OS の DNS 設定とは別に、ブラウザ単体で DoH を有効にすることができます。便利な機能ですが、

  • OS は ISP の DNS を利用
  • Firefox は Cloudflare の DoH を利用

というように経路が二重化していると、一方の経路だけ不安定なときに「Firefox だけ不安定」な状態が発生します。次のどちらかに揃えると切り分けしやすくなります。

  • OS 側を公開 DNS(例:1.1.1.1)にして、Firefox の DoH も Cloudflare で有効にする
  • 一度 Firefox の DoH を無効化して、OS の DNS 設定に完全に寄せる

設定画面で、DoH の有効/無効と利用するプロバイダーを明示的に指定し、「どの経路で名前解決しているか」を分かりやすくしておきましょう。

IPv6 を一時的に無効化して切り分ける

DNS 関連のトラブルでは、IPv4 では問題ないが、IPv6 経路の DNS64/NAT64 やトンネリングが不整合を起こしているケースもあります。Windows 11 は IPv6 を積極的に使おうとするため、Windows 10 のときは表に出てこなかった問題が顕在化することもあります。

そこで、一時的に IPv6 を無効にしてみて、症状が改善するかを確認します。

  1. Win + R キーを押して「ファイル名を指定して実行」を開く
  2. 「ncpa.cpl」と入力して Enter
  3. 使用中のネットワークアダプターを右クリックし、プロパティ を選択
  4. インターネット プロトコル バージョン 6 (TCP/IPv6) のチェックを外して OK

この状態でしばらく使用してみて、Firefox や PowerShell での DNS 失敗が明らかに減る/消えるようなら、IPv6 経路まわりに原因がある可能性が高まります。

ただし、IPv6 を完全に無効化するのは長期的には推奨されません。あくまで「原因の当たり」を付けるための一時的な対処とし、最終的には IPv6 を活かしたまま安定させる方向を目指しましょう。

まだ不安定な場合に行う追加対処

VPN・セキュリティソフト・サードパーティ製ファイアウォールの確認

DNS クエリは多くのセキュリティ製品にとって「検査対象」です。悪意のあるドメインをブロックする機能などがあるためですが、その副作用で DNS 自体が不安定になることもあります。

  • VPN クライアント(特に常時接続型)
  • インターネットセキュリティスイート(Avast, ESET, Kaspersky など)
  • サードパーティ製ファイアウォールソフト
  • DNS フィルタリングツール(広告ブロック系など)

これらを 一時的に停止した状態で、Firefox/PowerShell から DNS 解決をテストしてみてください。症状が完全に止まる場合は、該当製品の設定見直しや例外設定の追加が必要になります。

NIC ドライバーの更新とルーター側の見直し

Windows 11 はネットワークドライバーの挙動にもシビアです。次のポイントを確認します。

  • デバイス マネージャーから、ネットワークアダプターのドライバーを最新版に更新しているか
  • メーカー製 PC であれば、メーカー配布の Windows 11 対応ドライバーが出ていないか
  • ルーターを長期間再起動していない場合は、一度電源 OFF → 数十秒待って ON で再起動
  • ルーターの管理画面で、DNS サーバーを明示的に 1.1.1.1 や 8.8.8.8 に設定してみる

PC 側で公開 DNS を指定しても不安定な場合、回線終端装置やルーター、スイッチ、Wi‑Fi アクセスポイントなど物理機器側の問題も疑っていく必要があります。

SMHNR(Smart Multi‑Homed Name Resolution)の無効化(上級者向け)

Windows 8 以降には、複数のネットワークインターフェースを持つ環境で名前解決の成功率を高めるために、Smart Multi‑Homed Name Resolution(SMHNR) という仕組みがあります。簡単に言うと、

  • 複数の DNS サーバーに並列で問い合わせて、早く返ってきたほうを採用する

という機能です。理屈上は安定性向上につながるのですが、

  • 社内 DNS と公共 DNS が混在している
  • VPN 接続と物理インターフェースが同時に有効

といった環境では、「余計な方の DNS に問い合わせて失敗する」という現象を引き起こすことがあります。この場合、SMHNR を無効化することで改善するケースがあります。

グループポリシーから無効化する(推奨)

Windows 11 Pro 以上であれば、グループポリシーエディターから無効化できます。

  1. Win + R → 「gpedit.msc」と入力して Enter
  2. コンピューターの構成 → 管理用テンプレート → ネットワーク → DNS クライアント と辿る
  3. スマート マルチホーム名解決をオフにする をダブルクリック
  4. 有効 に設定して OK
  5. PC を再起動

レジストリから無効化する(自己責任)

Home エディションなどでポリシーが使えない場合は、レジストリで直接無効化できます。

  1. Win + R → 「regedit」と入力してレジストリエディターを起動
  2. 次のキーを開く:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
  3. 右ペインで右クリック → 新規 → DWORD (32ビット) 値
  4. 名前を EnableSmhNr にし、値を 0 に設定
  5. PC を再起動

レジストリの編集を誤ると OS の起動に支障が出る可能性もあります。必ず事前にバックアップを取り、作業は自己責任で行ってください。

原因候補の整理:どこから疑うべきか

ここまでの内容を踏まえて、今回のような断続的な DNS 失敗(0x00002AFA)が発生しているとき、主な原因候補を表に整理すると次のようになります。

原因候補具体例優先的に試す対処
ISP/ルーター/社内 DNS の応答遅延・パケットロス混雑時間帯だけエラー、他の端末でも同様の症状公開 DNS に変更、ルーター再起動・DNS 設定の明示
IPv6 経路や DNS64/NAT64 の不整合IPv4 では問題ないが、IPv6 到達性が不安定IPv6 を一時無効化して切り分け、IPv6 DNS の再設定
SMHNR による複数インターフェース並列照会の悪影響VPN と物理インターフェースが共存、Wi‑Fi と有線の両方が有効SMHNR をポリシー/レジストリで無効化
ブラウザーのプロキシ/DoH と OS 既定 DNS の経路二重化Firefox だけエラー、Chrome や Edge は問題なしFirefox のプロキシを一度「使用しない」に、DoH 設定を OS と統一
NIC ドライバーの不具合やセキュリティ製品のフィルタリング特定のセキュリティソフトを止めると安定するドライバー更新、セキュリティ製品の一時停止・設定見直し

この表をチェックリスト代わりにしながら、「自分の環境ではどこが一番怪しいか」を順に潰していくと、遠回りせずに原因へ近づけます。

PowerShell・コマンドで行う追加診断

GUI の設定変更だけでなく、PowerShell からコマンドを叩いて実際の名前解決状況を確認することで、「どの DNS サーバーに聞くと失敗するか」「どの経路なら安定しているか」をかなり具体的に絞り込めます。

DNS 解決状況の確認

# OS 側の既定 DNS サーバーでの名前解決
Resolve-DnsName l.facebook.com -Type A,AAAA

これでエラーになる場合は、OS が利用している DNS サーバー自体に問題がある可能性があります。

公開 DNS を指定して照会(OS/ISP の問題切り分け)

# Cloudflare の DNS に直接問い合わせる
Resolve-DnsName l.facebook.com -Server 1.1.1.1 -Type A,AAAA

# Google Public DNS に直接問い合わせる
Resolve-DnsName l.facebook.com -Server 8.8.8.8 -Type A,AAAA

これらのコマンドで 常に成功する のに、既定 DNS ではエラーが出るなら、

  • ISP の DNS
  • ルーターの DNS フォワード機能

のどちらかが不安定である可能性が非常に高いといえます。

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

Get-DnsClientServerAddress

このコマンドで、各インターフェースごとにどの DNS サーバーが設定されているかを確認できます。

  • Wi‑Fi と有線、VPN などで 違う DNS サーバーが混在していないか
  • 意図しないアドレス(古いルーターや社内 DNS など)が残っていないか

をチェックしましょう。

TCP/443 (HTTPS) が疎通できるか確認する

DNS が通っても、その先の 443/TLS が詰まっていればブラウザは表示に失敗します。次のコマンドで疎通確認ができます。

Test-NetConnection l.facebook.com -Port 443

PingSucceeded や TcpTestSucceeded が True になるかを確認してください。

古典的な nslookup での確認

nslookup l.facebook.com 8.8.8.8

nslookup は昔ながらのツールですが、

  • どの DNS に対して問い合わせているかが明示的
  • 返ってきた応答をそのまま表示してくれる

ため、DNS の生の挙動を見るには非常に便利です。

よく使う診断コマンドまとめ

コマンド用途主なチェックポイント
Resolve-DnsNameOS 既定/任意 DNS での名前解決どの DNS サーバーで失敗するか
Get-DnsClientServerAddressインターフェースごとの DNS 設定確認意図しない DNS の混在
Test-NetConnectionポート疎通確認(443 など)TCP レベルの到達性
nslookup指定 DNS への直接問い合わせ生の DNS 応答内容

これらを組み合わせると、「ブラウザから見るとなんとなく不安定」に見える現象も、かなり具体的に言葉に落とし込めるようになります。

イベントビューアで DNS クライアントのログを確認する

より深く追いかける場合は、イベントビューアの DNS クライアントログも有用です。

  1. スタートメニューで「イベント ビューアー」と検索して起動
  2. 左ペインから
    アプリケーションとサービス ログ → Microsoft → Windows → DNS Client Events
    を開く
  3. 警告やエラーイベントの詳細を確認し、「どの名前解決が、どの理由で失敗しているか」を見る

ここに 11002 相当の一時エラーが大量に記録されているようなら、今回の DNS 失敗と強く関連していると考えられます。

このケースで実際に効果があった組み合わせ

実例として、次の組み合わせで症状が改善したケースがあります。

  • Windows 11 の DNS を Google Public DNS (8.8.8.8 / 8.8.4.4) に変更
  • Firefox のネットワーク設定で、プロキシを「使用しない」に設定

この状態にしたところ、

  • タブの再読み込み時に出ていた「サイトが見つかりません」エラーが解消
  • PowerShell の [System.Net.Dns]::Resolve() を数万回ループさせても、SocketException 0x00002AFA の発生が見られなくなった

また、IPv6 を無効化することで一時的な改善が得られたものの、恒久対応としては DNS の変更と Firefox 側の経路整理のほうが安全であり、最終的には IPv6 を再度有効化しても安定した、というパターンもあります。

まずチェックすべき項目のチェックリスト

ここまでの内容を踏まえて、実際に試す順番の目安としてチェックリストをまとめます。

  • ルーター/ONU を再起動する
  • 管理者コマンドプロンプトで ipconfig /flushdns と netsh winsock reset を実行し、PC を再起動する
  • DNS を Cloudflare (1.1.1.1/1.0.0.1) か Google (8.8.8.8/8.8.4.4) に変更する
  • Firefox のネットワーク設定を「プロキシなし」にし、DoH の経路を OS 設定と揃える
  • VPN・セキュリティ製品・DNS フィルタリングツールを一時停止して再現性を確認する
  • IPv6 を一時的に無効化して挙動を比較する
  • それでも改善しなければ、SMHNR の無効化(グループポリシー/レジストリ)を検討する

この順番であれば、リスクの低い操作から順に試せるため、業務用 PC でも比較的実施しやすいはずです。

まとめ:断続的な DNS 失敗は「経路の単純化」と「DNS 切り替え」から

Windows 11 で Firefox や PowerShell から断続的な DNS 失敗が発生し、SocketException 0x00002AFA(WSATRY_AGAIN)が記録される場合、その多くは「完全な故障」ではなく、

  • DNS 応答が一時的に得られない
  • 複数の DNS 経路やインターフェースが悪い形で競合している

といった「経路設計」の問題であることがほとんどです。

まずは、

  • DNS キャッシュとネットワークスタックのリセット
  • 公開 DNS への切り替え
  • Firefox のプロキシ/DoH 設定の単純化

といった「早く効く」対処から始め、それでも残る場合に、IPv6 や VPN・セキュリティソフト、SMHNR、NIC ドライバーやルーターなど、範囲を広げて切り分けていくのが近道です。

WSATRY_AGAIN はあくまで「もう一度試してほしい」という意味の一時エラーです。原因を一つひとつ潰していけば、多くのケースで Windows 11 環境でも安定した DNS 解決とブラウジング体験を取り戻すことができます。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次