Clash がネットに繋がらない時の対処法:プロキシ接続後にページが開かない場合の確認リスト

システムプロキシのオン/オフ、ルールモード、DNS設定、サブスクリプションの有効期限まで、Clashが接続済みなのにネットに繋がらない原因を順番に確認し、各手順の検証方法を解説します。

一、まず問題がどの段階にあるかを特定する

ブラウザでページを開くとき、リクエストはブラウザ→システムプロキシ→Clashのローカルポート(デフォルト7890)→プロキシノード→対象サイトの順に流れます。この経路のどこか1つが切れていても最終的な現象は「ページが開かない」で同じですが、対処法は段階ごとに全く異なります。だからまず設定をあれこれ変える前に、どこで途切れているのかを特定しましょう。

最も手早く特定する方法は、Clashの接続パネルを確認することです。

  1. Clashクライアントを開き、「接続」(Connections)ページに切り替えます。
  2. パネルを表示したままブラウザに戻り、開かないページを再読み込みします。
  3. 接続リストの変化を観察します。

新しい記録が全く追加されない場合、リクエストがそもそもClashに到達していないということなので、システムプロキシかブラウザの設定に問題があります。ステップ2に進んでください。新しい記録は追加されるのにページが開かない場合は、リクエストはClashに届いているものの転送に失敗しているということで、プロキシモード、ノード、DNS、サブスクリプションのいずれかが原因です。ステップ3から確認していきましょう。この2パターンを先に見分けておくと、以降の手順を1つずつ手当たり次第に試す必要がなくなります。

二、システムプロキシが有効になっているか確認する

システムプロキシがオフになっていることは、「Clashは接続済みと表示されているのにページが開かない」という現象で最も多い原因です。Clash自体は動作していても、ブラウザの通信がそもそもClashに渡されていない状態です。

確認と修正方法:

  • Clash for Windowsではメイン画面の「システムプロキシ」(System Proxy)スイッチをオンにします。Clash VergeやClash Nyanpasuなどのクライアントでも設定内に同様の「システムプロキシ」項目があるので、有効になっているか確認してください。
  • Windowsでの確認:「設定 → ネットワークとインターネット → プロキシ」を開き、「プロキシサーバーを使う」がオンで、アドレスが127.0.0.1、ポートがClashのMixedポート(デフォルト7890。設定ファイルでmixed-portを変更している場合は変更後の値)と一致しているか確認します。
  • macOSでの確認:「システム設定 → ネットワーク」を開き、現在使用中のネットワークの「詳細 → プロキシ」に進みます。「Webプロキシ(HTTP)」と「セキュアWebプロキシ(HTTPS)」がチェックされていて、サーバーが127.0.0.1と対応するポートになっているか確認します。

よくあるつまずきポイント:

  • Clash側のポート番号を変更したのに、システムプロキシの設定が古いポートのままで一致していない。
  • Clashの後に起動した別のプロキシソフトやアクセラレーターが、システムプロキシの設定を上書きしてしまっている。
  • ブラウザにSwitchyOmegaなどのプロキシ拡張機能が入っていて、拡張機能側の設定で通信しているためシステムプロキシを完全にバイパスしている。トラブルシューティング中はこの種の拡張機能を一旦無効にしてください。

検証方法:ブラウザで任意のIP確認サイトを開き、表示される出口IPがノードの所在地域になっていて、現地の通信会社のIPアドレスではないことを確認します。

コマンド一発でシステムプロキシをバイパスする

「Clashからノードまで」の区間自体が通っているか確認したい場合は、コマンドラインで次を実行します。

curl -x http://127.0.0.1:7890 -I https://www.google.com

このコマンドはシステムプロキシを経由せず、Clashのローカルポートに直接通信します。HTTPレスポンスヘッダーが返ってくればClashとノード間は正常に通っており、問題はシステムプロキシかブラウザ側の設定にあると特定できます。接続に失敗する場合はClashからノードまでの区間が不通ということなので、ステップ3〜5のモード、ノード、サブスクリプションを優先的に確認してください。

