在本设定的例子中,使用了路由器的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]中确认。



这是和VRRP功能的切换至备用线路的联动,而且交换机联动功能和DHCP服务器功能也能切换的构成。
在路由器(1)的WAN线路不通的情况下,就会切换到路由器(2)侧的备用线路。使用Lua脚本来监测每个路由器,在WAN线路的切换时,可以关闭路由器(1)的SWX2200的交换机联动功能和DHCP服务器功能,打开路由器(2)的交换机联动功能和DHCP服务器功能。
在本设定例中,路由器(1)和路由器(2)中的SWX2200的设定请分别设定为相同的设置。在本例中,使用了可以指定端口的switch control function set port-use命令。
Lua脚本请在路由器(1)和路由器(2)上分别执行。
为了连接光线路,需要另购一个ONU。
在对应机种中,已有设定例的机型如下
路由器(1)的设定例
LAN 接口的设置 (使用LAN1端口) |
ip lan1 address 192.168.100.252/24 ip lan1 vrrp 1 192.168.100.254 priority=200 ip lan1 vrrp shutdown trigger 1 pp 1 |
---|---|
WAN 接口的设置 (使用LAN2端口) |
pp select 1 pp always-on on pppoe use lan2 pppoe auto disconnect off pp auth accept pap chap pp auth myname (连接ISP1的ID) (连接ISP1的密码) ppp lcp mru on 1454 ppp ipcp ipaddress on ppp ipcp msext on ppp ccp type none ppp ipv6cp use off ip pp mtu 1454 ip pp nat descriptor 1 pp enable 1 ip route default gateway pp 1 |
NAT的设置 | nat descriptor type 1 masquerade |
DHCP的设置 |
dhcp service server dhcp server rfc2131 compliant except remain-silent dhcp scope 1 192.168.100.2-192.168.100.100/24 gateway 192.168.100.254 |
DNS的设置 |
dns server (由ISP指定的DNS服务器的IP地址) dns private address spoof on |
过滤的设置 |
ip filter source-route on ip filter directed-broadcast on ip filter 1010 reject * * udp,tcp 135 * ip filter 1011 reject * * udp,tcp * 135 ip filter 1012 reject * * udp,tcp netbios_ns-netbios_ssn * ip filter 1013 reject * * udp,tcp * netbios_ns-netbios_ssn ip filter 1014 reject * * udp,tcp 445 * ip filter 1015 reject * * udp,tcp * 445 ip filter 1020 reject 192.168.100.0/24 * ip filter 1030 pass * 192.168.100.0/24 icmp ip filter 2000 reject * * ip filter 3000 pass * * ip filter dynamic 100 * * ftp ip filter dynamic 101 * * www ip filter dynamic 102 * * domain ip filter dynamic 103 * * smtp ip filter dynamic 104 * * pop3 ip filter dynamic 105 * * netmeeting ip filter dynamic 106 * * tcp ip filter dynamic 107 * * udp ip pp secure filter in 1020 1030 2000 ip pp secure filter out 1010 1011 1012 1013 1014 1015 3000 dynamic 100 101 102 103 104 105 106 107 |
SWX2200的设置 |
switch select lan1:1 switch control function set port-use 3 on # 注释1 switch control function set port-use 4 on # 注释1 switch control use lan1 on |
Lua脚本的日程设置 | schedule at 1 startup * lua (Lua脚本的文件名) |
路由器(2)的设定例
LAN 接口的设置 (使用LAN1端口) |
ip lan1 address 192.168.100.253/24 ip lan1 vrrp 1 192.168.100.254 ip lan1 vrrp shutdown trigger 1 pp 1 |
---|---|
WAN 接口的设置 (使用LAN2端口) |
pp select 1 pp always-on on pppoe use lan2 pppoe auto disconnect off pp auth accept pap chap pp auth myname (连接ISP2的ID) (连接ISP2的密码) ppp lcp mru on 1438 ppp ipcp ipaddress on ppp ipcp msext on ppp ccp type none ppp ipv6cp use off ip pp mtu 1438 ip pp nat descriptor 1 pp enable 1 ip route default gateway pp 1 |
NAT的设置 | nat descriptor type 1 masquerade |
DHCP的设置 |
dhcp server rfc2131 compliant except remain-silent dhcp scope 1 192.168.100.2-192.168.100.100/24 gateway 192.168.100.254 |
DNS的设置 |
dns server (由ISP指定的DNS服务器的IP地址) dns private address spoof on |
过滤的设置 |
ip filter source-route on ip filter directed-broadcast on ip filter 1010 reject * * udp,tcp 135 * ip filter 1011 reject * * udp,tcp * 135 ip filter 1012 reject * * udp,tcp netbios_ns-netbios_ssn * ip filter 1013 reject * * udp,tcp * netbios_ns-netbios_ssn ip filter 1014 reject * * udp,tcp 445 * ip filter 1015 reject * * udp,tcp * 445 ip filter 1020 reject 192.168.100.0/24 * ip filter 1030 pass * 192.168.100.0/24 icmp ip filter 2000 reject * * ip filter 3000 pass * * ip filter dynamic 100 * * ftp ip filter dynamic 101 * * www ip filter dynamic 102 * * domain ip filter dynamic 103 * * smtp ip filter dynamic 104 * * pop3 ip filter dynamic 105 * * netmeeting ip filter dynamic 106 * * tcp ip filter dynamic 107 * * udp pp select 1 ip pp secure filter in 1020 1030 2000 ip pp secure filter out 1010 1011 1012 1013 1014 1015 3000 dynamic 100 101 102 103 104 105 106 107 pp enable 1 |
SWX2200的设置 |
switch select lan1:1 switch control function set port-use 3 on # 注释1 switch control function set port-use 4 on # 注释1 switch control use lan1 on |
Lua脚本的日程设置 | schedule at 1 startup * lua (Lua脚本的文件名) |
Lua脚本例
设定值 |
-- 输出SYSLOG的级别(info, debug, notice) log_level = "(SYSLOG级别)" |
---|---|
全局变量的设定 |
-- 使用VRRP的LAN接口的编号 lan_num = 1 -- 相关命令行字符串 cmd_swctl = "switch control use lan" cmd_dhcp = "dhcp service server" |
取得VRRP状态的函数 |
function get_vrrp_status(num) local rtn, str local master = false local cmd = "show status vrrp lan" rtn, str = rt.command(cmd .. tostring(num)) if rtn and str then if str:match(": Master") then master = true end end return rtn, master end |
增加or删除Master的角色设置的函数 |
function set_role(num, master) if master then rt.command(cmd_swctl .. tostring(num) .. " on") rt.command(cmd_dhcp) else rt.command("no " .. cmd_swctl .. tostring(num)) rt.command("no " .. cmd_dhcp) end end |
主程序 |
local rtn, str, array, master, state -- 取得当前的状态 while true do rtn, master = get_vrrp_status(lan_num) if rtn then if master then set_role(lan_num, master) end break end end -- 开始监控VRRP状态变化 -- 在Master状态 or 非Master状态时 -- 改变角色设置 while true do rtn, array = rt.syslogwatch("%[VRRP ") if rtn and array then if array[1]:match(" -> ") then rtn, state = get_vrrp_status(lan_num) if rtn then if state ~= master then master = state set_role(lan_num, master) end end end end end |
[注释的说明]
注释1:
关于SWX2200的设置
作为SWX2200的设置的一个示例,可以使用端口3, 4。
【注意】
本设定例只是用来参考,不保证正常运行。
请在使用的时候进行充分的评测和验证。