0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

openwrtを古いwifiルータに入れて、メッシュwifi構築するテストをした覚書

0
Last updated at Posted at 2026-04-16

↓↓↓↓↓↓↓ あなたの記事の内容
古いwifiルータでメッシュ接続をしたかった
───────

Openwrtとは?

openwrt.orgで運営されている、linuxベースの拡張型wifiルーターMODです。
詳しくはサイトに解説ページがありますので熟読すると良いかもです。
ここでは超ざっくり説明しますと、組み込み型機器(メインはwifiなどのルーター)の基幹OSを拡張性のある統合型OSに入れ替えて、fortigateのような一括セキュリティ機器に作り替えたり、古いタイプのwifiルーターのセキュリティアップグレード(wifi4にWPA3キーを設定)したり出来るようにするようなことができるものです。

openwrtを入れられる機器

openwrtを導入できる機器はかなり限られており、有志がテストしたデバイス用仮パッケージを運営に渡してから次バージョンアップデート時に本番バイナリが配布される形なので、最新機種ほど対応機器が少ないのと、デバイスのGPTパッケージやドライバ周りがOSS開発用に公開されていないと対応されません。ですので導入するためのデバイス選びはかなり苦労すると思われます。初めての方は、購入時にopenwrt対応デバイス一覧をしっかり確認してください。(基本はこんなことしなくても、アップデート対応しているものは普通に使えばいいと思います。)
多分そのうちインストールとかも書くかも。

↑↑↑↑↑↑↑ 編集リクエストの内容
今回は、知り合いにもらったor某中古屋にて激安で手に入った、wifi5規格のサポート切れ機器が複数台貯まったので、標準でもそれなりに出来るメッシュ化をopenwrtを使い、複数メーカー寄せ集めメッシュをテストしてみます。

↓↓↓↓↓↓↓ あなたの記事の内容
wifi5で他メーカー(2種類のCPU)混合メッシュの結論
───────

wifi5で他メーカー(2種類のCPU)混合メッシュの結論

↑↑↑↑↑↑↑ 編集リクエストの内容

意外と出来る、という結論で良いと思います。
無線でのL2スイッチ接続なので、親機以外のLAN接続が無くても子機から親機まで送信してインターネットまで送受信する。または親機として2台にLAN接続し、その間にLAN無し子機を配置することで、その機器に近づいたときに自動的に一番近いルーターに接続が切り替わるので、歩きながらYOUTUBEとか見てても途切れません。
特性上は同型機を使ってメッシュ化した方が設定ファイルを使いまわせるし、安定性は良い。
機器が不安定になったら(親機以外)近くの別デバイスが受け皿になるので、別に気になりません。スマホなら契約回線も控えてるので全然大丈夫です。

懸念点は、家中に複数台機器を設置するので台数分消費電力が発生するのと、いろんな場所にwifiルータがあって邪魔という感じ。シンプルにコンパクトな家とかマンションでやるほどではない。
例えば、2台の同型機をメッシュで繋げてONU-WIFI・・・・WIFI-PCという構成の時、古い機器を使ってやるならば価値はありますが、WIFI4ハイエンド機以前だと機器のHW性能が低すぎて使い物にならなさそう。
セキュリティ設定をしっかりしないと、絶対めんどくさいことになる。なぜ古い機器にopenwrtを導入するのかもう一度考えよう。
↓↓↓↓↓↓↓ あなたの記事の内容
近くに畑や離れがあってそこにネットをつなげる場合、国内だとac/ax規格が使えないので、単帯n/g規格の通信容量と通信強度が必要。今回の危機には指向性アンテナタイプが無いので、畑まではカバーできないが、離れには接続させる事も可能。屋外用には別途メッシュポイントを設定して、専用ルータを外に置ければ理論上は外でも家のインターネットに接続可能かも。
最低限WIFI5仕様、4x4MU-MIMO、国内仕様ルータ、openwrtだと選択肢が狭すぎるのと、導入難度が高すぎるかも。機器代が極貧エンジニアでも買える所がいいかも。
───────

