OpenWrtルーターのVPN設定方法|家庭内の通信を端末別に振り分ける

OpenWrtを使って、自宅の端末ごとにVPN接続を振り分ける方法を解説。パッケージ確認からトンネル設定、通信テスト、DNSやゲートウェイのトラブル対処まで順に確認できます。

OpenWrtルーターにVPNを設定すると、家庭内のすべての端末を同じ経路に通すだけでなく、端末ごとに通常のインターネット接続とVPN接続を振り分けられます。たとえば、特定のパソコンやテレビだけVPNを使い、仕事用端末や家庭内機器は通常のゲートウェイを使う構成です。ただし、設定にはルーターの機種、OpenWrtのバージョン、利用するVPNプロトコル、ファイアウォール構成の確認が欠かせません。クライアントアプリ向けのサブスクリプションURLを、ルーターへそのまま読み込めるとは限らない点にも注意してください。

この記事では、準備する情報、トンネルの作成、端末別のポリシールーティング、接続テスト、DNSやゲートウェイの切り分けを順に説明します。設定を変更する前に、ルーターへ有線接続できる端末を用意し、現在の設定をバックアップしておきましょう。操作中にVPNへ接続できなくなっても、管理画面へ戻って復旧できる状態を確保することが大切です。

設定前に確認するもの

まず、OpenWrtのバージョン、CPUアーキテクチャー、空きストレージ、現在のファイアウォール構成を確認します。ルーターの処理能力やメモリーが限られている場合、暗号化処理を加えることで通信速度や他の機能に影響することがあります。利用中のファームウェアに対応しないパッケージやカーネルモジュールを追加すると、インストールに失敗したり、再起動後にネットワーク機能が正常に動作しなくなったりする可能性があります。

VPNサービス側から、ルーターで利用可能なプロトコルと設定情報を入手してください。WireGuardなら秘密鍵、公開鍵、接続先、許可するアドレス、必要に応じてDNSやKeepaliveの設定を確認します。OpenVPNなら、提供される設定ファイルと認証情報、証明書などを確認します。ユーザー名とパスワードだけで設定できるとは限りません。クライアント向けのサブスクリプションURLしかない場合は、OpenWrtで使える設定ファイルや手動設定が提供されているか、サービスの案内を調べましょう。URLや秘密鍵は第三者に共有しないでください。

パッケージ名やインストール方法は、OpenWrtのリリースによって変わることがあります。LuCIのソフトウェア管理画面を使う場合も、ファームウェアに対応する配布元から対象パッケージを選びます。コマンドラインを使う場合は、公式の配布元にある対象リリースの手順を確認し、異なるバージョンのパッケージを混在させないでください。ポリシールーティングには、環境に応じてpbrやLuCI用の関連パッケージを使用できますが、導入前に現在のファイアウォール方式との対応を確認します。

端末別の振り分け方を決める

ポリシールーティングは、宛先や送信元などの条件に応じて通信経路を選ぶ仕組みです。設定では、どの端末をVPNへ通すのか、ルールに一致しない通信をどちらへ送るのかを明確にします。家庭内の端末を識別するには、DHCPの固定割り当てを使って端末ごとに安定したIPアドレスを割り当てる方法が扱いやすいでしょう。MACアドレスを条件にできる構成もありますが、端末側のプライベートアドレス機能や接続するWi-Fiの変更により、識別方法の見直しが必要になる場合があります。

  • ✅ VPNを使う端末を決め、DHCPの固定割り当てなどで識別しやすくする。
  • ✅ ルールに一致しない端末の通信先を、通常のゲートウェイかVPNのどちらにするか決める。
  • ✅ VPN切断中の対象端末を通常回線へ切り替えるか、通信を止めるかを用途に応じて選ぶ。
  • ❌ ルーター上の全通信を一度にVPNへ向け、家庭内LANや管理画面への経路を確認しないまま適用しない。

