Clash 混合ポートと LAN 共有プロキシ設定:スマホ・テレビでパソコンのノードを共用

mixed-port と allow-lan を有効にしたあと、同じ LAN 内のスマホ・タブレット・テレビでプロキシのアドレスとポートをどう設定するか、安全上の注意点も併せて解説。

パソコンで Clash を動かしているなら、スマホやタブレット、テレビも同じノードに乗せたいとき、いちいち各デバイスにクライアントを入れる必要はありません。混合ポートと LAN 共有をオンにすれば、他のデバイスはパソコンの LAN 内 IP にプロキシを向けるだけで済みます。まだクライアントを入れていない場合は、先にダウンロードページで Clash Verge Rev を導入し、チュートリアルに沿って購読を取り込んでから、この共有設定に進んでください。

混合ポート:1つのポートで2つのプロトコルをまとめて処理

Clash の設定ファイルにはポートに関わる項目が3つあります。まずここを整理してから設定を進めましょう。

  • port:HTTP プロキシ用ポート。HTTP/HTTPS のプロキシリクエストのみを受け付ける。
  • socks-port:SOCKS5 プロキシ用ポート。TCP と UDP の転送に対応。
  • mixed-port:混合ポート。同じポート上で入ってくるリクエストが HTTP か SOCKS かを自動判別するため、接続する側はプロトコルの違いを気にする必要がない。

Clash Verge Rev は初期状態で混合ポート 7897 のみを開いています(初期のバージョンや一部の古い設定では 7890 の場合もあるため、「設定 → ポート設定」の実際の表示を確認してください)。システムプロキシ、ブラウザ、CLI ツールもすべてこのポートを指しています。LAN 共有もこのポートを中心に組み立てるため、スマホやテレビ側で覚えておく情報は IP アドレスとポート番号の1組だけです。

独立した portsocks-port を使う場面はあるのでしょうか。特定のプロトコルしか認識できず自動判別との相性が悪い古いソフトを使う場合には、設定に追加で記述できます。3つの項目は同時に存在させても干渉しないので安心してください。ただ日常的な共有用途なら混合ポートだけで十分です。各項目の詳細は設定リファレンスページを参照してください。

ステップ1:allow-lan を有効にし、ファイアウォールを許可する

初期状態では Clash は 127.0.0.1 のみを監視しており、接続できるのは自分自身のパソコンだけです。allow-lan はすべてのネットワークインターフェースを監視するかどうかを制御する項目で、true に設定すると、同一 LAN 上の他のデバイスからも接続できるようになります。

Clash Verge Rev では設定ファイルを直接編集する必要はありません。「設定」画面の「LAN 接続」スイッチをオンにすれば、これがそのまま allow-lan に対応します。同じ画面の「ポート設定」では混合ポートの確認・変更が可能です。これを YAML で書くと以下のようになります。

mixed-port: 7897
allow-lan: true
bind-address: "*"

bind-address*(全インターフェース)のままで問題ありません。特定の IP を指定すると、ネットワーク環境が変わったときに機能しなくなることがあるためです。

Windows で初めて共有をオンにすると、通常セキュリティセンターの警告が表示され、verge-mihomo のネットワーク通信を許可するか確認されます。「プライベートネットワーク」にチェックを入れて許可してください。うっかりキャンセルしてしまった場合は、「コントロールパネル → Windows Defender ファイアウォール → アプリまたは機能を許可」から該当項目を探し、プライベートネットワークに再度チェックを入れます。macOS でファイアウォールを有効にしている場合は、「システム設定 → ネットワーク → ファイアウォール → オプション」からカーネルプログラムの通信を許可してください。

ステップ2:パソコンの LAN 内 IP アドレスを確認する

他のデバイス側で入力する「サーバー / ホスト名」は、パソコンの LAN 内アドレスであり、127.0.0.1 ではありません。確認方法は以下の通りです。

  • Windows:コマンドプロンプトで ipconfig を実行し、使用中のネットワークインターフェースの「IPv4 アドレス」を確認します。192.168.1.20 のような形式になります。
  • macOS:「システム設定 → Wi-Fi → 詳細」からそのまま確認できます。またはターミナルで ipconfig getifaddr en0 を実行します。
  • Linux:ターミナルで hostname -I を実行し、最初に表示されるアドレスを使います。

このアドレスはルーターの DHCP によって割り当てられるため、ルーターを再起動したりリース期限が切れたりすると変わる可能性があります。長期的に共有する場合は、ルーターの管理画面で IP/MAC アドレスの紐付け(「アドレス予約」などと呼ばれる機能)を設定し、パソコンの LAN 内 IP を固定しておくと、数日おきにスマホ側の設定を入れ直す手間が省けます。

ステップ3:スマホ・タブレット・テレビそれぞれの設定方法

前提として、デバイスとパソコンが同じルーター・同じネットワークセグメントに接続されている必要があります。以下ではパソコンの IP を 192.168.1.20、ポートを 7897 として説明します。

iPhone / iPad

「設定 → Wi-Fi」で現在接続中の Wi-Fi の詳細アイコンをタップし、一番下までスクロールして「プロキシを構成」を選択、「手動」に切り替えます。サーバーに 192.168.1.20、ポートに 7897 を入力して保存します。認証を設定していない場合は「認証」スイッチはオフのままにしておきます。

Android のスマホ・タブレット

