防止雅马哈交换机以外的设备连接上路由器的LAN1接口

在本设定的例子中,使用了路由器的L2MS控制器功能・Lua脚本功能和L2交换机的L2MS从属功能。使用L2MS、在路由器上进行交换机功能的设定。

对应的路由器机型为:RTX1200 (Rev.10.01.66以后)、RTX820 (Rev.11.03.23以后)。

对应的L2交换机机型为:SWX2200-8G (Rev.1.00.07以后)、SWX2200-24G (Rev.1.00.07以后)。

L2MS控制器(路由器)和L2MS从属设备(L2交换机)的对应版本,请在技术资料[L2MS]中确认。

通过Lua脚本防止雅马哈交换机以外的设备连接上路由器的LAN1接口。
雅马哈路由器下仅能直接连接雅马哈制交换机的运用策略,可以防止因为连接其他的设备所产生的的网络故障(网络环路等)。

执行Lua脚本时,请使用lua命令指定需要运行的Lua脚本。
并且,需要停止脚本时,请执行terminate lua命令。

执行例:lua /swx_only.lua

在对应机种中,已刊登设定例的机型如下。

机型 刊登内容 备注
路由器 RTX1200 RTX820 命令行设置例
Lua脚本例
L2MS控制器功能、
Lua脚本功能
L2交换机 SWX2200-8G SWX2200-24G SWX2100-24G 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
交换机的设置 switch control use lan1 on
设定值 -- Log显示
log_level = "info"
log_pfx = "[LUA_SWX_ONLY] "

-- 相关Log/命令行字符串
ptn1 = "LAN%d: PORT%d link up"
ptn2 = "%[SWCTL%] lan1:"
ptn3 = "%(00:a0:de:.+%): find switch"
port_ptn = "PORT(%d)"
cmd1 = "switch control use lan1 on"
cmd2 = "lan shutdown lan1"

-- 从linkUP到识别出交换机为止的最大等待时间
wait1 = 10
-- 命令执行后的等待linkup的时间
wait2 = 10
主程序 local rtn, str
local port, sw_ptn
local dpt = {}
local cmd_port

rt.command(cmd1)

while true do

  -- 等待link up
  rtn, str = rt.syslogwatch(ptn1, 1)
  port = string.match(str[1], port_ptn)

  -- 等待识别交换机
  sw_ptn = ptn2 .. port .. ptn3
  rtn, str = rt.syslogwatch(sw_ptn, 1, wait1)

  if not str then
    table.insert(dpt, port)
    cmd_port = " "
    for i = 1, #dpt do
      cmd_port = cmd_port .. dpt[i] .. " "
    end
    rt.command(cmd2 .. cmd_port)
    rt.syslog(log_level, log_pfx .. "PORT" .. cmd_port .."SHUTDOWN!")
    rt.sleep(wait2)
  else
    rt.syslog(log_level, log_pfx .. "switch found.")
  end

end

【注意】

本设定例只是用来参考,不保证正常运行。
请在使用的时候进行充分的评测和验证。

返回顶部Return to Top

网络相关产品

服务支持

事业绍介