コンテンツにスキップ

OpenClashの基本:互換性、DNSの競合、きれいな無効化

対象範囲:このページでは、適法な環境での互換性、DNSの競合、起動/停止、復旧を扱います。プロキシサーバー、サブスクリプションのリンク、ルールセット、ネットワーク制限やサービス/地域の制限を回避する手順は提供しません。利用前に、現地の法律、ISPの規約、アクセス先サービスの規約を確認してください。

  • お使いのファームウェア/アーキテクチャ/パッケージ形式が、OpenClashのリリースと合うか判断します。
  • ポート53で、dnsmasqやAdGuard Homeと競合しないか確認します。
  • LuCIの画面だけを信用せず、プロセス/ログ/ポートの状態を確認します。
  • 無効化した後に、DNSと基本的な接続を復旧します。
  • このページが意図的に扱わない内容を把握します。
  • OpenWrt 25.12.6(apk)または24.10(opkg)。x86/ARMはリリースのパッケージと一致している必要があります。
  • OpenClashはサードパーティのLuCIアプリで、通常は対応するMihomo/Metaコアが必要です。フロントエンド、コア、ファームウェアに互換性が必要です。
  • 25.12の apk と24.10の ipk は別の形式です。.ipk を .apk にリネームしたり、別のアーキテクチャのパッケージを強制インストールしたりしないでください。
  • ベンダーのファームウェア/ImmortalWrt/iStoreOSでは、先に入手元とパッケージマネージャーを特定してください(ファームウェアの識別ページを参照)。
ルーターのシェルファームウェア、アーキテクチャ、空き容量を確認する
ターミナルウィンドウ
ubus call system board
cat /etc/openwrt_release
uname -m
command -v apk
command -v opkg
df -h /
free -h

release.target、DISTRIB_ARCH、パッケージマネージャー、空き容量を記録します。OpenClashにコアとルールデータを加えると数十MBになることがあります。rootfsがいっぱいの状態で無理に入れないでください。

期待される結果パッケージ形式、CPUアーキテクチャ、利用可能な容量が分かります。

ルーターのシェル一致するリリースパッケージを探す

OpenClashの公式リリースページのみを使い、次を確認します。

  • ファームウェアのメジャーバージョン(25.12 / 24.10)
  • パッケージ形式(apk / ipk)
  • CPUアーキテクチャ(x86_64、aarch64など)
  • 依存関係(カーネルモジュール、bash/curlなど。リリースノートに従う)
  • リリースページのSHA-256/チェックサム

一致するパッケージがない場合は、そこで止めてください。「汎用」パッケージや他人のビルドを無理に使わないでください。

期待される結果お使いのファームウェアとアーキテクチャに合ったapk/ipkが見つかります。

ルーターのシェルDNS/ポートのベースラインを記録する
ターミナルウィンドウ
netstat -lnp | grep -E ':53|:5353|:7874|:9090'
cat /tmp/resolv.conf.d/resolv.conf.auto
nslookup openwrt.org 127.0.0.1

AdGuard Homeが53番を使い、dnsmasqが5353番にある場合、OpenClashが同時に53番を使ってはいけません。起動する前に、誰がDNSを担当するか決めてください。

期待される結果誰が53番を使っているか、復元が何を指すかが分かります。

最小限のセットアップ(プロキシのエンドポイントなし)

Section titled “最小限のセットアップ(プロキシのエンドポイントなし)”
LuCIDNSを乗っ取らせず、まずフロントエンドとコアを起動する

サービス → OpenClash で次を行います。

  1. アーキテクチャに合ったコアを選択します。
  2. DNSの乗っ取り/ハイジャックは、今は無効のままにします。
  3. 保存して起動します。
  4. ログページを開き、「コアの不一致 / ポートが使用中 / 依存関係の不足」がないことを確認します。

このページでは、プロキシサーバー、サブスクリプション、ルールは提供しません。適法な設定がない場合は、ここで止めてください。「とりあえず動かす」ために、出所不明のサブスクリプションを貼り付けないでください。

期待される結果サービスが起動し、LuCIに状態が表示されます。

ルーターのシェルプロセス、ポート、ログを確認する
ターミナルウィンドウ
ps w | grep -Ei 'openclash|mihomo|clash' | grep -v grep
netstat -lnp | grep -E ':7874|:9090|:53'
logread | grep -i openclash | tail -30

ポートは設定によって異なりますが、重要なルールは2つのプロセスに53番をバインドさせないことです。ログにDNSのバインド失敗が出た場合は、再起動を繰り返さず、OpenClashを無効にしてください。

