Clash混合ポートとLAN共有プロキシ設定:他のデバイスを同じ設定で動かす

allow-lanとmixed-portを有効にすると、同じLAN内のテレビやゲーム機、タブレットもパソコン上のClashプロキシを共有できるようになる。本稿ではポートの意味、各OSでのファイアウォール許可方法、よくある接続失敗の原因を解説する。

ミックスポートとは何か、LAN共有になぜ必要なのか

Clashのコアはローカルで複数のプロキシプロトコルを同時にリッスンしている:HTTPプロキシポート、SOCKS5プロキシポート、そしてミックスポート(mixed-port)だ。前者2つはそれぞれ単一のプロトコルを担当し、クライアント側は接続時にどちらのポートを使うか区別する必要がある。一方ミックスポートはHTTPとSOCKS5を同一ポートに統合し、コアがクライアントから送られてきたプロトコルの種類を自動判別してそれぞれ処理する。利用者にとっての利点は明快で、覚えておくポート番号は一つだけでよく、ブラウザやダウンローダーはもちろん、単一のプロトコルしか対応していないテレビやゲーム機のようなデバイスも、同じポートを指定するだけで済み、デバイスごとに異なるポートを設定する必要がない。

現在の主要なClashクライアント(Mihomoコアを採用したGUIクライアントを含む)は、デフォルトでミックスポートを一つ有効にしており、よく使われる値は7890だ。設定ファイル(config.yaml)を開くと、通常次のようなフィールドが確認できる。

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

この3行はそれぞれ次の役割を担っている:ミックスポート番号の指定、LAN内の他デバイスからの接続許可、そしてリッスンアドレスをローカルループバックアドレスだけでなく全ネットワークインターフェースにバインドすること。この3つのうちどれか一つでも欠けるとLAN共有は正常に機能しない——allow-lanだけを変更してbind-addressの確認を忘れる人が多く、結局つながらないままになる。次の節ではこの2つのスイッチの関係を具体的に説明する。

LAN共有を有効にする2つのスイッチ:allow-lanとbind-address

allow-lanは「自分のPC以外からの接続要求を受け入れるかどうか」を制御する項目だ。デフォルトではセキュリティのため、多くのクライアントがこの値をfalseに設定しており、つまりローカルのプログラムだけがプロキシポートに接続できる状態で、LAN内の他デバイスからのリクエストは即座に拒否される。これをtrueに変更するのがLAN共有を有効にする最初のステップであり、最も覚えやすい手順だ。

bind-addressはコアがサービスをどのネットワークインターフェースに「バインド」するかを決める項目だ。127.0.0.1(ローカルループバックアドレス)のみにバインドしている場合、allow-lanを有効にしていてもLAN内のデバイスは接続できない。トラフィックが外部向けのネットワークインターフェースにそもそも届いていないためだ。bind-addressを"*"または具体的なLAN内IP(例:192.168.1.5)に設定することで、ポートが外部デバイスから実際に見えるようになる。多くのGUIクライアントはこの項目をスイッチ化しており、画面上には「LAN内接続を許可」といった表記があり、これをオンにすると内部的にはallow-lanとbind-addressの両方が同時に変更され、設定ファイルを手動で編集する必要はない。

LAN共有を有効にすると、同じネットワーク内のどのデバイスも理論上はプロキシポートへの接続を試みられる状態になる。会社や学校、カフェなどの公共Wi-Fiに接続している場合は、信頼できる自宅ネットワークでのみこの機能を有効にし、使い終わったら速やかに無効化することを推奨する。

パソコンのLAN内IPアドレスを確認する方法は簡単だ。Windowsではコマンドプロンプトを開いてipconfigと入力し、「IPv4 アドレス」を探す。macOSでは「システム設定 → ネットワーク」を開き、現在接続中のネットワークを選択すればIPが表示される。Linuxではip addrまたはhostname -Iで確認できる。このIPを控えておき、後で他のデバイスを設定する際に使う——形式は通常192.168.1.x10.0.0.xのようになる。

各OSでのファイアウォール許可方法

設定ファイルでallow-lanを有効にしていても、OS標準のファイアウォールが外部からの接続を黙って遮断していることがある。これがLAN共有につながらない2番目に多い原因だ。主要な3つのデスクトップOSでの許可方法の考え方はほぼ共通で、対象のプログラムまたはポートを見つけ、「プライベートネットワーク/LAN」方向の受信接続を許可すればよい。

OS許可設定の場所操作のポイント
WindowsWindows Defender ファイアウォール → アプリにファイアウォール経由の通信を許可するClashクライアントのプログラムを見つけて「プライベート」列にチェックを入れる。一覧にない場合は「他のアプリを許可」からインストールフォルダ内の実行ファイルを手動で追加する
macOSシステム設定 → プライバシーとセキュリティ → ファイアウォール → オプション対応するクライアントを見つけて「入力を許可」に設定する。ファイアウォール自体がオフの場合はこの手順は不要
Linuxufw / firewalld などのファイアウォールツールsudo ufw allow 7890/tcpのようなコマンドでミックスポートに対応するTCPポート番号を許可する。ポート番号は設定ファイルのmixed-portと一致させる必要がある