一般的な構成では、VPN対象の端末を送信元としてルールに指定し、対象外の端末は通常のWAN経路を使うようにします。設定画面では「VPN接続」や「インターフェース名」と「ポリシー」の関係を確認してください。ルーター自身が行うDNS問い合わせやパッケージ更新などの通信は、LAN端末のルールと同じ扱いにならないことがあります。端末別のルールを作っただけで、ルーター自身の通信までVPN経由になるとは限りません。

VPNが切れたときの動作も重要です。対象端末が通常回線へ自動的に戻る設定では、通信は続けやすくなりますが、想定した経路から外れることがあります。VPNが使えない間は対象通信を通さない設計にする場合、ルールやファイアウォールの適用範囲を十分に検証してください。設定ミスでルーターの管理通信や家庭内機器間の通信まで遮断しないよう、LAN内のアクセスとインターネット向け通信を分けて考えます。

基本方針:「どの端末をVPNへ通すか」と「VPNが使えないときにどうするか」を先に決め、ルールに一致しない通信の経路も明示してから設定します。

トンネルを作成し、端末別ルールを設定する

ここからは、LuCIを使う場合の一般的な作業順です。メニュー名や画面構成はOpenWrtのバージョン、インストール済みパッケージ、ファームウェアによって異なります。画面の項目名が一致しない場合は、似た名前を推測して入力するのではなく、対象バージョンの説明を確認してください。設定前に保存したバックアップをすぐ戻せるようにしておくと、作業を進めやすくなります。

  1. LuCIのシステム情報画面などでOpenWrtのバージョンと状態を確認し、設定をバックアップします。VPNやファイアウォールの既存設定がある場合は、変更箇所を記録しておきます。
  2. 利用するプロトコルに必要なパッケージを、対象のファームウェアに対応する配布元から追加します。WireGuardではインターフェースや鍵の設定に必要なコンポーネント、OpenVPNではクライアント機能と設定ファイルの読み込みに必要なコンポーネントを確認します。
  3. VPN用インターフェースを作成し、サービスから入手した接続情報を入力します。WireGuardでは秘密鍵とピアの公開鍵、接続先、許可するIP範囲を確認します。Allowed IPsはルーティング範囲にも関係するため、全通信をVPNへ送る設定か、必要な宛先だけにする設定かを理解してから指定してください。
  4. ファイアウォールでVPNインターフェースを適切なゾーンへ関連付けます。WAN側へ必要な通信が許可されているか、LANからVPNへの転送が意図どおりかを確認します。画面の既定値を無条件に変更せず、現在の構成と照らし合わせましょう。
  5. ポリシールーティングのパッケージがトンネルを認識していることを確認し、対象端末の送信元アドレスを指定したルールを追加します。ルールの優先順位、VPNインターフェース、例外とする宛先、VPN停止時の扱いを見直してから保存します。
  6. まず一台のテスト端末だけを対象にして設定を適用します。対象端末と対象外端末の両方で通信を確認し、期待した経路になることが分かってから、必要な端末へルールを広げます。

インターフェース画面で「接続中」に見えても、LAN端末の通信がトンネルを通っているとは限りません。ポリシールーティングの状態やルール一覧で、サービスが動作しているか、対象インターフェースが有効か、ルールに使う送信元が現在の端末アドレスと一致しているかを確認します。設定を変更した後は、サービスの再起動が必要な場合もありますが、再起動を繰り返す前に画面上のエラーやシステムログを確認してください。

端末がIPv6を利用していて、VPN側にIPv6の経路がない場合は、IPv4だけがVPNを通りIPv6通信が通常回線へ出る可能性があります。対象端末のIPv6通信をどう扱うかを決め、OpenWrt、VPN設定、ファイアウォールの各設定が一致しているか確認します。単にIPv4の接続テストに成功しただけでは、IPv6を含めて意図どおりに振り分けられたとは判断できません。

接続テストとよくある問題の切り分け

動作確認では、VPN対象の端末と対象外の端末を分けてテストします。対象端末から新しいページを開く、名前解決を行う、必要なサービスへ接続するなど複数の方法を試します。既に表示済みのページやキャッシュされた情報だけでは、現在の通信経路を確認できないことがあります。接続先のIP情報を確認する場合は、信頼できる確認方法を使い、表示された接続先がルールで想定した出口と合っているかを見ます。

