OpenWrt 単線マルチダイヤル:mwan3 で速度を合算する

OpenWrt 単線マルチダイヤル:mwan3 で速度を合算する

目標:1 本の回線で複数の PPPoE 接続をダイヤルし、速度を合算する
効果:単線の下り速度が理論上の倍数に近づく(実際に合算できるかは事業者のポリシー次第)
前提:ONT はすでにブリッジ化済みで、OpenWrt が正常にダイヤルできること
難易度:中〜高 —— 設定ファイルの編集が必要で、数クリックでは終わりません
所要時間:約 60 分

一、まず理解する:なぜマルチダイヤルで速度が上がるのか

事業者の速度制限の仕組み

回線アカウントの速度制限には通常 2 つの層があります:

層 説明 アカウント単位の制限 1 アカウントの最大速度。例:500Mbps ポート単位の制限 ONT の PON ポートの物理上限。通常はアカウント速度よりはるかに高い

マルチダイヤルの原理:同じアカウントで複数の PPPoE 接続を確立します。
事業者が許可していれば、各接続がそれぞれ帯域を 1 本ずつ得られ、
さらに mwan3 でトラフィックを複数の接続へ振り分ければ、合計速度を合算できます。

ただし鍵となる前提は「事業者が許可していること」

多くの事業者は BRAS 側で「1 アカウントにつき 1 セッションのみ」に制限しています。
その場合、1 本しか接続できず、マルチダイヤルは話になりません。

状況 結果 事業者が複数セッションを許可 ✅ マルチダイヤル可能、合算も可能 事業者が単一セッションに制限 ❌ 1 本しか接続できない 複数セッションを許可するが帯域を共有 ⚠️ 接続はできるが速度は合算されない

したがって最初の一歩は OpenWrt の設定ではなく、自分の回線がマルチダイヤルに対応しているかの確認です。

二、前提条件の確認(10 分)

1. ONT がブリッジ化済みであること

これは絶対条件です。 ONT がまだルーターモードなら、マルチダイヤルは ONT の層で遮られます。

完全な手順は ONT ブリッジ化ガイド をご覧ください。要点:

  • ONT のスーパーパスワードを入手する
  • インターネット用の VLAN をブリッジに変更し、自分のルーターでダイヤルする
  • 元の設定をバックアップする(重要)

2. 事業者がマルチダイヤルを許可しているかテストする

最も簡単なテスト方法:

  1. パソコンを ONT の LAN ポートへ直接接続し、回線アカウントでダイヤルする(Windows のブロードバンド接続)
  2. 同時にルーター側でも同じアカウントでダイヤルする
  3. 両方ともインターネットに接続できれば → 事業者はマルチダイヤルを許可

OpenWrt で手動マルチダイヤルを 1 回試す方法もあります(第四節を参照)。

3. ハードウェアを準備する

方式 説明 物理的な複数 NIC 最も安定するが、同じスイッチへ複数ポートを接続する必要がある macvlan 仮想インターフェース(推奨) NIC 1 つでよく、ソフトウェアで複数の MAC を作る

macvlan 方式の利点:追加のネットワークカードが不要で、WAN ポート 1 つから複数のインターフェースを仮想生成できます。

4. OpenWrt のバージョンを確認する

この手順は重要です —— mwan3 には iptables 版と nftables 版の 2 つがあります:

# ファイアウォールの backend を確認
opkg list-installed | grep -E 'iptables|nftables'
あるもの 入れるべき mwan3 iptables mwan3(iptables 版) nftables mwan3(nftables 版)

間違った版を入れるとルールが有効になりません —— これが最もよくある罠です。

三、mwan3 のインストール

OpenWrt へ SSH でログインして実行:

opkg update
opkg install mwan3
opkg install luci-app-mwan3

macvlan 仮想インターフェースが必要な場合(NIC 1 つでマルチダイヤル):

opkg update
opkg install kmod-macvlan

上記のコマンドは OpenWrt 公式ドキュメントによるものです。

四、方法 1:macvlan による単線マルチダイヤル(推奨)

第 1 步:macvlan 仮想インターフェースを作成する

編集 /etc/config/network を編集し、仮想デバイスを追加します:

config device 'veth5'
    option name 'veth5'
    option type 'macvlan'
    option ifname 'eth1'      # あなたの WAN ポート名に変更

config device 'veth7'
    option name 'veth7'
    option type 'macvlan'
    option ifname 'eth1'

説明(公式ドキュメントの例):

  • veth5 / veth7 は仮想インターフェース名で、自由に決められます
  • type 'macvlan' はこれが macvlan タイプであることを示します
  • ifname 'eth1' は必ず実際に ONT を接続している物理ポートに変更してください

物理ポート名の調べ方:

ip link show
uci show network | grep ifname

第 2 步:仮想インターフェースごとにダイヤルを作成する

続けて /etc/config/network を編集し、追加の WAN インターフェースを加えます:

config interface 'wan1'
    option ifname 'veth5'
    option proto 'pppoe'
    option username 'あなたの回線アカウント'
    option password 'あなたの回線パスワード'
    option ipv6 '1'

config interface 'wan2'
    option ifname 'veth7'
    option proto 'pppoe'
    option username 'あなたの回線アカウント'    # 同じアカウント
    option password 'あなたの回線パスワード'
    option ipv6 '1'

注意:アカウントとパスワードはメイン WAN と同じです(マルチダイヤルは同一アカウントを使います)。

第 3 步:マルチダイヤルが成功したか検証する

# ネットワークを再起動
/etc/init.d/network restart

# 30 秒待ってインターフェースの状態を確認
ifstatus wan1 | grep -E 'up|address'
ifstatus wan2 | grep -E 'up|address'

# あるいは異なる IP を取得できたかを直接確認
ip addr show veth5
ip addr show veth7

成功の目印:

  • 両方のインターフェースが up
  • 異なるグローバル IP を取得している(ここが重要)

2 本目が接続できない場合:

  • 事業者が単一セッションに制限している → この回線ではマルチダイヤル不可
  • またはダイヤルのタイミングをずらす必要がある(一部の BRAS で必要)

五、方法 2:物理的な複数 NIC

ルーターに複数のポートがあれば、各ポートから ONT/スイッチへ 1 本ずつ配線できます:

config interface 'wan1'
    option ifname 'eth1'      # 物理 NIC
    option proto 'pppoe'
    option username 'アカウント'
    option password 'パスワード'

config interface 'wan2'
    option ifname 'eth2'      # もう一方の物理 NIC
    option proto 'pppoe'
    option username 'アカウント'
    option password 'パスワード'

利点:macvlan が不要で、より安定します
欠点:複数のポートが必要で、すべて ONT のあるネットワークへ届く必要があります

六、mwan3 のロードバランシング設定

インターフェースが接続できたら、mwan3 でトラフィックを複数回線へ振り分けます。

第 1 步:mwan3 のインターフェースを確認する

編集 /etc/config/mwan3 を編集します:

config interface 'wan1'
    option enabled '1'
    list track_ip '1.0.0.1'
    list track_ip '1.1.1.1'
    list track_ip '208.67.222.222'
    list track_ip '208.67.220.220'
    option family 'ipv4'

config interface 'wan2'
    option enabled '1'
    list track_ip '1.0.0.1'
    list track_ip '1.1.1.1'
    list track_ip '208.67.222.222'
    list track_ip '208.67.220.220'
    option family 'ipv4'

track_ip とは:mwan3 はこれらの IP を使って疎通確認を行います。
いずれかの WAN で確認が失敗すると、mwan3 は自動的にトラフィックを他の回線へ切り替えます。

(これらの IP は公式ドキュメントの例です:Cloudflare の 1.1.1.1、OpenDNS の 208.67.x.x など)

第 2 步:メンバーと重みを設定する

config member 'wan1_m1_w3'
    option interface 'wan1'
    option metric '1'
    option weight '3'        # 重み:3 割

config member 'wan2_m1_w3'
    option interface 'wan2'
    option metric '1'
    option weight '3'        # 重み:3 割

weight がトラフィックの配分比率を決めます:

設定 効果 両方とも weight '3' それぞれ 50% wan1 が 3、wan2 が 1 wan1 が 75%、wan2 が 25%

2 本の回線速度が異なる場合(例:500M と 300M)、
速度比に応じて重みを設定すると効果的です。