「設定 → Wi-Fi」で現在接続中のネットワークを長押しまたはタップし、「ネットワークを変更」を選択、「詳細設定」を開いて「プロキシ」を「手動」に切り替えます。プロキシのホスト名に 192.168.1.20、プロキシポートに 7897 を入力して保存します。メーカーによって表記は多少異なりますが、キーワードは常に「プロキシ → 手動」です。

Android TV / テレビボックス

純正の Android TV では「設定 → ネットワークとインターネット → 接続中の Wi-Fi → プロキシ設定」から「手動」を選んで IP とポートを入力します。注意点として、多くのテレビの独自 OS(一部の国内メーカー製テレビ、旧型の Samsung や LG など)にはそもそもプロキシ設定の項目が用意されていない場合があります。その場合はこの方法では対応できず、プロキシをルーター側に落とし込む必要がありますが、これは本記事の範囲外です。

もう一台の別のパソコン

macOS では「システム設定 → Wi-Fi → 詳細 → プロキシ」で「Web プロキシ (HTTP)」と「セキュリティ Web プロキシ (HTTPS)」にチェックを入れ、同じアドレスを入力します。Windows では「設定 → ネットワーク → プロキシ → プロキシサーバーを使う」の項目に入力します。ブラウザの拡張機能だけに設定を絞ることも可能で、その方が影響範囲を小さく抑えられます。

パソコンの電源を切ると、スマホがネットにつながらなくなる

スマホに手動プロキシを設定すると、ほぼすべての通信がパソコン経由になります。パソコンがスリープ、シャットダウン、または Clash を終了すると、スマホは即座にネットにつながらなくなります。共有を使わないときは、スマホ側のプロキシ設定を「オフ / なし」に戻すことを忘れないでください。

接続確認とトラブルシューティングの順序

もう一台のデバイス側で確認する最も手軽な方法はコマンドラインです。

curl -x http://192.168.1.20:7897 -I https://www.google.com

レスポンスヘッダーが返ってくれば、「デバイス → パソコン → ノード」という一連の経路が通じていることを意味します。スマホにターミナルがない場合は、ブラウザで適当なサイトを開いてみれば十分に判断できます。

接続できない場合は、以下の順番で確認すると効率的です。ヒット率が高い順に並べています。

  1. 両者が同じネットワークセグメントにいるか:スマホの IP も 192.168.1.x になっているはずです。「ゲストネットワーク」に接続している場合はほぼ確実に隔離されています。
  2. ルーターで AP アイソレーション / クライアント隔離が有効になっていないか:これが有効だと LAN 内のデバイス同士が互いに見えなくなるので、無効化して再試行してください。
  3. パソコンのファイアウォールが本当に許可されているか:一時的にファイアウォールをオフにして検証すると原因を切り分けられます。
  4. allow-lan が実際に有効になっているか:カーネルのログで監視アドレスの行を確認し、[::] または 0.0.0.0 になっていれば正しく機能しています。127.0.0.1 のままなら、スイッチがオンになっていないか設定が反映されていません。
  5. ポートが他のプログラムに占有されていないか:占有されている場合は別のポート(例:7899)に変更し、スマホ側の設定も同時に変更してください。
mihomo 起動ログ
level=info msg="Mixed(http+socks) proxy listening at: [::]:7897"

よくある疑問として2点補足します。1つ目は、HTTP プロキシは UDP を転送しないため、音声通話や一部のゲームでシステムプロキシを利用する場合に不具合が起きることがありますが、これはプロトコル自体の仕様であり設定ミスではありません。2つ目は、スマホで他の VPN 系アプリを同時に起動していると手動プロキシと競合するため、先にそれらをオフにしてから検証してください。

安全上の注意:共有スイッチは常時オンにしない

信頼できるネットワークでのみ共有する

allow-lan をオンにするということは、現在のネットワークセグメント上のすべてのデバイスにプロキシサービスを公開することを意味します。自宅のネットワークなら問題ありませんが、カフェ、空港、会社のゲスト用ネットワークといった公共ネットワークでは、必ずオフのままにしておいてください。

共有したプロキシは、パソコンとまったく同じネットワーク視点を持ちます。つまりそれを経由すれば、ルーターの管理画面を含め、あなたのパソコンからアクセスできるあらゆる内部ネットワークアドレスにアクセスできてしまいます。そのため自宅内であっても、IP アドレスとポート番号は信頼できる相手にのみ伝えるようにしてください。

長期的に共有したい場合は、プロキシにユーザー名とパスワードによる認証を1段追加できます。Clash はこれを標準でサポートしています。

authentication:
  - "homeuser:十分な強度のパスワードに置き換えてください"

設定を反映させたら、iOS では「プロキシを構成」画面で「認証」をオンにしてユーザー名とパスワードを入力します。Android 標準のプロキシ設定画面はアカウント入力に対応していないため、認証をサポートするプロキシクライアントに切り替える、あるいは使うときだけ一時的に共有をオンにするといった運用が必要です。

最後に習慣として、共有が終わったら「設定」画面に戻り「LAN 接続」をオフにしておきましょう。このスイッチは初期状態のローカルのみ監視に戻すだけなので、パソコン自身がプロキシを使い続けることには影響しません。

Clash Verge Rev をダウンロード

無料・オープンソースで、Windows / macOS / Linux に対応し、mihomo カーネルを内蔵しています。導入後はチュートリアルに沿って購読を取り込み、本記事に戻って LAN 共有を有効にしてください。

Clash をダウンロード