近くに畑や離れがあってそこにネットをつなげる場合、国内だとac/ax規格が使えないので、単帯g規格の通信容量と通信強度が必要。今回の機器には指向性アンテナタイプが無いので、畑まではカバーできないが、離れには接続させる事も可能だった。屋外用には別途メッシュポイントを設定して、専用ルータを外に置ければ理論上は外でも家のインターネットに接続可能かも。
最低限 WIFI5仕様、4x4MU-MIMO、国内仕様ルータ、openwrtだと選択肢が狭すぎるのと、導入難度が高すぎるかも。機器代が極貧エンジニアでも買える所がいいかも。
↑↑↑↑↑↑↑ 編集リクエストの内容

正直ちょっとした休みの日に遊ぶ感覚でやると充実した遊びにはなる感じです。

↓↓↓↓↓↓↓ あなたの記事の内容
───────

日本における、wifi等の電波法について(AI出力)

日本国内でOpenWrtや802.11sメッシュを運用する場合、電波法への適合は避けて通れない非常に重要なトピックです。特に海外製ルーターやカスタムファームウェアを使用する場合、知らずに法を犯してしまうリスクがあります。
以下の4つのポイントに整理して解説します。


1. 技適(技術基準適合証明)の必須性

日本国内で電波を発する機器を使用するには、技適マークが必要です。

  • ルーター本体: 筐体に技適マークがあることを確認してください。
  • ファームウェアの影響: 厳密には「技適を受けた状態(ハード+ソフト)」での運用が求められます。OpenWrtの導入が即座に違法となるかについては議論がありますが、「電波出力」や「使用可能チャンネル」を仕様外に変更することは明確な違反となります。

2. 5GHz帯(W52 / W53 / W56)の利用制限

802.11sメッシュで5GHz帯を使う場合、チャンネル選択に法的制約があります。

  • W52 (36, 40, 44, 48ch):
    • 屋外使用禁止。メッシュで建物を跨いで屋外に電波が漏れる場合、注意が必要です。
  • W53 (52, 56, 60, 64ch):
    • 屋外使用禁止。かつ、気象レーダーを検知すると電波を止めるDFS機能が必須です。
  • W56 (100〜144ch):
    • 屋外使用可能。ただし、DFS機能が必須です。

⚠️ OpenWrtでの注意点:
OpenWrtの設定で「Country Code」を JP (Japan) に設定していないと、日本で禁止されているチャンネル(W52の屋外利用など)が開放されてしまい、意図せず違法状態になる可能性があります。

3. 送信出力の制限

日本ではWi-Fiの空中線電力(送信パワー)の上限が厳格に決まっています。

  • 上限: 一般的なWi-Fiでは 10mW/MHz 以下。
  • OpenWrtの無線設定(Wireless)にある Transmit Power を Max にしたり、手動で高い数値を入力してはいけません。必ずデフォルト、または日本の規定値内に収める必要があります。
    ↑↑↑↑↑↑↑ 編集リクエストの内容

↓↓↓↓↓↓↓ あなたの記事の内容
今回用意した機材(無線ルータ)
・ELECOM WRC-2533GHBK-I
───────

4. 11sメッシュと「実験的な利用」

もし技適のない海外製デバイスをテストしたい場合、総務省の「特例制度」を利用することで、短期間(最大180日間)に限り実験目的で利用できる場合があります。

  • 条件: 事前のオンライン届出が必要です。

🛡️ 安全に運用するための設定チェック(OpenWrt)

LuCIまたはSSHで以下の項目が正しく設定されているか必ず確認してください。

  1. Country Code を JP に固定
    • network > wireless > 各デバイスの Advanced Settings 内。
  2. 屋外でメッシュを組むなら W56 を選択
    • W52/W53を屋外で飛ばすと電波法違反(不法無線局)となります。
  3. DFS機能を無効化しない
    • W53/W56を使う場合、レーダー検知時の回避機能が正しく動作するパッケージ(kmod-ath10k 等のドライバがDFS対応であること)を使用してください。 [10]