第 3 步:ポリシーを設定する

config policy 'balanced'
    list use_member 'wan1_m1_w3'
    list use_member 'wan2_m1_w3'
    option last_resort 'unreachable'

第 4 步:ルールを設定する

config rule 'default_rule_v4'
    option dest_ip '0.0.0.0/0'
    option family 'ipv4'
    option use_policy 'balanced'

このルールの意味:すべての IPv4 送信トラフィックが balanced ポリシー(ロードバランシング)を通ります。

第 5 步:グローバル設定

config globals 'globals'
    option local_source 'lan'
    option mmx_mask '0x3F00'

mmx_mask は mwan3 がトラフィックにマークを付けるためのビットマスクで、公式の既定値は 0x3F00 です。
ファイアウォールマークを使う他のプラグインと競合しない限り、変更しないでください。

第 6 步:再起動して検証する

/etc/init.d/mwan3 restart
mwan3 status

mwan3 status は次のように表示されるはずです:

  • 両方のインターフェースが online
  • トラフィック統計がある

注意:offline と表示される場合、通常は track_ip の疎通確認が失敗しています。
国内の安定した IP に変更してください(例:223.5.5.5 Alibaba DNS)。

七、速度向上の効果を検証する

速度測定ツールを使う

# LAN 内の機器で測定する(ルーター上で測らないこと。CPU がボトルネックになる)
# または iperf3 でマルチスレッド測定
iperf3 -c 測定サーバー -P 8

マルチスレッドでの測定を推奨します(シングルスレッドでは 1 本の回線しか使えず、合算効果が分かりません)。

重要:シングルスレッドとマルチスレッドの違い

測定方法 結果 シングルスレッドのダウンロード 1 本の回線しか使い切れない マルチスレッドのダウンロード 合算後の総速度が出る

これはよくある疑問を説明します:
「マルチダイヤルは成功したのに、なぜダウンロードは 500M のままなのか?」
—— シングルスレッドのダウンロードを使っているため、1 本の回線しか通らないのです。

mwan3 は接続単位でロードバランシングを行います:
同じ TCP 接続は 1 本の回線だけを通り、異なる接続だけが分散されます。

NAT タイプが変化していないか確認する

マルチダイヤル後は NAT タイプが変わる可能性があります。NAT タイプ判定ツール で確認してください。

元が NAT1 だった場合、マルチダイヤル後に NAT3 になることがあります —— 複数回線の出口によりアドレスが不一致になるためです。

八、マルチダイヤルの副作用とリスク

この節は他の解説ではほとんど触れられませんが、非常に重要です。

1. 事業者による停止リスク

一部の事業者は利用規約でマルチダイヤルを禁止しています。

リスクレベル 状況 低 事業者が黙認(多くの地域が該当) 中 マルチダイヤルを検知して速度制限 高 異常利用と判定され、停止や是正要求

推奨:

  • 接続数を増やしすぎない(2〜3 本は通常安全、10 本以上は検知されやすい)
  • 長時間帯域を使い切らない
  • 速度制限や停止を受けたら、まずマルチダイヤルを止めてからサポートへ連絡する

2. IPTV への影響

マルチダイヤルはネットワーク構成を変えるため、次の問題が起こりえます:

  • IPTV の VLAN がマルチダイヤルのトラフィックに干渉される
  • セットトップボックスが IGMP マルチキャストに参加できない

IPTV を併用している場合は次を推奨します:

3. IPv6 への影響

マルチダイヤルは IPv6 に比較的大きな影響を与えます:

  • PPPoE 接続ごとに異なる IPv6 プレフィックス(PD)を取得する
  • 機器が複数の IPv6 アドレスを持つ
  • IPv6 ルーティングが混乱する可能性がある

推奨:

  • IPv6 をあまり使わないなら、mwan3 では IPv4 のみロードバランシングする
  • IPv6 判定ツール でマルチダイヤル後の疎通を検証する

4. NAS のリモートアクセスへの影響

これが最も見落とされやすい罠です:

マルチダイヤル後はグローバル IP が複数ありますが、DDNS は 1 つしか解決できません。
DDNS が解決する IP と実際の出口が一致しないと、リモートアクセスは失敗します。