三、プロキシモードと現在選択中のノードを確認する

システムプロキシに問題がないことを確認したら、次はClashに届いた通信がどこに送られているかを確認します。

  • プロキシモードを確認する。Clashにはルール(Rule)、グローバル(Global)、直接接続(Direct)の3つのモードがあります。Directモードでは全ての通信が直接接続になり、プロキシを使っていない状態と同じです。まずDirectモードで止まっていないか確認しましょう。
  • ルールモードの場合、ポリシーグループで現在選択されているノードを確認します。選択中の項目がDIRECTになっていたり、既にタイムアウトしているノードだったりすると、同じようにページが開きません。レイテンシが正常なノードにポリシーグループを切り替えてください。
  • ノード一覧でレイテンシテスト(通常は速度計測や雷アイコン)を実行し、timeoutになっているノードを候補から除外します。

検証方法:一時的にGlobalモードに切り替えてレイテンシが正常なノードを選び、対象ページを再読み込みします。開けるようになれば、それまでの問題はルール分岐か選択していたノードにあったということです。それでも開かない場合は次にDNSを確認します。

四、DNS解決の問題を調べる

DNSに問題がある場合、典型的な症状として「一部のサイトだけ開かない」「IPへのpingは通るのにドメイン名へのpingが通らない」といった現象が見られます。

1つずつ確認していきます。

  1. 現在使用中の設定ファイルを開き、dnsセクションが存在してenableがtrueになっているか、nameserverに利用可能なパブリックDNSが設定されているかを確認します。この部分が丸ごと欠けている場合、Clashはシステムのデフォルトのままになり、ドメイン名の解決が汚染されている環境では誤った結果を取得しやすくなります。
  2. 古いDNSキャッシュをクリアする:Windowsではコマンドラインでipconfig /flushdnsを実行します。ブラウザではchrome://net-internals/#dnsを開いてキャッシュをクリアするか、ブラウザ自体を再起動しても構いません。
  3. ブラウザの「セキュアDNS」(DNS over HTTPS)の設定を確認します。有効になっているとブラウザがシステムのDNSをバイパスして自前で解決してしまい、ClashのDNS制御と競合することがあります。トラブルシューティング中はまずこれを無効にしましょう。
  4. nslookupに対象ドメインを指定して名前解決の経路を検証します。結果が安定して返ってくれば解決自体は正常に動作しています。ClashのDNSがfake-ipモードで動作している場合、198.18から始まるアドレスが返るのは正常な動作であり、故障ではありません。

DNSの各項目の詳しい設定方法や漏洩防止の設定については、使用マニュアルで詳しく解説しています。ここではまず「正常に名前解決できるかどうか」という関門をクリアすることを優先してください。

五、サブスクリプションとノードが有効か確認する

ノード一覧で大量にtimeoutが発生している場合、原因は多くの場合ローカル側ではなくサブスクリプション側にあります。

  • 設定ページで現在のサブスクリプションを「更新」し、最新のノード一覧を取得します。長期間更新していないと、リストに載っているノードがすでに廃止されている可能性があります。
  • サービス提供元の管理画面にログインし、プランの期限切れ、通信量の使い切り、サブスクリプションリンクのリセットがないか確認します。リンクがリセットされると、古い設定ファイルで取得できるのは無効な内容になるため、新しいリンクで再度インポートする必要があります。
  • 更新が完了したら再度レイテンシテストを実行し、少なくとも1つのノードが正常なレイテンシになっていることを確認してから、ルールモードに戻してページを検証してください。

経験則として、単一のノードだけがtimeoutになる場合はそのノード自体の問題であり、全ノードがtimeoutになる場合はまずサブスクリプションとローカルネットワークを疑うべきです。

六、TUNモード、ファイアウォール、ソフトウェアの競合