今回用意した機材(無線ルータ)

  • ELECOM WRC-2533GHBK-I
    ↑↑↑↑↑↑↑ 編集リクエストの内容
    仕様的にかなり低性能なので、順番考えないとエラーを吹きやすい。一番外側に置くリピータ用(子機4)

  • ELECOM WRC-2533GS2-W
    白いお弁当箱。親機にしてもいいが、今回は子機3として設定。

  • NEC WG2600HP
    今回扱う中で内部スペックがかなり良いが、外装が汚い。子機2(隠し用)

  • NEC WG2600HP2
    状態が良いのでONU側親機。
    計4台+ 

  • TP-Link RE305
    アップデート時にぶっ壊してしまったので復旧したリピーター機。子機5
    こいつをメッシュに入れるのは中々厳しい。

御覧の通り、NEC機器以外は内蔵されているものが貧弱、NEC機器に至っては殻割必須な機種ですので、インストールは飛ばして設定と、メッシュとして繋がるかをメインで試してみます。
ですので、基本的な導入と、linuxが多少使えるものとして書いていきます。
↓↓↓↓↓↓↓ あなたの記事の内容
作業等はAIを使っていただいてもほぼ同じ答えが出てきますが、使った所のまとめです。
───────
作業等はAIを使っていただいても同じ答えが出てきますので、ほとんどそのまとめです。

openwrtにおけるメッシュwifi規格(AI出力)

OpenWrtにおける 802.11s メッシュは、標準化されたWi-Fiメッシュ規格(IEEE 802.11s)を用いて、複数のルーターをワイヤレスで相互接続し、一つの大きなレイヤー2(スイッチのような)ネットワークを構築する機能です。

従来のWDS(Wireless Distribution System)と比較して、動的な経路選択(HWMPプロトコル)が可能であり、ベンダーを問わない相互運用性が高いのが特徴です。

  1. 導入の必須要件
    802.11sを構築するには、ソフトウェアとハードウェアの両面で準備が必要です。
    パッケージの入れ替え: デフォルトの wpad-mini 等はメッシュをサポートしていません。
    暗号化(WPA3-SAE等)を使用する場合、wpad-mesh-opensslwpad-mesh-wolfssl などのメッシュ対応パッケージのインストールが必須です。
    ハードウェアサポート: 使用するWi-Fiチップのドライバーが「Mesh point」モードに対応している必要があります。
    sshで iw list コマンドを実行し、Supported interface modes に mesh point が含まれているか確認してください。
    ↑↑↑↑↑↑↑ 編集リクエストの内容

↓↓↓↓↓↓↓ あなたの記事の内容
───────
2. 設定の重要ポイント
メッシュを正常に動作させるには、全ノードで以下の設定を完全に一致させる必要があります。

項目 設定内容と注意点
メッシュID ネットワーク識別子。全ノードで同一にする。
チャンネル 必ず固定してください。
auto 設定ではノード間が同期できず、接続が切断されます。
暗号化 802.11sでは authsae (WPA3-SAE) が標準的です。
パスワードも統一します。
ネットワーク 通常は lan ブリッジにアサインします。
  1. メッシュ構成の仕組み
    802.11sを導入すると、ルーターの役割は以下のように整理されます。
    バックホール: ルーター同士をつなぐ「見えないLANケーブル」の役割。これが802.11sのインターフェースです。
    アクセスポイント (AP): スマホ等のクライアントが接続する通常のSSID。バックホールとは別に(または同じ無線チップ上で)設定します。
    ↑↑↑↑↑↑↑ 編集リクエストの内容

↓↓↓↓↓↓↓ あなたの記事の内容
構築前の確認
───────
4. 応用:batman-adv との組み合わせ
より大規模、または有線バックホールと無線を混在させたい場合は、batman-adv プロトコルを802.11sの上位レイヤーとして組み合わせるのが一般的です。

メリット: 有線が繋がれば有線を優先し、切断されれば無線メッシュへ自動で切り替わるといった、柔軟な経路制御が可能になります。

注意点と限界

  • スループットの低下: 無線で中継(ホップ)するたびに、利用可能な帯域幅は概ね半分になります。
  • CPU負荷: 暗号化やルーティング処理により、低スペックなルーターではパフォーマンスが低下することがあります。

