冗長構成

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

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

L2スイッチの対応機種は、SWX2200-8GSWX2200-24GSWX2200-8PoEです。

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スクリプト例と指定したポートでパケットの送受信を行わせるか否かを設定するためのモジュールファイルを使用します。このモジュールファイルはルーターにコピーする必要があります。

設定手順

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

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

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

機種 掲載内容 備考
ルーター RTX1210 RTX1200 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

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

[注釈の説明]

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

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

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