解決策:

  • mwan3 でポート転送ポリシーを設定し、特定のトラフィックを必ず 1 本の回線に固定する
  • または 1 本の回線だけに DDNS を設定し、他はダウンロード加速専用にする

九、よくある質問

Q1:マルチダイヤル後も速度が変わらない?

順番に切り分けます:

  1. 本当に複数接続できたか確認する —— mwan3 status ですべて online か確認
  2. 異なるグローバル IP を取得したか確認する —— 同じ IP なら実際にはマルチダイヤルできていない
  3. マルチスレッドで速度を測る —— シングルスレッドは 1 本しか通らない
  4. 事業者がアカウント単位の制限をしていないか確認する

Q2:なぜ 1〜2 本しか接続できないのか?

最もよくある原因:事業者が BRAS 側で同時セッション数を制限しています。

その他の可能性:

  • macvlan の MAC アドレス衝突(仮想ポートごとに独立した MAC が必要)
  • ダイヤルしすぎて一時的にブロックされた
  • ONT 自体のセッション数制限

Q3:マルチダイヤルで事業者にアカウント停止されますか?

事業者のポリシー次第で可能性はあります。

リスク警告:一部の事業者は利用規約でマルチダイヤルを明確に禁止しています。
2〜3 接続に抑え、長時間使い切らないようにしてください。
事業者から連絡があった場合は、ただちにマルチダイヤルを停止してください。

Q4:マルチダイヤル後に IPTV が見られなくなったら?

原因:マルチダイヤルのトラフィックが IPTV の VLAN に干渉しています。

解決:

  1. mwan3 で IPTV インターフェースを除外する
  2. または NAS のマルチキャスト→ユニキャスト変換

Q5:IPv6 は影響を受けますか?

受けます。 マルチダイヤルは複数の IPv6 プレフィックスを生み、ルーティングが混乱する可能性があります。

推奨:mwan3 では IPv4 のみロードバランシングしてください。
検証ツール:IPv6 接続テスト

Q6:ソフトルーターにはどの程度の性能が必要ですか?

マルチダイヤルは CPU への要求は高くありません(主にネットワーク転送で消費します)。

シナリオ 推奨 ギガビット未満 N100 クラスのソフトルーターで十分 マルチダイヤル + ギガビット以上 J4125 以上を推奨。2.5G ポートも必要 他のサービスも同時に動かす CPU の余裕を確保する

具体的な型番のスコアは NAS CPU 性能ランキング

Q7:マルチダイヤル後もポート転送はできますか?

できますが、出口 IP の問題に注意が必要です。

グローバル IP が複数あるため、外部からのアクセスはそのうち 1 つにしか届かないことがあります。

推奨:mwan3 のルールで特定のサービスを 1 本の回線に固定してください。

Q8:mwan3 が offline と表示されたら?

通常は track_ip の疎通確認が失敗しています。

公式の例は国外 IP(1.1.1.1、208.67.x.x)で、国内では通らないことがあります。

国内の安定した IP に変更する:

list track_ip '223.5.5.5'      # Alibaba DNS
list track_ip '119.29.29.29'   # Tencent DNS

十、まとめ

マルチダイヤルの 3 つの前提

# 前提 1 ONT がブリッジ化済み 2 事業者がマルチダイヤルを許可(これが最も重要。確認できなければ諦める) 3 mwan3 の版がファイアウォール backend と一致(iptables / nftables)

最もつまずきやすい 3 つの罠

  1. シングルスレッド測定では合算が見えない —— mwan3 は接続単位でロードバランシングする
  2. mwan3 の版を間違える —— iptables 版を nftables 環境に入れても効かない
  3. DDNS が 1 つの IP しか指していない —— マルチダイヤル後にリモートアクセスが失敗することがある

ひとつの正直な話

マルチダイヤルは万能ではありません。 その効果は完全に事業者のポリシー次第です:

  • 事業者が許可 → 倍になる可能性がある
  • 事業者が制限 → 1 本も接続できない
  • 黙認だが帯域共有 → 接続はできるが速度は上がらない

時間をかけて設定する前に、第二節の方法でマルチダイヤルが可能かテストしてください。
それで数時間を節約できます。