冗長構成

管理番号:YMHSW-4164

本設定例では、ルーターのL2MSマスター機能・Luaスクリプト機能と、L2スイッチのL2MSスレーブ機能を使用しています。L2MSを使って、ルーターから、スイッチが持つ機能の設定を行います。

ルーターの対応機種は、RTX1220RTX1210RTX1200(Rev.10.01.16以降)、RTX830RTX810NVR700WNVR510NVR500FWX120です。

L2スイッチの対応機種は、SWX2322PシリーズSWX2320シリーズSWX2310PシリーズSWX2310シリーズSWX2300シリーズSWX2210PシリーズSWX2210シリーズSWX2200シリーズSWX2110PシリーズSWX2110シリーズSWX2100シリーズです。

L2MSマスター(ルーター)とL2MSスレーブ(L2スイッチ)の対応リビジョンは、技術資料「L2MS」でご確認ください。

図 スイッチ3台冗長構成1 図 スイッチ3台冗長構成2

SWX2200を3台利用した基本的な冗長構成です。SWX2200-24GのポートをLuaスクリプトを使用して監視し、断線を検知した際に別のポートを開放し経路を確保します。
本設定例では、SWX2200-24Gのポート2からSWX2200-8G(1)をメイン経路、SWX2200-24Gのポート24からSWX2200-8G(2)をバックアップ経路として使用します。

本設定例は、Luaスクリプトとモジュールファイルを使用します。モジュールファイルでは、指定したポートでパケットの送受信を許可するか否かを設定します。モジュールファイルもLuaスクリプトと同様に、ルーターにコピーしてください。

設定手順

本設定例は、以下の流れで設定します。

  1. ルーターにConfigを設定
  2. 構成を構築
  3. ルーターにモジュールファイルをコピー
  4. Luaスクリプトを実行

対応機種のうち、設定例を掲載している機種は、以下のとおりです。

機種 掲載内容 備考
ルーター RTX1220 RTX1210 RTX1200 RTX830 RTX810 NVR700W NVR510 NVR500 FWX120 コマンド設定例
Luaスクリプト例
モジュールファイル
L2MSマスター機能、
Luaスクリプト機能
L2スイッチ SWX2200-8G SWX2200-24G SWX2200-8PoE L2MSスレーブ機能

モジュールファイルを利用した設定の導入手順

ルーターに本設定例のConfigを設定する

  1. 設定例のリンクから設定ファイルをダウンロードし、ルーターに設定を追加してください。
ルーターにはTFTPを使用してPCからルーターに設定ファイルをコピーすることができます。
この方法については取扱説明書をご参照ください。

構成を構築する

  1. 本設定例ページのトップにある正常時の構成図と同様の構成を構築します。

モジュールファイルをルーターにコピーする

  1. モジュールファイルをPCにダウンロードします。
    [解説]
    モジュールファイル名はLuaスクリプトの動作にも関係がありますので、本設定例では変更せずそのままご使用ください。
  2. PCにUSBメモリを接続して、ダウンロードしたモジュールファイルをUSBメモリにコピーします。
  3. USBメモリをPCから取り外し、ルーターに接続します。ルーターのUSBランプが点灯します。
  4. ルーターコンソールを開きます。
    [解説]
    ルーターコンソールはシリアルケーブルやtelnetで接続して使用します。
    使用方法については取扱説明書をご参照ください。
  5. 管理者権限でログインし、コマンドでルーターにモジュールファイルをコピーします。
    copyコマンドを使用します。
    USBメモリのルートディレクトリーからルーターのルートディレクトリーにモジュールファイルをコピーする場合:

    [ルーターコンソール]
    # copy usb1:/lua_rtx1200_port_txrx.lib /lua_rtx1200_port_txrx.lib
    #
    [解説]
    copyコマンドの詳細は こちらをご参照ください。
    ファイルをルーターのルートディレクトリー以外にも格納することができます。
    その場合は、ディレクトリーを作成してから、そのディレクトリーにコピーします。
    そちらの方法については 参考資料をご参照ください。
    技術資料 「RTFS」-「コマンド一覧」-「ディレクトリの作成」
    モジュールファイルをディレクトリーにコピーした場合、環境変数LUA_PATHでそのディレクトリーを指定する必要があります。そちらの方法は 参考資料をご参照ください。
    技術資料 「Lua スクリプト機能」 - 「詳細」にある「5.ルーターの環境変数 」をご参照ください。
    モジュールファイルの名前を変更した場合、Luaスクリプト内「require関数」の引数の名前も変更する必要があります。
    [補足]
    本設定例のモジュールファイルを、copyコマンドではなくTFTPを使用してRTFSへコピーする場合は、バイナリモードでコピーしてください。

Luaスクリプトの導入手順

[解説]
Luaスクリプトのダウンロードから実行までの手順はLuaスクリプト導入手順マニュアルをご覧ください。

ルーターの設定例

環境変数の設定 set LUA_PATH="./\?.lib;" #注釈1
LANインターフェースの設定
(LAN1ポートを使用)
ip lan1 address 192.168.100.1/24
DHCPの設定 dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.100.2-192.168.100.191/24
L2MSの設定 switch control use lan1 on
switch select lan1:1
switch control function set port-use 24 off
switch control function set loopdetect-linkdown linkdown
Luaスクリプトのスケジュール設定 schedule at 1 startup * lua /swx2200_lua_redundancy_rtx1200.lua

[注釈の説明]

注釈1:
モジュールファイルをロードするために使用するパスを設定します。
Lua ではモジュール名の置換記号として "?" を使いますが、ルーターコンソールで '?' を入力するとヘルプが表示されてしまうため、'?' を入力する前にエスケープシーケンスの '\' を入力しています。

require関数の引数と環境変数LUA PATHの設定値についての詳細は こちら

Luaスクリプト例

設定値 -- 出力する SYSLOG のレベル (info, debug, notice)
log_level = "info"
ロードするモジュールの指定 require("lua_rtx1200_port_txrx")
メインルーチン

rt.command("switch select lan1:1")
rt.command("switch control function set loopdetect-linkdown linkdown")
rt.command("switch control function set port-use 24 off")

while true do
  -- SWX2200-24G port2 のdown監視
  rt.syslogwatch("lan1:1%b(): PORT2 link down",1)
  rt.command("switch select lan1:1")
  rt.command("switch control function set port-use 24 on")
  swx2200.set_port_txrx("lan1:1", 2, "off")
  rt.syslog(log_level,"メイン経路ダウン! バックアップ経路に切り替えました。")

  -- SWX2200-24G port2 のup監視
  rt.syslogwatch("lan1:1%b(): PORT2 link up",1)
  rt.command("switch select lan1:1")
  rt.command("switch control function set port-use 24 off")
  swx2200.set_port_txrx("lan1:1", 2, "on")
  rt.syslog(log_level,"メイン経路復旧! バックアップ経路から切り戻しました。")
end

【ご注意】
本設定例は、設定の参考例を示したもので、動作を保証するものではございません。
ご利用いただく際には、十分に評価・検証を実施してください。

メール

ご相談・お問い合わせ