構築前の確認(AI出力)

↑↑↑↑↑↑↑ 編集リクエストの内容

  1. wpadの入れ替え
    実機で wpad-mesh-mbedtls への入れ替えを最初に行ってください。これが無いとメッシュ(802.11s)のメニュー自体が出ません。
  2. 有線バックホールの優先
    有線が引ける場所なら、設定でSTP(スパニングツリープロトコル)を有効にするのを忘れないでください。これで「有線が繋がっている時は爆速、抜いたら自動で無線メッシュ」という理想的な環境になります。
  3. チャンネルの固定
    5GHz帯でメッシュを組むなら、36 / 40 / 44 / 48ch のいずれかに固定してください。W53/W56(100ch〜)だと、レーダー検知(DFS)でメッシュが突然切断されるストレスに見舞われます。

構築のステップ

  • Step 1: まず2台を有線で繋ぎ、同じSSIDでローミング(802.11r)ができるか試す。
  • Step 2: 次に無線メッシュ(802.11s)を設定し、LANケーブルを抜いても通信が維持されるか確認する。

webuiによる構築

LuCI(Web UI)を使用して、2台以上のOpenWrtルーターを802.11sメッシュで接続する具体的な手順を解説します。
作業を始める前に、全ノード(親機・子機)でパッケージの入れ替えを済ませておいてください。
wpad-basic-mbedtls などを削除し、wpad-mesh-openssl などをインストール。※SSHで opkg update && opkg install wpad-mesh-openssl が確実です)


ステップ1:無線インターフェースの作成

親機・子機ともに同じ設定を繰り返します。

  1. ネットワーク > 無線 を開きます。
  2. 使用する無線チップ(5GHz推奨)の 追加 ボタンをクリックします。
  3. 一般設定 タブで以下を設定します:
    • 動作モード: Mesh Point を選択
    • メッシュ ID: 任意の名前(例: my-mesh-network)
    • ネットワーク: lan にチェックを入れる
  4. 無線セキュリティ タブで以下を設定します:
    • 暗号化: WPA3-SAE (802.11s) を選択
    • パスワード: 任意の共通キーを入力

ステップ2:無線デバイス(物理層)の固定設定

メッシュは「同じチャンネル」で待ち受ける必要があるため、自動設定を禁止します。

  1. 同じく 無線 画面で、先ほど設定したチップの 編集(デバイス全体の設定)をクリックします。
  2. 一般設定 タブを確認:
    • チャンネル: auto ではなく、空いているチャンネルを手動で指定(例: 36chなど)
    • 幅: 80MHzなど、全ノードで統一する。
  3. 保存して適用 をクリックします。

ステップ3:子機(メッシュノード)のIPアドレス重複回避

※重要:子機側のみ設定します。

  1. ネットワーク > インターフェース > LAN (br-lan) の 編集 を開きます。
  2. IPv4 アドレス: 親機(通常 192.168.1.1)と重ならないアドレスに変更(例: 192.168.1.2)。
  3. DHCP サーバー タブの 基本設定 で、このインターフェースを無視する にチェック(DHCPを無効化)。
  4. 保存して適用 をクリック。
  • 注意:この後、子機の設定画面には新しいIPアドレス(192.168.1.2等)でアクセスすることになります。

ステップ4:接続確認とAP(Wi-Fi)の追加

  1. 状態 > グラフ > 無線、または ステータス > 無線 画面を確認します。
  2. 「メッシュ・ピア」として他方のルーターが表示されていれば、無線バックホールは開通です。
  3. スマホ等を接続する場合:
  • 同じ無線チップに、もう一つインターフェースを 追加 します。
    • 動作モード: Access Point
    • SSID: 普段スマホで使う名前
    • これで「ルーター間のメッシュ通信」と「デバイス用のWi-Fi」が同じ電波で共有されます。