注意点として、Windowsファイアウォールは「プライベート」と「パブリック」を分けて扱うことがある——自宅やオフィスのネットワークがシステムに「パブリック」と誤判定されている場合、プログラムを許可していても接続は拒否されてしまう。「ネットワークとインターネットの設定」で現在のWi-FiまたはイーサネットのネットワークプロファイルをOS側で手動により「プライベートネットワーク」に変更し、ファイアウォールルールを再確認するとよい。

テレビ・ゲーム機・タブレットを同じ設定で動かす

多くのデバイスはClashクライアントをインストールできないが、プロキシの手動設定に対応していれば、パソコン上で動いているこの設定を共有できる。操作の考え方はどのデバイスでも共通で、デバイスのネットワーク設定内で「プロキシ」項目を見つけ、パソコンのLAN内IPを手動で入力し、ポートにはミックスポート番号を入力する。

  • スマートテレビ / テレビボックス:Wi-Fi設定に入り、現在接続中のネットワークを長押しまたはタップして詳細を開き、「プロキシ設定」を見つけて「手動」を選択し、IPとポートを順に入力する。Android系テレビはほぼこの項目に対応しており、一部のカスタムOSでは「詳細設定」の中に隠れている場合がある。
  • ゲーム機:主要なゲーム機のネットワーク設定にも同様にプロキシ項目があり、パスは通常「設定 → ネットワーク → インターネット接続を設定 → カスタム → プロキシサーバー → 使用する」で、同じIPとポートを入力すればよい。
  • タブレット / スマートフォン:同じWi-Fiに接続した後、そのネットワークを長押しして詳細を開き、「プロキシを構成」を見つけて「手動」を選択し、パソコンのIPとミックスポートを入力する。iOSとAndroidでは具体的な入口の位置がやや異なるが、項目名はほぼ共通している。

ミックスポートはHTTPとSOCKS5の両方に対応しているため、「HTTPプロキシ」欄しか用意されていないデバイスの大半も問題なく動作する——実際に送られているのはHTTPリクエストであり、コアが自動で判別して対応するプロトコルとして処理するため、特に区別する必要はない。

設定が完了した後も、これらのデバイスのトラフィック振り分けルールやノード選択は、パソコン上で動いているこの一つのClash設定によって一括して決まる。デバイス側で個別にルールやサブスクリプションを管理する必要はない。

よくある接続トラブルの原因チェック

LAN共有を設定してもつながらない場合、原因は通常以下のいずれかに絞られる。順番にチェックするのが最も効率的だ。

  1. allow-lanまたは対応するスイッチが実際に反映されていない。設定変更後にクライアントが設定を再読み込みまたは再起動されているか確認する。クライアントによっては設定変更後に手動で「適用」をクリックしないと、実行中のコアに反映されない場合がある。
  2. bind-addressがまだローカルループバックアドレスにバインドされている。GUI上の「LAN内接続を許可」スイッチは理論上これも同時に処理するはずだが、YAMLファイルを手動編集している場合はこの項目の変更漏れが起きやすい。
  3. ファイアウォールによる遮断。前節を参照してWindows/macOS/Linuxそれぞれの許可設定を一つずつ確認する。特に「プライベートネットワーク」と「パブリックネットワーク」の区別に注意する。
  4. IPまたはポートの入力ミス。パソコンを再起動したりネットワークを切り替えたりすると、LAN内IPが変わることがある。特にDHCPで自動的にアドレスを取得する環境では起こりやすい。ルーターの管理画面でパソコンのIPを固定(静的割り当て)にしておくと、毎回確認し直す手間を省ける。
  5. 2つのデバイスが同じネットワークセグメントにない。パソコンが5GHz Wi-Fiに、他のデバイスがゲスト用ネットワークや2.4GHz隔離ネットワークに接続している場合、同じルーターであってもゲストネットワーク分離機能に遮断されることがある。ルーターの設定で「ゲストネットワーク分離」を無効にするか、同じネットワークに統一する必要がある。

一通り確認しても解決しない場合は、まずパソコン自身のブラウザで同じプロキシアドレスを手動設定してテストし、プロキシ自体が正常に動作しているか確認する。その上でデバイス側の問題かネットワーク分離の問題かを見直すことで、どこで詰まっているのかをより早く特定できる。

設定を実際に動かす

LAN共有は結局のところ、すでに動いているClashクライアントに対してさらに2つのスイッチを入れるだけの作業だ。まだクライアントをインストールしていない場合は、先にダウンロードと基本設定を済ませ、その後本稿に沿って共有を有効にするとよい。

クライアントをダウンロード