TrueNAS SCALE上のOpenWrtでPPPoE接続とIPv6プレフィックスの配布を行う設定(eo光)

本ページはアフィリエイトプログラムによる収益を得ています。

eo光ホームゲートウェイの設定項目が限られていたため、TrueNAS SCALE上の仮想マシンにOpenWrtを導入してルーターにしました。TrueNASの10GbEポートをLAN側とWAN側に分け、OpenWrtからPPPoE接続しています。

IPv4のダウンロード測定では約4.87Gbpsを記録。IPv6もPPPoEでプレフィックスを取得し、LANクライアントにグローバルIPv6アドレスが付くところまで確認できました。

構成

  • NAS: TrueNAS SCALE 25.04.2.6
  • ルーターVM: OpenWrt 25.12.6(x86-64、UEFI)
  • TrueNASのNIC: 10GbEを3ポート搭載
  • OpenWrt VM: 1 vCPU、メモリ512MiB
  • VMの仮想NIC: VirtIOを2個
  • LAN: TrueNAS eno1 → OpenWrt eth0、OpenWrtのアドレスは172.18.18.6/21
  • WAN: TrueNAS eno2 → OpenWrt eth1、eo光へ接続
  • LAN側DHCPv4: OpenWrtでは無効。クライアントのIPv4ゲートウェイは172.18.18.6
  • eo光ホームゲートウェイ: 192.168.0.1

TrueNAS SCALEにOpenWrtをインストール

1. OpenWrtのディスクイメージをダウンロード

OpenWrt公式サイトからx86/64用のgeneric-ext4-combined-efi.img.gzをダウンロードし、展開して.imgファイルを用意します。ISOインストーラーではなく、OpenWrtがインストール済みの仮想ディスクイメージです。TrueNASから読み込めるデータセットに置きます。

2. TrueNASで仮想マシンを作成

TrueNASの「Virtual Machines」からVMを追加し、Linux系ゲストを選びます。今回の設定は次のとおりです。

  • CPU: 1 vCPU
  • メモリ: 512MiB
  • 起動方式: UEFI
  • ディスク: 既存イメージを選び、展開したOpenWrtの.imgを指定
  • NIC: VirtIO
  • コンソール: シリアルコンソールを使用

TrueNASの画面やバージョンによって、既存イメージを選択する欄の名称は異なる場合があります。ディスクに新規の空イメージを作るのではなく、ダウンロードしたOpenWrtのイメージをVMの起動ディスクとして指定します。

3. LAN/WAN用のNICを割り当てる

VMにVirtIO NICを2個用意し、TrueNASの物理インターフェイスへ接続します。

用途TrueNASの物理NICOpenWrtの仮想NIC
LANeno1eth0
WANeno2eth1

OpenWrt側のeth0/eth1と物理ポートの対応は、TrueNASのVMデバイス画面で確認します。VMの画面出力は使わず、シリアルコンソールから初期設定しました。

LAN側でIPv6のNDP/RAを通すため、TrueNASのNICデバイス設定にある「Trust Guest Filters」も有効にしました。NICデバイスを追加・変更するときは、VMを停止してから作業します。

4. OpenWrtを起動してLANを設定

VMを起動し、TrueNASのシリアルコンソールからOpenWrtに接続します。初回起動後にrootパスワードを設定

別でDHCPサーバがいるので

LAN側のDHCPv4サーバーは無効にしました。

管理用PCのアドレスや経路を切り替える際は、OpenWrtのLANアドレスへ接続できることを先に確認します。

5. WANでPPPoEを設定

LuCIのネットワーク設定でWAN用インターフェイスを作成し、物理デバイスにeth1、プロトコルにPPPoEを指定します。eo光の接続IDとパスワードを入力し、WANインターフェイスをファイアウォールのwanゾーンに割り当てます。

設定を適用したあと、状態画面でPPPoEが接続され、IPv4アドレスが取得できていることを確認します。LANクライアントのゲートウェイもOpenWrtへ変更し、外部へ通信できるか確認します。

IPv6のプレフィックスを取得してLANへ配布

当初はPPPoEインターフェイスにリンクローカルIPv6しか見えず、IPv6が使えているか判断できませんでした。PPPoEインターフェイスの詳細設定でIPv6アドレス取得を「自動」、Request IPv6-prefixを64に設定し、PPPoEインターフェイスをファイアウォールのwanゾーンに割り当てたところ、IPv6用のppp0_6が現れました。

その後、状態画面でDHCPv6クライアントの委譲プレフィックス(PD)を確認でき、LANクライアントにもグローバルIPv6アドレスが割り当てられました。公開用の記事では、取得した実際のプレフィックスや端末固有のアドレスは伏せています。

つまずいた点

TrueNASの物理NIC名とOpenWrtのNIC名は別

TrueNAS側のNIC名はeno1、eno2でした。一方、OpenWrt VMからは仮想NICとしてeth0、eth1と見えます。配線を入れ替える前に、VMの各NICがどのTrueNAS物理NICへ接続されているかを確認すると切り分けやすくなります。

TrueNAS側のWANポートが一時設定のままだった

WAN用のeno2は、一時的なDHCP設定でアドレスを取得しただけで、TrueNAS側の本設定が済んでいませんでした。そのためリンクが落ち、OpenWrtから上流へ通信できなくなりました。VM内でWANが接続済みに見えても、TrueNASホスト側の物理NICが有効であることを確認する必要があります。

PPPoE再接続後にIPv4経路が復旧

IPv6の設定を調べている途中でIPv4の通信も止まりましたが、PPPoEを再接続すると戻りました。設定変更後は、IPv6だけでなくIPv4のデフォルトルートと疎通も確認します。

速度測定

IPv4を指定した30秒間のダウンロード測定では、約18.28GBを転送し、平均4.874Gbpsでした。eo光ルーター直結で測った約4Gbpsを上回り、当初の目標だった3Gbpsも超えました。アップロードはこの測定では行っていません。

IPv6は以前の測定で約700Mbpsでしたが、今回プレフィックス配布まで確認した後の速度はまだ測り直していません。

まとめ

TrueNAS SCALE 25.04.2.6のVMにOpenWrt 25.12.6をディスクイメージから起動し、eno1をLAN、eno2をWANとして割り当てました。PPPoE接続でIPv4を通し、IPv6はDHCPv6-PDでプレフィックスを取得してLANクライアントへの割り当ても確認できました。IPv4のダウンロード測定は約4.87Gbpsでした。

測定値はこの環境、測定先、測定時点での結果です。アップロード速度や長時間の安定性を示すものではありません。

参考リンク

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。