SWX2200のMODEランプを強弱させて位置を知る

本設定例では、ルーターのL2MSコントローラー機能・Luaスクリプト機能と、L2スイッチのL2MSスレーブ機能を使用しています。

ルーターの対応機種は、RTX1210RTX1200(Open in new windowRev.10.01.16以降)、RTX810NVR700WNVR510NVR500
FWX120です。

L2スイッチの対応機種は、SWX2300-8GSWX2300-16GSWX2300-24GSWX2200-8GSWX2200-24G
SWX2200-8PoESWX2100-8GSWX2100-16Gです。

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

図 SWX2200のMODEランプを強弱させて位置を知る (1)

図 矢印

図 SWX2200のMODEランプを強弱させて位置を知る (2)

LANポートに接続されたSWX2200の位置を知るためのLuaスクリプトです。
LANポートを指定して実行すると、そのポートに接続しているSWX2200のMODEランプの明るさが一定時間明滅します。複数のSWX2200を管理している場合に、管理対象のSWX2200が物理的にどれなのかを一致させる時に便利です。

Luaスクリプトを実行する際は、luaコマンドを使用しLuaスクリプトファイル名に続けて、SWX2200を接続しているルーターのLANポートを指定してください。

実行例:lua /swx2200_locator.lua lan1:2

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

機種 掲載内容 備考
ルーター

RTX1210 RTX1200 RTX810 NVR700W NVR510 NVR500 FWX120

コマンド設定例
Luaスクリプト例

L2MSコントローラー機能、
Luaスクリプト機能

L2スイッチ

SWX2200-8G SWX2200-24G SWX2200-8PoE

L2MSスレーブ機能

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

SWX2200の設定

switch control use lan1 on

設定値

-- LED明滅回数と間隔
cnt = 5
intvl = 1

-- 表示
log_pfx = "[LUA_SWX_LOCATOR] SWX "

-- 関連コマンド
cmd1 = "console character ascii"
cmd2 = "show status switch control"
cmd3 = "switch select "
cmd4 = "switch control function set led-brightness "

メインルーチン

local rtn, str
local swx, swx_cmd

swx = arg[1]
assert(arg[1], log_pfx .. "Must specify the SWX.")

-- 状態を確認 --
rt.command(cmd1)
rtn, str = rt.command(cmd2)
if rtn and str then
  swx_cmd = string.gsub(swx, "-", "%%p")
  rtn = string.match(str, swx_cmd)
  if rtn then
    rtn, str = rt.command(cmd3 .. swx)
    if not rtn then
      print(log_pfx .. str)
    else
      print(log_pfx .. "MODE Blink starts... (" .. swx .. ")")
      for i = 1, cnt do
        rt.command(cmd4 .. "economy")
        rt.sleep(intvl)
        rt.command("no " .. cmd4)
        rt.sleep(intvl)
      end
      print(log_pfx .. "MODE Blink finished. (" .. swx .. ")")
      rt.command(cmd3 .. "none")
    end
  else
    print(log_pfx .. "Not under the control: (" .. swx .. ")")
  end
end

【ご注意】

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

ページトップへ戻るReturn to Top