CreateYourVPN Academy
ルーター

OpenWRT ルーター

Nikki を使って OpenWRT ルーターを CreateYourVPN に接続する方法 — サブスクリプションリンクを 1 つ追加するだけで、パネルのスプリットトンネリングのルールが家庭内ネットワーク全体に自動的に適用されます。

ルーターを接続するということは、家中まるごとを VPN の内側に置くということです — スマートフォンもテレビもノート PC も、1台ずつ設定することなく利用できます。OpenWRT では、これがもっともスムーズな方法です。サブスクリプションリンクを 1 つ追加するだけで、ルーターはそこからサーバーとパネルのスプリットトンネリングのルールの両方を取得します。パネルでルールを変更すれば、ルーターは次回の更新時にそれを取り込みます。

当社では Nikki を使用します — mihomo(Clash.Meta)コアの上に構築された、軽量な OpenWRT アプリです。このガイドでは一連の流れをすべて解説します: Nikki のインストール(多くのプロバイダーではプロジェクトのフィードが開かないため、基本はいつでも使える手動の方法です)、サブスクリプションの接続、自動更新、そして動作確認です。

Nikki には OpenWRT 24.10 以降が必要です(25.x と SNAPSHOT でも動作します)。OpenWRT 23.05 はサポートされていません。

必要なもの

  • OpenWRT ≥ 24.10 で動作し、インターネットに接続されたルーター。
  • ルーターの Web インターフェース(LuCI)および SSH(ログイン root、パスワードは LuCI と同じ)へのアクセス。
  • 同じネットワークにあるコンピューターと、10〜15分ほどの時間。

ステップ 1. Nikki をインストールする

Nikki はデフォルトの OpenWRT フィードには含まれておらず、独自のパッケージフィードから提供されます。ただし、そのフィードとインストールスクリプトが GitHub に置かれているのが厄介な点です — GitHub は多くのプロバイダー環境ではうまく開けないため、「コマンド2つだけ」のクイックインストールがそのまま失敗することもよくあります。そのため、ここでは常に動作する手動の方法を基本とします。GitHub が問題なく開く環境であれば、方法 B のほうが速く済みます。

方法 A — 手動(常に動作します)

パッケージはコンピューターにダウンロードしてから、自分でルーターへ転送します — ルーター自体から GitHub にアクセスする必要はありません。

ルーターのアーキテクチャを確認します。LuCI で System → Software を開き、Update lists… を押します — コマンドの出力にアーキテクチャ(例えば x86_64aarch64_cortex-a53)が表示されます。SSH での代替方法は grep OPENWRT_ARCH /etc/os-release です。

リリースページ nikkinikki.pages.dev を開き、お使いの OpenWRT バージョンのフォルダ(openwrt-24.10openwrt-25.12、または SNAPSHOT)に入り、続けてお使いのアーキテクチャのフォルダに入ります。3 つのパッケージ — mihomo-meta(コア)、nikkiluci-app-nikki — をダウンロードしてください。ロシア語インターフェースが必要な場合は、さらに luci-i18n-nikki-ru も追加します。安定版のバージョンでは .ipk ファイル、SNAPSHOT では .apk ファイルになります。すべてを専用のフォルダ、例えば Downloads/nikki にまとめておきます。

フォルダをルーターへコピーします。-O フラグは必須です — これがないと scp は OpenWRT には存在しない SFTP を使おうとします(お使いの scp-O フラグに対応していない場合は、外してしまって構いません — 古いバージョンはそもそも必要なプロトコルを使っています)。フォルダが「ダウンロード」以外の場所にある、または名前が違う場合は、コマンド内のパスを書き換えてください。

macOS / Linux:

scp -O -r ~/Downloads/nikki root@192.168.1.1:/root/

Windows (PowerShell):

scp -O -r "$env:USERPROFILE\Downloads\nikki" root@192.168.1.1:/root/

SSH で接続し、フォルダ内のパッケージをインストールします — mihomo コアをリストの先頭にします:

ssh root@192.168.1.1
opkg update
cd nikki
opkg install ./mihomo-meta*.ipk ./nikki*.ipk ./luci-app-nikki*.ipk

opkg update は、パッケージマネージャーが OpenWRT の標準リポジトリから依存関係を取得できるようにするために必要です。ロシア語版をダウンロードしていた場合は、コマンドの末尾に ./luci-i18n-nikki-ru*.ipk を追加してください。SNAPSHOT ビルドには opkg がありません — 最後の 2 つのコマンドの代わりに apk update を実行し、続けて apk add --allow-untrusted ./mihomo-meta*.apk ./nikki*.apk ./luci-app-nikki*.apk を実行してください(このフラグが必要なのは、手動インストールではシステムにプロジェクトの署名鍵が入っていないためです)。

方法 B — プロジェクトのフィードから(GitHub にアクセスできる場合)

定番の「コマンド2つ」インストールです。お使いのプロバイダーで GitHub が問題なく開ける場合は、こちらを試してください。

ルーターに SSH で接続し、プロジェクトのフィードを追加します:

ssh root@192.168.1.1
wget -O - https://github.com/nikkinikki-org/OpenWrt-nikki/raw/refs/heads/main/feed.sh | ash

