1. ポート占有:Address already in use (7890)
これは、Clash ユーザーが最も頻繁に遭遇するエラーの一つです。Clash はデフォルトでポート 7890 を「Mixed Port」(HTTP および SOCKS5 の混合ポート)として使用します。このポートが他のアプリケーションによって既に使われている場合、Clash はプロキシエンジンを起動することができません。
1.1 エラーの症状
ログウィンドウに赤字で listen tcp 0.0.0.0:7890: bind: address already in use というメッセージが表示されます。
1.2 解決方法
- 二重起動の確認:他に Clash のインスタンスが動いていないか確認してください。Windows のタスクマネージャー、または macOS のアクティビティモニタを開き、
Clash,Clash Verge,Mihomoなどのプロセスを強制終了してください。 - ポート番号の変更:もし 7890 がシステムのサービスや他のソフトウェア(ダウンロードマネージャーなど)によって恒久的に占有されている場合は、Clash の設定画面からポートを変更するのが最も手っ取り早いです。
7891や10809など、未使用の番号に変更してください。 - 占有アプリの特定(Windows):コマンドプロンプトを管理者として実行し、
netstat -ano | findstr :7890を入力します。一番右の列に表示される PID(プロセス ID)を控え、タスクマネージャーの「詳細」タブから該当するアプリを見つけて終了させます。
2. サブスクリプション更新失敗:タイムアウトまたは接続拒否
プロバイダーから設定ファイルをダウンロードできないトラブルは、ネットワーク環境、プロバイダー側の制限、または SSL 証明書のエラーが原因であることが多いです。
2.1 主な原因
- ネットワークの遮断:サブスクリプションリンクがホストされているドメインが、現地の ISP によってブロックされている場合があります。
- システム時刻のズレ:PC の時計が正確でない場合、SSL ハンドシェイクに失敗し、セキュリティ上の理由でダウンロードが拒否されます。
- 循環参照(デッドロック):プロキシを動かすために設定が必要なのに、設定をダウンロードするためにプロキシが必要、という状況に陥っている場合があります。
2.2 解決方法
- 時刻の同期:システム設定から「時刻を自動的に設定する」がオンになっていることを確認してください。
- システムプロキシの一時オフ:クライアントの「System Proxy」スイッチを一度オフにしてから、サブスクリプションの更新を試みてください。
- サブスクリプションコンバーターの活用:元のリンクが不安定な場合は、信頼できるサードパーティ製のコンバーター(SubConverter など)を通して、別の形式やドメインに変換して試してみる価値があります。
- プロバイダーのステータス確認:プロバイダーのダッシュボードにログインし、アカウントの期限切れやデータ通信量の超過がないか確認してください。
3. TUN モードの起動エラー:Service Start Error
TUN モードはネットワークカードレベルで動作するため、管理者権限と特定のドライバーを必要とします。そのため、システムレベルの競合が発生しやすい項目です。
3.1 権限不足
Windows では、仮想ネットワークアダプター(Wintun)をインストール・起動するために、Clash を 「管理者として実行」 する必要があります。ログに operation not permitted と表示される場合は、この権限が不足しています。
3.2 ドライバーの競合
以前に他の VPN やプロキシツール(V2RayN や旧版 Shadowsocks など)を使用していた場合、古い仮想アダプターが残っていると競合することがあります。デバイスマネージャーの「ネットワーク アダプター」から、未使用の「Wintun」や「TAP」デバイスをアンインストールしてください。
3.3 スタックの選択
設定で Stack: gvisor または Stack: system が選択されているか確認してください。多くのユーザーにとって gvisor は、TCP/IP スタックをユーザースペースで処理するため、カーネルレベルのバグを回避でき、パフォーマンスと互換性のバランスが最も優れています。
4. ルールが無効:全通信が直結、または全通信がプロキシ経由になる
グローバルスイッチがオフなのに、通信が設定したルールに従わない場合は、YAML 設定ファイル内のロジックエラーが考えられます。
4.1 上から順に評価される原則
Clash のルールは上から下へと順番に処理され、最初に一致したものが適用されます。もしルールの先頭に MATCH, DIRECT と書いてあれば、その後のルールは一切無視され、すべての通信がプロキシを通らなくなります。正しい順序は 特定のドメイン > IP-CIDR > GEOIP/GEOSITE > MATCH です。
4.2 DNS 汚染の影響
ルールが IP-CIDR(地理的位置)に基づいている場合、DNS が Clash による検査の前に誤った(偽の)国内 IP を返してしまうと、ルールが正しく判定されません。 Fake-IP モード を使用することで、Clash が名前解決の全プロセスを制御できるようになり、この問題を回避できます。
5. DNS 漏洩:プロキシを通しているのに位置がバレる?
DNS 漏洩とは、ブラウザやアプリがプロキシをバイパスして、現地の ISP の DNS サーバーに直接問い合わせを行ってしまう現象です。これにより、プライバシーが損なわれたり、地域制限の解除に失敗したりします。
5.1 確認方法
dnsleaktest.com にアクセスしてください。プロキシがオンの状態で、自分の契約している ISP(日本の大手キャリアなど)のサーバーが表示されたら、漏洩が発生しています。
5.2 修正案
- 暗号化 DNS の有効化:設定ファイルで
dns: enable: trueとし、https://dns.google/dns-queryなどの DoH (DNS over HTTPS) サーバーを指定してください。 - IPv6 の無効化:多くの漏洩は IPv6 経由で発生します。現在のプロキシプロトコルの多くは IPv6 への対応が完全ではありません。Windows や macOS のネットワーク設定で IPv6 を完全にオフにすることを強く推奨します。
6. その他の細かなエラー
6.1 EOF エラー
これは "End of File" の略で、リモートサーバーまたは途中のファイアウォールによって接続が強制的に切断されたことを意味します。Hysteria2 を使用している場合に UDP ポートが ISP によって制限されている際によく見られます。
6.2 YAML Parsing Error
設定ファイルの構文エラーです。YAML はスペースの数に非常に敏感です。タブ文字は絶対に使用せず、半角スペースのみを使用してインデントを揃えてください。オンラインの YAML バリデーターを使用して、インデントが崩れている行を特定しましょう。
まとめ:エラー解決の思考プロセス
Clash のエラーを解決するコツは、論理的な手順を踏むことです: ログを見る > 権限を確認する > 設定を確認する。ほとんどの問題は、サブスクリプションの更新、管理者権限での実行、または YAML ファイルの小さなタイプミスの修正で解決します。
これらのトラブルを最初から回避したいのであれば、最新の Clash Verge Rev の使用をお勧めします。このクライアントは Mihomo コアを搭載しており、ポート競合の自動検出機能や、非常に堅牢な TUN モードの実装を備えています。