⚠️ うまくいかない時のチェックリスト

  • パッケージ: wpad-mesh-... が入っていないと、そもそも「Mesh Point」モードが表示されません。
  • チャンネル: 親機と子機で1chでもズレていると、永久に繋がりません。
  • ファイアウォール: OpenWrtのデフォルトではLANブリッジ内の通信は許可されていますが、特殊なゾーン設定をしている場合は確認が必要です。

↓↓↓↓↓↓↓ あなたの記事の内容
wpad-basic-mbedtlsがインストールされている場合、wpad-mesh-mbedtlsにするなど、デフォルトと共通のものを使った方が良い。
───────

wpad-basic-mbedtlsがインストールされている場合、wpad-mesh-mbedtlsにするなど、デフォルトと共通のものを使った方が良い。

↑↑↑↑↑↑↑ 編集リクエストの内容

数種類パッケージが用意されているが、出来るだけ元ファイルと共通のものをインストールする。
wpad-mesh-mbedtlsは最軽量メッシュパッケージなので、まずはこれを使うこと。

↓↓↓↓↓↓↓ あなたの記事の内容
まとめ
wpad-mesh-mesh11sdについては次に投稿すると思います。
結論にある通り、同型機同士のメッシュ接続でなおかつ、AC帯をバックホールに間借りさせて環境構築すると、屋内では最高設定でwifi環境が作れる半面機器設置感覚が狭まって邪魔になってしまう。
───────

####ここから確認中####
OpenWrtで802.11sメッシュを構築した際、LuCI(画面)だけでは見えない詳細な接続品質や近隣ノードの状態を、SSHコマンドで確認する方法を解説します。


1. メッシュ全体の接続状態を確認する

現在、どのルーターとつながっているか、電波強度はどのくらいかを一覧表示します。

iw dev wlan0 station dump
  • 見方:
    • Station [MACアドレス]: 接続相手のノードのMACアドレスです。
    • signal: 電波強度。-60 dBm前後なら良好、-80 dBmを超えると不安定です。
    • tx/rx bitrate: 実際にデータが流れている速度。
    • mesh plink: 状態が ESTABLISHED であれば正常に接続されています。

2. メッシュ・パス(経路)の確認

メッシュネットワーク内で、宛先ノードへどの「隣人」を経由して通信しているかを確認します。

iw dev wlan0 mpath dump
  • 見方:
    • DEST ADDR: 最終的な目的地(ノード)のMACアドレス。
    • NEXT HOP: 次にパケットを渡す相手。ここが目的地と同じなら「直接接続」されています。
    • METRIC: 経路のコスト。数値が小さいほど「良いルート」と判断されています。

3. インターフェースが「メッシュモード」か確認

そもそも無線チップが正しくメッシュとして動作しているかを確認します。

iw dev
  • チェック項目:
    • type mesh point と表示されているか。
    • meshid が設定通りか。
    • channel が意図した番号(全ノード共通)になっているか。

4. ログからトラブルを探す

接続が頻繁に切れる場合や、確立されない場合はシステムログを確認します。

logread | grep mesh
  • エラー例:
    • expired: 相手からの応答が途絶えた。
    • authenticated: 認証成功。ここが通らない場合はWPA3のパスワードミスが疑われます。

💡 さらに便利なツール:msh-tools

より視覚的に確認したい場合、追加のパッケージを導入するのも手です。

opkg update
opkg install mesh11sd

これを導入すると、近隣のメッシュ情報をより整理された形で取得できるようになります。


mesh11sdは、802.11sメッシュネットワークの管理や状態監視を補助するデーモン/ツールです。OpenWrt標準のiwコマンドよりも、メッシュの状態を動的に把握するのに適しています。
以下にインストールから具体的な使い方までをまとめます。


1. インストール

まず、パッケージマネージャからインストールします。

opkg update
opkg install mesh11sd

2. 基本的なコマンド操作

mesh11sdをインストールすると、msh2 というコマンドが使えるようになります(バージョンにより名称が異なる場合がありますが、現在は msh2 が一般的です)。

隣接ノードの一覧表示

現在直接つながっている(1ホップ先の)ノードを確認します。

msh2 neighbors
  • 用途: iw dev wlan0 station dump に近いですが、より整形された形式で表示されます。

