• Skip to content
  • Skip to primary sidebar

なしっぺのITブログ

主にネットワーク機器に関する雑記帳

Header Right

dTop / ネットワーク / OpenWrt

OpenWrt/LEDEでリンクアグリゲーション/チーミング設定

f i tA: 2018-03-31 C: 0 件のコメント

前回に引き続き、OpenWrtをインストールしたLinksys製ルーター、WRT3200ACMにLACP(802.3ad)を利用したリンクアグリゲーションをセットアップしました。OpenWrtではifenslaveが提供されないためsysfsを経由して設定を行います。

前提条件

目次

  • 1 前提条件
    • 1.1 ルーター側
    • 1.2 インフラ(スイッチ)側
  • 2 設定手順
    • 2.1 事前準備
    • 2.2 bond0の作成
    • 2.3 自動起動スクリプト
  • 3 参考URL

ルーター側

OpenWrt導入済みで、CPUポートを2つ以上搭載したルーターが対象です。ルーターに物理ポートが複数あっても、それぞれのポートが異なるVLANに割り振られているだけで、CPUポートは一つの場合があります。初期状態の実機でifconfigコマンドをした際に、eth0.1やeth0.2と表示される場合はそのパターンが多いです。

インフラ(スイッチ)側

LACPを利用するには接続するスイッチがLACPに対応していて、かつスイッチ上でポートがLACPに割り当てられてる必要があります。個人(ホームラボ)向けスイッチとにしてはNetGearのスマートスイッチシリーズが比較的安価でおすすめです。

型番ポート数POE価格
GS108T8ポート非対応10,324円 @ Amazon仕様表
GS110TP8ポートPOE + 2ポートSFP合計15.4W18,500円 @ Amazon仕様表

対応スイッチがない場合は、XOR方式でチーミングが可能です。その場合は送信のみ負荷分散となります。

設定手順

事前準備

  1. コンソールケーブルもしくは無線LAN経由でルーターにアクセスできるようにしておく。

  2. チーミングのメンバーに参加するCPUポート(NIC)を使用しているインターフェースを削除。

bond0の作成

  1. bondingモジュールのインストール

    opkg install kmod-bonding

  2. bondingモジュールをカーネル空間にロードし、無事読み込まれているか確認する。

    modprobe bonding
    lsmod | grep bonding
    

  3. ボンディングデバイス、bond0を作成。

    echo '+bond0' > /sys/class/net/bonding_masters
    ifconfig bond0 down
    

  4. sysfs経由でチーミングモードを設定し、送信ハッシュポリシーを”Layer3+4モード”に指定。XOR方式を利用する場合はモード番号に”2″を指定する。

    echo 4 > /sys/class/net/bond0/bonding/mode
    echo 'layer3+4' > /sys/class/net/bond0/bonding/xmit_hash_policy
    

  5. 物理NICをbond0に追加

    echo '+eth0' > /sys/class/net/bond0/bonding/slaves
    echo '+eth1' > /sys/class/net/bond0/bonding/slaves
    

  6. 作成したボンディングデバイスを有効化。

    ifconfig bond0 up

  7. 必要に応じてLEDEからインターフェースを作成する。

  8. LACPを利用している場合は、スイッチ上でリンクが作動しているか確認する。

自動起動スクリプト

上記の設定内容は再起動するたびに消えてしまうので、自動起動スクリプトを作成する。

  1. 以下のスクリプトを/etc/init.d/に作成。
    start() {
            echo '+bond0' > /sys/class/net/bonding_masters
            ifconfig bond0 down
            echo 4 > /sys/class/net/bond0/bonding/mode 
            echo 'layer3+4' > /sys/class/net/bond0/bonding/xmit_hash_policy
            echo '+eth0' > /sys/class/net/bond0/bonding/slaves
            echo '+eth1' > /sys/class/net/bond0/bonding/slaves
            ifconfig bond0 up
    }
    
    stop() {
            ifconfig bond0 down
            echo '-bond0' > /sys/class/net/bonding_masters
    }
    

  2. 起動時にスクリプトが自動起動するようにする。

    /etc/init.d/bonding enable
    

再起動後にbond0が自動で作成され有効化されれば、設定は正しく行われています。

このエントリーをはてなブックマークに追加  

参考URL

https://www.kernel.org/doc/Documentation/networking/bonding.txt
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/deployment_guide/sec-using_channel_bonding

オススメの記事

  • OpenWrt/LEDEでタグVLANを使う
  • ひかり電話(SIPサーバー機能)をRTX1200と併用する
  • RTX1200でSoftbank光のIPv6高速ハイブリッドを利用
  • RTX1200でv6オプション向けIPv4/v6デュアルスタック設定
  • > OpenWrt/LEDEでタグVLANを使う
    < 日本国内におけるテレビ放送のチャンネル周波数/放送方式一覧 (地デ...
    ↑

    DOpenWrt THowTo, L2, リンクアグリゲーション, WRTシリーズ, Linksys, ルーター

    Reader Interactions

    cコメントを残す コメントをキャンセル

    メールアドレスが公開されることはありません。

    Primary Sidebar

    目次

    • 1 前提条件
      • 1.1 ルーター側
      • 1.2 インフラ(スイッチ)側
    • 2 設定手順
      • 2.1 事前準備
      • 2.2 bond0の作成
      • 2.3 自動起動スクリプト
    • 3 参考URL

    カテゴリー

    • *nix共通 (1)
    • Android (3)
    • Hyper-V (2)
    • Linux (3)
    • Windows (3)
    • ネットワーク (5)
      • OpenWrt (2)
      • RTXシリーズ (3)
    • ホスティング (1)
    • 無線技術関係 (1)

    スポンサーリンク

    アーカイブ

    • 2020年6月 (1)
    • 2019年7月 (1)
    • 2019年1月 (1)
    • 2018年6月 (1)
    • 2018年5月 (1)
    • 2018年4月 (3)
    • 2018年3月 (10)

    © 2021 なしっぺ (nashippe)

    m連絡フォーム Pプライバシーポリシー rFeed

    当ブログの内容、文章、画像等の無断転載・使用を固く禁じます。
    また、許可なく各種まとめサイト(NEVERまとめ、Qiitaなど)への転載はご遠慮ください。