なぜ「LAN 越しのプロキシ」が必要になるのか
ノート PC では Clash(多くの場合コアは Mihomo)がすでに動いているのに、スマートフォンやタブレットでは別アプリを入れたくない、あるいは同じ購読・同じルールで出口を揃えたい——そんなときに選ばれるのが、PC の Clash をローカルネットワーク上の HTTP/SOCKS プロキシとして公開する方法です。いわゆる Clash LAN プロキシや「allow-lan で共有」と検索される場面は、まさにこの構成を指します。
ポイントは二つあります。一つ目は、Clash 側がデフォルトでは 127.0.0.1(自分自身)だけを向いており、同じ部屋の別端末からは届かないこと。二つ目は、届くようにしても OS のファイアウォールが着信を落とすと、設定どおりにしてもタイムアウトすることです。以下では、設定ファイルと GUI の両方から見た手順と、よくある詰まりどころを順に整理します。関連トピックは ブログ一覧 からも辿れます。
192.168.1.23)をメモしてから作業するとスムーズです。
allow-lan と bind-address
Clash の設定(YAML)では、LAN からの接続を受け付けるために allow-lan: true が必要です。これが false のままだと、たとえファイアウォールを開いてもアプリ側がそもそも待ち受けないため、別端末からは常に接続できません。GUI クライアント(Clash Verge Rev など)によっては「LAN に公開」に相当するトグルがこの値にマッピングされているので、画面と YAML の両方で一致を確認してください。
あわせて bind-address(または同等の「リッスンアドレス」)も重要です。127.0.0.1 のみに束縛されているとローカルホスト専用のままなので、LAN 共有では多くの場合 0.0.0.0(すべてのインターフェース)を指定します。環境によっては「すべての IPv4」ではなく特定 NIC だけに縛りたいこともありますが、家庭用 Wi‑Fi でまず試すなら 0.0.0.0 が素直です。設定を書き換えたら必ずプロファイルの再読み込み/コア再起動まで行い、実際にそのポートで LISTEN しているかを確認すると確実です。
mixed-port、7890、HTTP と SOCKS の関係
ドキュメントやテンプレートでよく見る 7890 は、多くの配布設定で mixed-port: 7890 として置かれている一例の番号にすぎません。本質は「混合ポート(mixed-port)が何番で立っているか」であり、ユーザーが 7891 に変えていれば、スマホ側のプロキシ先もそれに合わせる必要があります。逆に port(HTTP)と socks-port(SOCKS5)を別々に開いている構成では、端末が HTTP プロキシしか使えない場合は HTTP 側の番号を入れる、といったプロトコルと番号の対応を誤らないことが大切です。
mixed-port は同一ポート上で HTTP と SOCKS を扱えるため、モバイルの Wi‑Fi プロキシ設定で「HTTP プロキシ=PC の IP」「ポート=mixed-port の値」とするパターンが扱いやすいです。PC 本体のブラウザでは 127.0.0.1:7890 で試せても、スマホでは 192.168.x.x などルータ配下の実 IPに差し替える、というのを忘れると「同じ Clash なのにスマホだけ不通」になりがちです。設定画面に「ポート表示」があれば、まずそこで実値を確認してください。
Windows でのファイアウォール放行
Windows では、Clash 本体が初回に着信を許可するかどうかのダイアログを出す場合と、出さずにサイレントにブロックされる場合があります。症状が「スマホから PC のポートに ping は通るがプロキシだけ失敗」のときは、受信規則で該当実行ファイル(または該当ポートの TCP)を許可する必要があることが多いです。セキュリティ製品を入れていると Windows の表とは別レイヤで止まることもあるため、切り分け時は一時的に無効化できるかどうかも視野に入れます。
操作の流れのイメージは次のとおりです。設定で使用しているポート(例:TCP 7890)を明示的に許可する、Clash/GUI の実行ファイルに対して「プライベート ネットワーク」からの着信を許可する、既存ルールと重複していないかを確認する、の順です。会社支給機ではポリシーで変更できないこともあるため、その場合は LAN 共有より許可された VPN/プロキシ方式に切り替える必要があります。
macOS でのファイアウォールとプライバシー
macOS では「ファイアウォールをオン」にしていると、初回接続時にアプリの許可ダイアログが出るか、サイレントに拒否されることがあります。Clash 系クライアントを 署名付きアプリとして許可する、着信をブロックしないようにする、などが基本線です。加えて、ルータや共有系の機能で「同じ Wi‑Fi でも端末間通信を禁止する」モードがオンになっていないかも、企業向け SSID では特に要確認です。
スマホ・タブレット側の設定(同一 Wi‑Fi 前提)
iOS/iPadOS では「設定 → Wi‑Fi → 接続中のネットワークの情報」から HTTP プロキシを手動で指定できます。Android も端末・OS バージョンにより表記は違いますが、Wi‑Fi の詳細設定にプロキシ項目がある機種では、ホスト名=PC の LAN IP、ポート=mixed-port 等とします。テレビやゲーム機でプロキシが設定できない場合は、ルータ側の透過プロキシや別デバイス経由など別アプローチが必要になり、本記事の範囲を超えるため、まずはプロキシ設定可能な端末で疎通確認するのが近道です。
DNS については、スマホを PC 経由にしたい場合は Clash 側の dns 設定と整合を取る必要があります。LAN 共有はあくまで「プロキシの入口」を共有しているので、出口ノードやルールは PC 上の Clash と同一になります。細かい挙動は Fake-IP/DNS の記事 とあわせて読むと理解が揃いやすいです。
allow-lan: true は、同じネットワークにいる機器からプロキシを使える状態を意味します。信頼できない Wi‑Fi ではオフに戻す、自宅以外では使わない、など運用ルールを決めてください。認証のないオープンプロキシのように扱われるリスクを理解したうえで利用することが重要です。
つながらないときのチェックリスト
AP 隔離・ゲスト Wi‑Fi
多くのルータは「端末同士の通信を禁止する」オプションを持ちます。これがオンだと、スマホから PC の LAN IP へそもそも届きません。ルータ管理画面で AP 隔離/クライアント隔離をオフにできるか確認してください。ゲスト用 SSID にスマホだけ繋いでいる場合も同様に隔離されることがあります。
IP アドレスの取り違え
PC が VPN や別インターフェースで別セグメントに見えている、Wi‑Fi と有線の二重接続で期待と違う経路になっている、などで「スマホが参照すべき IP」がズレることがあります。PC 側で ipconfig/ifconfig 相当のコマンドや設定画面から、今まさに使っている Wi‑Fi アダプタの IPv4 を再確認してください。
ポート番号の不一致
テンプレートの 7890 を覚えているあまり、実際には GUI で別ポートに変えているケースです。Clash のログや設定画面で LISTEN している番号を正として、スマホ側を合わせ直します。
まとめ
同一 Wi‑Fi 上でスマホから PC の Clash を使うには、allow-lan、適切な bind-address、実際の mixed-port/各ポート番号を揃え、OS ファイアウォールでそのポートを許可し、端末側では PC の LAN IP と正しいポートを指定する——この一連が基本です。7890 はよく使われる既定値の代表であって、環境ごとに必ず実測で確認してください。
ルール分流や TUN との組み合わせは別レイヤの話ですが、LAN 共有は「入口を LAN に開く」作業なので、まず疎通を PC とスマホの両方から切り分けると早いです。クライアントの導入や更新は ダウンロードページ から OS に合わせて選べます。GUI ごとにメニュー名は違っても、YAML で上記キーが押さえられていれば考え方は共通です。