期待される結果OpenClash/コアが、ポート53の競合なしで動作しています。

ルーターのシェル無効化して基本的な接続を確認する
ターミナルウィンドウ
/etc/init.d/openclash stop
/etc/init.d/openclash disable
uci show openclash
/etc/init.d/dnsmasq restart
nslookup openwrt.org 127.0.0.1

以前にdnsmasqのポートやDHCPオプション6を変更した場合は、DNS/AGHのページに従って元に戻してください。クライアントが、停止したOpenClashのDNSを参照していないことを確認します。

期待される結果OpenClashなしで名前解決とインターネット接続が機能します。

OpenClashを有効にしたらインターネットに繋がらない

Section titled “OpenClashを有効にしたらインターネットに繋がらない”
  1. LAN/コンソール経由でデバイスにアクセスします。
  2. OpenClashを停止します。
  3. dnsmasqのポート53とDHCPのDNSを元に戻します。
  4. ファイアウォール/DNSハイジャックのルールが残っていないか確認します。
  5. 必要なら再起動します。それ以上デバッグする前に、基本的な接続を復旧してください。

「再起動」を何度もクリックしないでください。SSH/コンソールでサービスを停止します。

ターミナルウィンドウ
/etc/init.d/openclash stop
/etc/init.d/openclash disable
logread | tail -50

ファイアウォールのルールが管理アクセスを遮断している場合は、コンソールから復旧してください。やみくもに初期化しないでください。

パッケージ形式/アーキテクチャの不一致

Section titled “パッケージ形式/アーキテクチャの不一致”
  • 25.12はapk、24.10はipkを使い、互換性はありません。
  • x86_64とaarch64のパッケージも互換性がありません。
  • フロントエンドとコアのバージョンが合わない場合は、リリースページに記載された組み合わせに戻します。
  • インストールのためだけに、署名/検証のチェックをすべて無効にしないでください。
  • メインのDNS入口で53番を使うのは、1つだけにします。
  • AdGuard Home、dnsmasq、OpenClashのDNSが、互いを参照してループしてはいけません。
  • OpenClashを停止し、dnsmasq/AGHを元に戻してから、コンポーネントを1つずつ戻します。
  • 127.0.0.1、LANアドレス、アップストリームを、それぞれ nslookup でテストします。

コンプライアンスとバージョンの境界

Section titled “コンプライアンスとバージョンの境界”
  • 許可されたネットワークとサービス規約の下でのみ使用してください。このページは、回避手段、地域/アクセス制御の回避、アカウント/サブスクリプションの共有に関する内容を提供しません。
  • OpenClash/Mihomoはサードパーティのプロジェクトで、バージョンや依存関係の変化が速いです。リリースノートを読み、ロールバック用のパッケージを保管してください。
  • これは法的助言ではありません。導入前にコンプライアンスの問題を解決してください。
  • 環境:OpenWrt 25.12.6 x86 VM 200、公式の luci-app-openclash 0.48.002 .apk。
  • apk add --allow-untrusted で43パッケージ(luci-compat、Ruby、unzipを含む)がインストールされ、/etc/init.d/openclash とLuCIコントローラーが存在しました。
  • プロキシの設定/エンドポイントがない状態で、start は inactive と報告しました。このページは「プロキシが動作する」とは主張しません。
  • stop + disable の後、nslookup openwrt.org 127.0.0.1 は接続拒否を返しました。/etc/init.d/dnsmasq restart でDNSが復旧し、公開IPへのpingも通りました。
  • 未テスト:実際のプロキシのエンドポイント/サブスクリプション、ルーティング/DNSのヒット、Mihomoコア、TUN/ファイアウォールルール、性能/安定性。
  • レシピ:tests/recipes/openclash-25.12.md。
  • このページはE2(一部)です。25.12の .apk のインストール、設定なしでの起動、無効化、DNSの復旧をテストしました。実際のプロキシ/ルーティングはE1/E3です。
  • 適法なエンドポイント/設定がない状態で、「インストールできた」を「プロキシが動作する」にすり替えないでください。
  • このページを、プロキシのサブスクリプション/回避のチュートリアルに拡張しないでください。対象外です。

出典

Router.Homes

独立した OpenWrt の実践ノートです。各ページにファームウェア、デバイス、パッケージマネージャー、元に戻す手順を明記しています。

アイコン:Solar by 480 Design, CC BY 4.0