2026-07-02 · 上級設定 · 約9分·clashsupport.com
Clash LANプロキシ共有設定:mixed-port・allow-lan・ファイアウォール許可の完全手順
1台のPCでClashを動かせば、スマホ・テレビ・ゲーム機で同じプロキシ経路を共有でき、デバイスごとに設定する手間が省ける。本記事ではmixed-port(混合ポート)の意味、allow-lanの有効化方法、bind-addressの設定値の違い、そしてWindowsとmacOS両方のファイアウォール許可と他デバイスでのプロキシ設定方法を説明する。
なぜLANプロキシ共有が必要なのか
Clash自体は単体デバイス上で動くプロキシコアで、デフォルトではローカルアドレス(127.0.0.1)しか監視しない。つまりそのPC上のソフトしかClash経由で通信できない。しかし実際には、スマホ・タブレット・スマートテレビ・ゲーム機でも同じ経路を使いたい場面が多く、デバイスごとにクライアントを入れるのは現実的でない。特にテレビやゲーム機は対応クライアントが存在しないことが多い。
LANプロキシ共有の考え方は単純だ。ClashにLAN内のすべてのネットワークインターフェースを監視させ、他デバイスのシステムプロキシをこのPCのIPとポートに向ける。すると通信はClashのルール判定とノード転送を経て外部へ出る。追加ソフトは不要で、設定ファイル内の数項目とOSファイアウォールの許可設定だけで実現できる。
mixed-port:まず監視ポートを理解する
Clashの設定ファイルには、ポート関連の項目として主にport(HTTPプロキシポート)、socks-port(SOCKS5プロキシポート)、mixed-port(混合ポート)がある。前2つは古い分離型の書き方で、mixed-portは現在主流のクライアント(特にClash Meta/mihomoコアベース)で推奨される書き方だ。同一ポートでHTTPとSOCKS5両方の接続を受け付け、クライアント側が自動でプロトコルを判別して処理するため、2つのポートを別々に設定する必要がない。
mixed-port: 7890
mixed-portを書けば、portとsocks-portは個別設定しなくてよい(一部クライアントのUIでは3つを1つの「混合ポート」入力欄にまとめている)。LAN内の他デバイスでプロキシを設定する際も、このポートを1つ入力するだけでよく、HTTPかSOCKS5かを区別する必要はない。
使用しているクライアントのGUIに「ポート」入力欄が1つしかなく、HTTP/SOCKSが分かれていない場合、内部的には基本的にmixed-portを使っているので、追加の操作は不要だ。
allow-lan:LANアクセスの総合スイッチ
ポート設定だけでは不十分だ。Clashのデフォルトの監視動作は「ローカルのみ」で、これは安全性を考慮した既定値だ——設定ファイルが不用意に共有された際、自分のPCのプロキシポートがLAN全体に晒されてしまう事故を防ぐためだ。LAN内の他デバイスから接続できるようにするには、明示的にこのスイッチをオンにする必要がある。
allow-lan: true
この項目は多くのクライアントのGUIでも見つかり、通常は「LAN接続を許可」「Allow LAN」といった名称になっている。オンにする効果は設定ファイルに直接記述するのと同じだ。有効化後、Clashは127.0.0.1からのリクエストだけでなく、LAN内の他IPからの接続リクエストも受け付けるようになる。
注意点として、allow-lanを有効にしても、OSのファイアウォールを自動的に貫通するわけではない——これはClashプロセス自身が外部接続を拒否しなくなるだけで、後述のファイアウォール許可手順は別途必要になる。
bind-address:どのネットワークインターフェースを監視するか
bind-addressは、Clashがポートを監視する際にどの(あるいは複数の)ネットワークインターフェースにバインドするかを決める項目で、一般的な設定値は3種類ある。
- 127.0.0.1:ローカルのループバックアドレスのみを監視し、LAN内デバイスからは一切接続できない。これは
allow-lanがfalseのときと同等の動作。 - 0.0.0.0:PC上のすべてのネットワークインターフェース(有線LAN、無線LAN、VPNクライアントが作成する仮想アダプタなど)を監視する。LAN共有シーンで最も一般的に使われる設定値。
- 特定のインターフェースIP(例:
192.168.1.5):指定した1枚のインターフェースのみを監視する。PCに複数のネットワークインターフェースがあり、特定の1枚だけでプロキシを提供したい場合に適する。
mixed-port: 7890
allow-lan: true
bind-address: "*"
多くのクライアントではbind-addressを*と省略記法で書き、これは0.0.0.0と同等で、すべてのインターフェースを監視する効果になる。PCが有線とWi-Fiを両方接続していて、LAN内デバイスがどのインターフェース経由でアクセスするか分からない場合は、*や0.0.0.0を使うのが最も手間がなく、各インターフェースに割り当てられたIPを1つずつ確認する必要がない。
このPCのLAN内IPアドレスを確認する
mixed-port・allow-lan・bind-addressの3項目を確認したら、次はClashを動かしているPCのLAN内での実際のIPアドレスを知る必要がある。他デバイスに入力するのはこのアドレスだ。
Windowsでの確認方法
コマンドプロンプトを開き、以下を実行する。
ipconfig
現在使用しているネットワークアダプタ(有線なら「イーサネット アダプター」、無線なら「無線LANアダプター WLAN」)の下にある「IPv4 アドレス」を探すと、192.168.x.xや10.0.x.xのような形式のアドレスが表示される。これが入力すべきアドレスだ。
macOSでの確認方法
「システム設定」→「ネットワーク」を開き、現在接続中のネットワーク(Wi-Fiまたはイーサネット)を選択すると、右側にIPアドレスが直接表示される。ターミナルで以下を実行しても確認できる。
ipconfig getifaddr en0
en0は通常、内蔵の有線または無線ネットワークインターフェースに対応するが、Macのモデルによって番号が異なることがある。en0で結果が返らない場合はen1、en2を順に試すとよい。
Windowsファイアウォールの許可設定
Windowsのファイアウォールはデフォルトで、外部デバイスがあるプロセスの新規ポートにアクセスするのをブロックする。Clashが0.0.0.0:7890を監視していても、LAN内デバイスからの接続がファイアウォール層で直接破棄されることがある。許可の手順は以下の通り。
- 「Windows Defenderファイアウォール」→「詳細設定」を開き、「受信の規則」に進む。
- 右側の「新しい規則」をクリックし、種類は「ポート」を選択する。
- プロトコルはTCPを選択し、特定のローカルポートに
mixed-portに対応する番号(例:7890)を入力する。 - 操作は「接続を許可する」を選択し、ネットワークの種類は必要に応じて「プライベート」にチェックする(公共ネットワークまで許可しないための推奨設定)。
- 規則に名前を付け(例:「Clash LANプロキシ」)、作成を完了する。
クライアントに専用のインストーラーがある場合、初回起動時にOSから「このアプリのファイアウォール通過を許可しますか」というプロンプトが表示されることが多い。「プライベートネットワーク」にチェックして許可すれば、上記の手動手順と同じ効果になり、重複して設定する必要はない。
macOSファイアウォールの許可設定
macOSのファイアウォール(「システム設定」→「ネットワーク」→「ファイアウォール」)は、デフォルトでは本機から発信する接続と外部からの接続を受け入れる処理を別々に扱う。ファイアウォールが有効な状態で、他デバイスが初めてClashの監視ポートに接続しようとすると、OSがそのアプリの受信接続を許可するかを確認するプロンプトを表示するので、「許可」を選べばよい。
プロンプトが表示されなかった場合、または誤って拒否してしまった場合は、手動で確認できる。
- 「システム設定」→「ネットワーク」→「ファイアウォール」→「オプション」に進む。
- アプリ一覧からClashクライアントを探し、状態が「入力接続を許可」になっているか確認する。
- 一覧にない場合は「+」ボタンでクライアントアプリを手動追加し、許可に設定する。
また、PCにサードパーティのセキュリティソフト(一部の企業用デバイスやセキュリティスイートは追加のネットワークフィルタを備える)が入っている場合、そのソフト側でも同様の許可設定を行う必要がある。OS標準のファイアウォールで許可しても、サードパーティ製ソフトが自動で許可してくれるとは限らない。
他デバイスでのプロキシ設定方法
LAN内のスマホ、タブレット、テレビ、ゲーム機は、基本的にOSのWi-Fi設定に手動プロキシのオプションがあり、設定内容はほぼ共通している。
- プロキシサーバーアドレス:Clashを動かしているPCのLAN内IP(例:
192.168.1.5)を入力する。 - ポート:
mixed-portの値(例:7890)を入力する。 - プロトコル種別:デバイスが1種類のプロトコルしか選べない場合はHTTPを選べばよい。
mixed-portはHTTP接続も問題なく受け付ける。
Androidデバイスでは通常「Wi-Fi詳細」→「詳細設定」→「プロキシ」で「手動」を選び、上記のアドレスとポートを入力する。iOSデバイスでは「Wi-Fi詳細」→「プロキシを構成」で同様に「手動」を選んで入力する。スマートテレビやゲーム機はメーカーによってメニュー名が多少異なるが、通常はネットワーク設定の詳細オプション内に「プロキシサーバー」の項目がある。
システムプロキシの手動設定は、システムプロキシ設定に対応した通信のみを転送する。一部のアプリ(特に独自のネットワーク実装を持つゲームや配信ソフト)はシステムプロキシを経由しない場合があり、これはアプリ側の制約であり、Clashの設定とは無関係だ。
接続できない場合の確認順序
LANプロキシ共有を設定した後、他デバイスから接続できない場合は、以下の順序で1つずつ確認すると、ほとんどのケースで原因を特定できる。
- 両デバイスが同じLANセグメントにあるか確認する。特に家庭内に複数のWi-Fiネットワーク(ゲストネットワークなど)がある場合、ゲストネットワークはメインネットワークと分離されていて相互にアクセスできないことが多い。
allow-lanが確実にtrueになっているか、設定保存後にクライアントが再読み込みされていないだけでないか確認する。bind-addressが127.0.0.1になっていないか確認する。これは最も見落としやすいポイントだ。- ファイアウォール規則に入力したポート番号と実際の
mixed-portが一致しているか確認する。ポートを変更した場合はファイアウォール規則も同時に更新する必要がある。 - Clashを動かしているPC上で、スマホのブラウザから直接
http://LAN内IP:ポートにアクセスしてみる。接続が拒否される(タイムアウトではなく)場合はポート自体は通っているので、問題は他デバイスのプロキシ設定側にある可能性が高い。
ルーター側では基本的に追加設定は不要で、LAN内デバイス同士の通信はルーターの転送規則を経由しない。プロキシサービスとクライアントが異なるサブネットをまたぐ場合(例:VPN経由で自宅ネットワークに接続し直す場合)のみ、ルーティングとポート転送の問題を考慮する必要があるが、これは別のトピックであり、通常のLAN共有の範囲には含まれない。