192.168.1.1 はルーターのデフォルトアドレスです。違う場合はご自身のアドレスに置き換えてください。

パッケージをインストールします — mihomo コアは自動的に取り込まれます:

opkg install nikki luci-app-nikki luci-i18n-nikki-ru

luci-i18n-nikki-ru は、Nikki インターフェースの任意のロシア語翻訳パックです。SNAPSHOT ビルドではパッケージマネージャーが異なり、同じパッケージを apk add でインストールします。

スクリプトが固まったり、パッケージがインストールできなかったりする場合は、お使いのプロバイダーの環境でフィードにアクセスできないということです。心配ありません — 方法 A はフィードなしでも動作します。

公式の手順は常に最新の状態に保たれています — コマンドが変わっていた場合は、そちらを確認してください:

どちらの方法でパッケージをインストールした場合でも、インストール後は一度 LuCI からログアウトし、再度ログインしてください — 再ログインして初めて、メニューに Services → Nikki の項目が表示されます。

ステップ 2. アカウントからサブスクリプションリンクをコピーする

アカウントにサインインし、ルーターブロックを見つけます。

ルーターサポートを有効にするのスイッチをオンにします。

サブスクリプションリンク (OpenWRT / Nikki) をコピーします — /clash で終わるリンクです。ルーターはこのリンクから、あなたのサーバーとパネルのスプリットトンネリングのルールの両方を取得します。

サブスクリプションリンクは秘密です — 手に入れた人は誰でもあなたの VPN を使えてしまいます。共有したり、どこかに投稿したりしないでください。

ステップ 3. Nikki にサブスクリプションを追加する

Services → NikkiProfile タブを開き、新しいサブスクリプションを追加します。名前は任意です(例: CreateYourVPN)。Subscription Link の欄に、アカウントのサブスクリプションリンクを貼り付けます。他の項目はそのままで構いません。Save & Apply を押します。

そのサブスクリプションの Update を押すと、Nikki がプロファイル — サーバーとあなたのスプリットトンネリングのルール — をダウンロードします。

ステップ 4. Nikki を有効にする

Proxy Config タブで、プロキシが有効になっている(Enable)ことを確認し、TCP ModeTPROXY に切り替えます。Save & Apply を押します。ファイアウォールのルールは Nikki が自動で設定します。

App Config タブで EnableFast Reload を有効にし、プロファイルの選択欄で先ほど追加したサブスクリプションを指定して Save & Apply を押します — サービスが起動します。

同じ画面で Scheduled Restart も一緒に有効にしておくことをお勧めします。cron 式は例えば 0 5 * * *(毎日 05:00)です。再起動のたびに Nikki はサブスクリプションを再取得するため、パネルで変更されたルールと最新のサーバーをルーターが自動的に取り込むようになり、手動での更新が不要になります。

ステップ 5. 動作を確認する

Nikki で Open Dashboard を押すと、ステータスとお使いのサーバーが表示されるコアのダッシュボードが開きます。続けて、ルーター経由で接続されている任意のデバイスで、VPN を通るはずのサイトを開き、表示される所在地が変わったことを確認してください。パネルで VPN をバイパスするように設定したサイトは、これまでどおり直接開くはずです。

コアが一度で起動しない場合。 初回起動時、mihomo は GitHub から地理データベース(国別・カテゴリ別のルールに使用)を追加でダウンロードするため、ルーターにインターネット接続が必要です — お使いのネットワークから GitHub がうまく開けない場合、初回起動に失敗することがあります。Nikki(またはルーター全体)を再起動し、もう一度 Dashboard を開いてください — データベースがダウンロードされ終わるまで、数回試す必要がある場合もあります。サービスが一度立ち上がれば、その後は安定して動作します。

ルールとサーバーの更新のしくみ

スプリットトンネリングのルールはパネル側で編集します — ルーター側で何かを変更する必要はありません。ルーターはサブスクリプションが更新されるたびに最新版を取得します: ステップ 4 の Scheduled Restart による自動更新か、Profile タブの Update ボタンによる手動更新のいずれかです。ルールと同時にサーバーも更新され、新しいサーバーが選ばれていれば、次回のサブスクリプション更新時にルーターがそちらへ切り替わります。

ヒント: トレントとルーターの負荷

これで家庭内ネットワークのすべてのトラフィックが、ルーター上の mihomo コアを経由するようになりました。非力なハードウェアで重い P2P ダウンロードを行うと、ルーターの CPU が限界まで使われて速度が落ちることがあります。これに当てはまる場合は、トラフィックの捕捉対象をポートのリストで制限してください: Proxy Config → Bypass タブで Destination TCP PortDestination UDP PortCustom に切り替え、VPN を経由させたいポートを列挙します(例えば 80443。値を入力するたびに Enter キーを押し、最後に Save & Apply を押してください)。リストに含まれないものは — ランダムな高番ポートを使うトレントクライアントも含めて — VPN とコアを経由せず、直接通信するようになります。

これはトレードオフです: リストにないポートで動作するアプリケーションも VPN を経由しなくなります。ルーターへの負荷が実際に問題になる場合にのみ使用してください。

参考リンク

On this page