gracetory’s blog

東池袋にある合同会社グレストリのエンジニアブログです

Windows + VPN で Chrome だけ ERR_NETWORK_ACCESS_DENIED になる問題の原因と解決

はじめに

在宅勤務中、自宅 PC から会社の VPN に接続したところ、 以下のように Chrome 系のブラウザだけが通信できない という非常に不可解な現象が発生しました。

Firefox → 正常表示

curl → 通信可能

SSH(VPN 内部 IP)→ 通信可能

Chrome → ERR_NETWORK_ACCESS_DENIED

Chrome Canary → 同じく失敗

ネットワークとしては正常なのに、Chrome だけが VPN 上で拒否。 再インストールしても改善せず、原因特定に苦労するタイプの障害でした。

本記事では「実際の調査プロセス」「原因」「解決方法」に加え、 同じ症状を引き起こし得る他の要因もまとめた “完全版” をお届けします。

結論(TL;DR)

原因

VPN 接続が Windows に Public ネットワーク扱い と誤判定され、 Chromium 系ブラウザだけが OS のセキュリティ制限を受けていた。

Firefox や curl はこの制限を受けないため正常だった。

解決

PowerShell(管理者)で VPN のネットワークカテゴリを Private に変更:

Set-NetConnectionProfile -InterfaceAlias "gracetory" -NetworkCategory Private

これだけで Chrome・Chrome Canary が即復活した。

図解①:今回発生した “不可解な通信状態”

┌─────────────────────┐    VPN接続  ┌───────────────────┐
│   自宅 PC(Windows) │────────────▶│   会社ネットワーク │
└─────────────────────┘             └───────────────────┘

通信テスト結果:

  Firefox     ────────── OK
  curl        ────────── OK
  SSH         ────────── OK
  Chrome      ────────── NG(ERR_NETWORK_ACCESS_DENIED)
  Chrome Canary ───────── NG

図解②:Windows のネットワークプロファイル

Windows は各ネットワークを次のように分類します:

┌───────────────────────────────────────────────────┐
│ Windows のネットワーク分類                          │
├────────────────┬──────────────────────────────────┤
│ Private(信頼) │ 家庭LAN / 社内LAN など            │
│ Public(非信頼)│ カフェWi-Fi / 未識別ネットワーク   │
└────────────────┴──────────────────────────────────┘

問題発生時、VPN(gracetory)の状態は Public に誤判定されていました。

図解③:Public 扱いだと “Chrome 系だけ” 止まる理由

                          ┌────────────────┐
                          │ Firefox / curl │  ← Public でも制限を受けない
                          └───────▲────────┘
                                  │
                                  │ 許可
                                  │
┌───────────────┐     ┌───────────▼───────────────┐
│ ネットワーク層 │────▶│ Chromium アプリ            │
│ (VPN / LAN) │     │(Public で強い制限を受ける)│
└───────────────┘     └───────────▲───────────────┘
                                  │
                                  │ Public ネットワークに対する
                                  │ SmartScreen や Isolation の制限
                                  │
                                  ▼
                          ┌───────────────┐
                          │ Chrome / Edge │
                          │ Chrome Canary │
                          └───────────────┘

Chromium 系ブラウザのみが OS の “ネットワーク保護層” の影響を受けます。

調査で判明した決定的なポイント

PowerShell で確認:

Get-NetConnectionProfile

結果:

Name              : gracetory
NetworkCategory   : Public  ← ここが問題

VPN が Public → Chrome 系ブラウザが通信拒否 という構図が見えてきました。

解決方法

ネットワークカテゴリを Private に変更:

Set-NetConnectionProfile -InterfaceAlias "gracetory" -NetworkCategory Private

Chrome を再起動すると 即正常化。

なぜ “突然” Public に変わったのか?

以下が現実的な原因です(実例あり)。

1. Windows Update による VPN スタック再構成(最有力)

Windows Update → VPNアダプタの再生成

→ プロファイルが初期化されPublic 化

「昨日まで正常、今日から突然不可」という現象に完全一致。

2. VPN サーバ側の識別情報(NLA)が変化

Windows がネットワーク識別に使う情報が変わると、安全のため Public に格下げされることがあります。

3. Windows 11 の “未識別ネットワーク” バグ

VPN 接続直後に一瞬でも未識別 Network と誤判定するとそのままPublicに固定されてしまう現象がある。

4. LAN 側も Public のため整合性で統一された

LAN:Public

VPN:Private

→ Windows「両方 Public に揃えるか…」

複数 NIC の存在が原因になることもある。

再発防止策

✔ VPN は常に Private に固定

Set-NetConnectionProfile -InterfaceAlias "gracetory" -NetworkCategory Private

✔ LAN 側も Private に変更して整合性を取る

Set-NetConnectionProfile -InterfaceAlias "イーサネット" -NetworkCategory Private

✔ 未識別ネットワークを Private 扱いにする(強力な恒久対策) secpol.msc

→ ネットワーク一覧マネージャー

→ 未識別ネットワーク → Private

補足

「今回の原因ではなかったが、同じ症状を起こしうる要因一覧」

調査では以下の項目も確認しました。

今回は無関係でしたが、一般的にはよく原因になるため共有します。

1. Chrome の Secure DNS

VPN と DNS over HTTPS の相性が悪い場合、Chrome だけ DNS 解決に失敗することがあります。

2. WPAD(自動プロキシ検出)

誤ったプロキシ設定を拾うと、Chrome だけアクセス拒否されるケースがある。

3. Windows Firewall のパブリック制御

Chrome の「パブリックアクセス許可」が OFF だと、VPN 接続時だけ通信拒否になることがある。

4. SmartScreen / Reputation-based protection

Chromium 系だけ “未知のネットワークへの通信” を制限されることがある。

5. Controlled Folder Access

Chrome のネットワークサービスプロセスを誤って遮断する場合がある。

6. IPv6 の優先度問題

Chrome は IPv6 を積極的に使うため、VPN 上で IPv6 が不完全だと Chrome 系だけ失敗する例がある。

7. Chrome 内部キャッシュ(HSTS / ソケットプール)

Chrome の内部状態が破損している場合、Chrome だけ異常な挙動を見せることがある。

8. WinHTTP プロキシ設定の残骸

企業 PC の残設定などで WinHTTP が不正なプロキシを参照しているとChrome だけ通信できなくなることがある。

まとめ

原因:VPN が Public 判定 → Chromium 系のみ OS が通信制限

解決:NetworkCategory を Private に変更

再発防止:LAN/VPN の Private 統一 + 未識別ネットワークの Private 化

同じ症状を起こしうる要因も多数存在するため、診断時は Chrome だけを疑わず、OS の判定層を確認することが重要

本記事が同じ障害に悩むエンジニアの助けになれば幸いです。

最後に

この記事はチャッピー(流行語?)に書いてもらいました。実際にこのトラブルに遭遇し、ChatGPTに丸投げで解決を図りました。

そして、最後にやり取りをまとめてブログ記事にしてもらいました。

よくわからない図解を挟んでくる所がなかなか興味深い。