ここまでの5ステップで解決しない場合は、システムレベルの問題を確認する必要があります。

  • TUNモードには追加のコンポーネントが必要です。Clash for WindowsではService Modeのインストールが、Clash Vergeではサービスモードのインストールと権限付与が必要です。コンポーネントが正しくインストールされていない状態でTUNを有効にすると、典型的には「TUNをオンにすると通信が切れ、オフにすると復旧する」という現象が起こります。トラブルシューティング中はTUNをオフにしてシステムプロキシのみを使い、変数を減らすことをお勧めします。
  • WindowsのファイアウォールやサードパーティのセキュリティソフトがClashコアの通信をブロックしている可能性があります。クライアントのプログラムを許可リストに追加してから再度試してください。
  • 複数のプロキシ、VPN、ゲーム用アクセラレーターを同時に実行すると、システムプロキシやルーティングテーブルを互いに奪い合うことになります。トラブルシューティング中はClash以外を全て終了させ、Clashだけを残してください。
  • 以上のいずれでも解決しない場合は、まずクライアントを再起動してください。それでも解決しない場合はシステム自体を再起動し、残留しているポート占有をクリアします。
注意

トラブルシューティング中は一度に1つの設定だけを変更し、変更したらすぐに検証してください。複数箇所を同時に変更してテストすると、問題が解消したとしてもどの変更が効いたのか分からず、同じ問題が再発する可能性があります。

七、症状別クイックリファレンス

上記のチェックリストを表にまとめました。次回問題が発生した際は、症状から直接該当箇所を探してください。

症状考えられる主な原因まず確認すべき手順
接続パネルに新しい記録が全く表示されないシステムプロキシが有効になっていない、または拡張機能によってバイパスされているステップ2
接続記録はあるが、選択中のノードがtimeoutしているノードが無効、またはポリシーグループの選択ミスステップ3
一部のサイトだけ開かないルール分岐またはDNS解決の異常ステップ3・4
TUNモードをオンにすると通信が切れるサービスモードが未インストール、または権限不足ステップ6
全ノードがtimeoutしているサブスクリプションの期限切れ、プランの失効、またはローカルでのブロックステップ5・6
スマホでは使えるがPCでは開かない(同一サブスクリプション)PC側のシステムプロキシ、ファイアウォール、ポート設定の問題ステップ2・6

八、トラブルシューティング時に役立つ習慣

最後に、特定の故障とは直接関係ないものの、時間の節約になる習慣をいくつか紹介します。

  • まずバックアップを取ってから作業する。設定ファイルを変更する前に、現在動作している設定をエクスポートしておけば、変更に失敗してもすぐに元に戻せます。
  • 検証用のURLを1つ固定する。変更ごとに同じ対象サイトでテストすることで、「サイトを変えたら直った」という誤った判断を避けられます。サイト自体が不安定なこともあるためです。
  • 最後に何をしたかを覚えておく。問題は多くの場合、直近の変更の後に発生します。サブスクリプションの更新、クライアントのアップグレード、新しいソフトウェアのインストールなど、「最近の変化」から逆算して調べる方が、最初から全て確認するより早く原因にたどり着けることが多いです。
  • クライアントをアップグレードした後に問題が発生した場合は、まずバージョンを戻して確認してください。旧バージョンで正常、新バージョンで異常であればバージョン間の互換性問題であり、対応するプロジェクトのリリースページで既知の問題を確認できます。

このチェックリストの手順を一通り試せば、「接続しているのにページが開かない」というほとんどの状況で具体的な原因箇所を特定できます。最終的にサブスクリプション側の問題だと判明した場合は、ローカル側でいくら調整しても解決できないため、サービス提供元に直接問い合わせるのが正しい対応です。

Clash 最新版をダウンロード

Windows・macOS・Android全対応のクライアントを、公式リリースと毎日照合。バージョン番号と更新日を一目で確認できます。

Clash最新版ダウンロード