症状 確認する項目 次の対応
VPNインターフェースが接続状態にならない 鍵や認証情報、接続先、時刻、プロトコルに対応するパッケージ 入力ミスとログのエラーを確認し、設定情報を発行元の案内と照合する
トンネルは接続中だが対象端末が通信できない DHCPで割り当てたアドレス、ポリシールール、ファイアウォールの転送 一台の端末に対象を絞り、送信元とVPNインターフェースの指定を確認する
IPアドレスで接続できるがドメイン名を開けない 端末が使うDNS、VPN側のDNS設定、DNS要求の経路 DNS設定とポリシーの適用範囲を確認し、設定変更後に名前解決を再テストする
VPN対象外の端末まで影響を受ける 既定経路、ルールの条件と優先順位、対象アドレスの重複 対象端末の固定割り当てと、ルールに一致しない通信の動作を見直す
IPv4は想定どおりだが一部通信の経路が異なる 端末とルーターのIPv6設定、VPN側のIPv6対応、ファイアウォール IPv6を含めた方針を決め、対応する経路がない通信を放置しない

DNSの問題は、トンネルの接続状態とは別に確認します。端末がルーターをDNSサーバーとして利用している場合でも、ルーターが上流へ問い合わせる経路や、ポリシールーティングがDNS通信を扱う方法によって結果が変わります。DNSをVPN経由にしたいのか、通常のWAN経由にするのかを決め、端末のDNS設定とOpenWrt側の設定を合わせます。DNSだけが解決できないときは、トンネルを作り直す前に、対象端末のネットワーク情報とルーターのログを確認しましょう。

管理画面にアクセスできなくなった場合は、VPN設定やファイアウォールルールを追加し続けず、まずLAN側のアドレスと接続状態を確認します。設定変更後に一部端末だけ接続できない場合も、端末のWi-Fi再接続やDHCPリース更新でアドレスが変わっていないか確認してください。原因が分からないときは、直前に変更した項目を一つずつ戻し、変更の前後で状態を比べます。設定を初期化する前に、保存したバックアップから戻せるか確認してください。

よくある質問

OpenWrtにVPNのサブスクリプションURLをそのまま登録できますか?

クライアントアプリ用のサブスクリプションURLが、OpenWrtのルーター設定で直接利用できるとは限りません。ルーターで使える設定ファイルやプロトコル情報が提供されているか、サービスの案内を確認してください。URLには設定取得用の情報が含まれる場合があるため、公開したり、内容を知らない外部ツールへ入力したりしないでください。

VPNを設定すると、家庭内の全端末がVPN経由になりますか?

必ずしもそうなりません。既定経路とポリシールーティングの設定によって、全端末をVPNへ通す構成にも、指定した端末だけを通す構成にもできます。対象端末、ルールに一致しない通信、VPN切断時の動作を確認し、テスト端末で結果を検証してから適用範囲を広げましょう。

VPNは接続中なのに、Webサイトをドメイン名で開けないのはなぜですか?

トンネルが接続していても、DNSサーバーの設定やDNS要求の経路に問題があると名前を解決できないことがあります。端末が使っているDNS、OpenWrtが参照するDNS、VPN側で指定されたDNSを分けて確認してください。IPv4とIPv6で異なる経路になっていないかも確認します。

設定後にVPN対象外の端末まで通信できなくなった場合は?

既定経路、ルールの条件や優先順位、ファイアウォールの転送、DHCPで割り当てられたアドレスを順に確認します。最後に変更した項目を一つずつ戻し、VPN対象端末と対象外端末の両方で再テストしてください。管理画面へアクセスできない場合に備え、作業前のバックアップと復元手順を用意しておくことが重要です。

まとめ:トンネル単体の疎通、端末の識別、ポリシールーティング、DNSとIPv6を分けて確認すれば、問題の原因を絞り込みやすくなります。変更は小さく適用し、対象端末と対象外端末の両方で結果を確かめましょう。
無料で試す