メッシュ全体の経路表示

どのノードを経由してパケットが流れているかを確認します。

msh2 paths
  • 用途: メッシュネットワーク内のすべての宛先へのルートと、そのコスト(メトリック)を確認する際に便利です。

統計情報の表示

送受信パケット数やエラー率を確認します。

msh2 stats

3. デーモンとしての動作設定

mesh11sdはバックグラウンドで動作し、メッシュのメトリック(通信経路の品質計算)を最適化する役割も持っています。

  • 設定ファイル: /etc/config/mesh11sd

  • サービスの開始/再起動:

    /etc/init.d/mesh11sd enable
    /etc/init.d/mesh11sd start
    

設定ファイル内では、メッシュを構成するインターフェース(例: wlan0)を指定します。通常、OpenWrtの標準設定と連動しますが、うまく動作しない場合はこのファイルを確認してください。


4. 便利な活用シーン

  • ノード配置の最適化: msh2 neighbors を実行しながらルーターの場所を移動させ、Signal 強度が最適になる場所を探す。
  • マルチホップの確認: 3台以上のルーターがある場合、msh2 paths を使って、想定通り中継が行われているか(直結か、経由か)をチェックする。

💡 注意点

  • ハードウェア依存: mesh11sd は 802.11s の仕様に依存するため、無線ドライバがメッシュモードを完全サポートしていない場合は正しく情報を取得できません。
  • wpadとの整合性: 暗号化メッシュ(SAE)を使っている場合、wpad-mesh-* パッケージが正しく動作していることが大前提となります。

mesh11sdのコマンドはmesh11sd help にて確認すること

mesh11sdを、AIの通り設定して正常動作が確認できた後にmesh11sd autoconfig enableを適用して再起動してしまうと、mesh11sdのデフォルトである設定に上書きされてしまうので、絶対に適用しないこと。

まとめ

wpad-mesh-mesh11sdについては次に投稿すると思います。
結論にある通り、同型機同士のメッシュ接続でなおかつ、AC帯をバックホールに間借りさせて環境構築すると、屋内では最高設定でwifi環境が作れる半面設置間隔が狭まって邪魔になってしまう。
↑↑↑↑↑↑↑ 編集リクエストの内容
もしも接続だけ安定させて通信帯域はそんなになくてもいいなら、n/g帯をバックホールに使用してしまった方が家の四隅の設置で足りる。APは共通にするとIP等変わらずにローミングできるので気持ち良い。
全てのAPが1つのSSIDで使えるので設定してしまえば接続時にシンプルなのがまたいいです。

───────

次回は多分mesh11sdでメッシュ動作を確認します。よろしくお願いします。

追記
初投稿です。よろしくお願いします。
@Bacalhau氏に初期原稿を添削していただき、一旦そのまま採用させていただいてます。そのうち時間を作って修正します。本当にありがとうございます。
openwrtに関しては国内ルーターを対応させていらっしゃる大破氏(musashino_205)に大変感謝しつつ使わせていただきます。
また、Qiita記事にも大変感謝!

参考資料

openwrtについて
https://www.ask-corp.jp/biz/column/openwrt-router.html
https://openwrt.org/ja/start
https://ja.wikipedia.org/wiki/OpenWrt

電波法について
https://www.tele.soumu.go.jp/j/sys/others/exp-sp/
https://techlog.iij.ad.jp/archives/2689
https://www.jenix.co.jp/column/018/
https://www8.cao.go.jp/kisei-kaikaku/kisei/meeting/wg/2501_04startup/260319/startup12_03.pdf

openwrt対応機器一覧
https://openwrt.org/ja/toh/start
https://w.atwiki.jp/ddwrt_openwrt/pages/72.html
https://taiha.hatenablog.jp/entry/openwrt_devinfo

メッシュwifi構築部分
http://blog.livedoor.jp/miscmods/archives/29916712.html
https://qiita.com/kouhei-ioroi/items/1705874a6b7288bbdd5b#
https://openwrt.org/docs/guide-user/network/wifi/mesh/802-11s
https://note.com/pc_article/n/n65b2fb2804f2

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?