RouterOSv7.1 beta6 L3 HW三层路由转发配置(仅限CRS3xx)
针对v7.1beta6更新后的L3-HW的配置变动,更新如下(仅限CRS3xx系列产品):
L3 HW-offloading是将三层VLAN路由下发到交换机芯片,由交换机芯片处理路由转发。在RouterOS必须是将同一个交换芯片的端口加入到一个bridge,在同一Bridge的交换分组下。IP配置在VLAN接口,不能直接把IP配置到接口,相当于华为交换机的interface vlan下配置IP地址,实例使用CRS326-24S+2Q+RM,网络拓扑如下:
三层路由不涉及nat转换,因此这个网络拓扑中,路由器192.168.88.1通过静态路由将192.168.50.0/24指向192.168.88.3的CRS326-24S+2Q+RM,与路由器互联是VLAN10,而192.168.50.0/24使用VLAN50.
配置时,首先确保接入端口都加入到bridge,并设置vlan-filter=yes,关闭stp协议
/interface bridge add frame-types=admit-only-vlan-tagged name=bridge1 protocol-mode=none \ vlan-filtering=yes
进入bridge port菜单,将sfp-sfpplus2和sfp-sfpplus24加入bridge,并分别配置接口的pvid为10和50
/interface bridge port add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged \ ingress-filtering=yes interface=sfp-sfpplus2 pvid=10 add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged \ ingress-filtering=yes interface=sfp-sfpplus24 pvid=50
警告:CRS3系列部分交换机,可能存在两个交换芯片的情况,在添加bridge port端口时,不同交换芯片的端口,不能加入到同一个bridge中,CRS326-24S+2Q+RM有两个芯片分别是 Marvell-98DX8332和Atheros-8227,如ether1是属于Atheros-8227芯片,而非是Marvell-98DX8332下。
在bridge vlan菜单下,将vlan10和vlan50,tagged给bridge,建立interface vlan的三层接口
/interface bridge vlan add bridge=bridge1 tagged=bridge1 vlan-ids=10 add bridge=bridge1 tagged=bridge1 vlan-ids=50
在interface vlan下,创建vlan10和vlan50的三层VLAN接口
/interface vlan add interface=bridge1 name=vlan10 vlan-id=10 add interface=bridge1 name=vlan50 vlan-id=50
在ip address菜单下,添加VLAN10和VLAN50的IP地址
/ip address add address=192.168.50.1/24 interface=vlan50 network=192.168.50.0 add address=192.168.88.3/24 interface=vlan10 network=192.168.88.0
为VLAN50创建DHCP服务
/ip pool add name=pool1 ranges=192.168.50.10-192.168.50.200 /ip dhcp-server add address-pool=pool1 disabled=no interface=vlan50 name=server1
启用L3HW功能前,需要确认CRS交换机的交换芯片,CRS317-1G-16S+RM是CPU集成了交换芯片Marvell-98DX8216,而CRS326-24S+2Q+RM的CPU与交换芯片是独立的两种型号,需确认在switch菜单下Marvell的交换芯片,CRS326-24S+2Q+RM是Marvell-98DX8332:
[admin@MikroTik] > interface/ethernet/switch/print Columns: NAME, TYPE, L3-HW-OFFLOADING # NAME TYPE L3- 0 switch1 Marvell-98DX8332 no 1 switch2 Atheros-8227 no
除了ether1端口,其他端口都归属Marvell-98DX8332,在配置中显示id为0,并设置L3-hw-offloadming为yes,
/interface ethernet switch set 0 l3-hw-offloading=yes
确认Marvell-98DX8332的交换芯片,启用L3-HW
[admin@MikroTik] /interface/ethernet/switch> print Columns: NAME, TYPE, L3-HW-OFFLOADING # NAME TYPE L3- 0 switch1 Marvell-98DX8332 yes 1 switch2 Atheros-8227 no
交换芯片的L3-HW启用后,确认各个端口的L3-HW功能已经打开,进入switch port下查看
[admin@MikroTik] /interface/ethernet/switch/port> print Columns: NAME, SWITCH, L3-HW-OFFLOADING, STORM-RATE # NAME SWITCH L3- STO 0 sfp-sfpplus1 switch1 yes 100 1 sfp-sfpplus2 switch1 yes 100 2 sfp-sfpplus3 switch1 yes 100 3 sfp-sfpplus4 switch1 yes 100 4 sfp-sfpplus5 switch1 yes 100 5 sfp-sfpplus6 switch1 yes 100 6 sfp-sfpplus7 switch1 yes 100 7 sfp-sfpplus8 switch1 yes 100 8 sfp-sfpplus9 switch1 yes 100 9 sfp-sfpplus10 switch1 yes 100 10 sfp-sfpplus11 switch1 yes 100 11 sfp-sfpplus12 switch1 yes 100 12 sfp-sfpplus13 switch1 yes 100 13 sfp-sfpplus14 switch1 yes 100 14 sfp-sfpplus15 switch1 yes 100 15 sfp-sfpplus16 switch1 yes 100 16 sfp-sfpplus17 switch1 yes 100 17 sfp-sfpplus18 switch1 yes 100 18 sfp-sfpplus19 switch1 yes 100 19 sfp-sfpplus20 switch1 yes 100 20 sfp-sfpplus21 switch1 yes 100 21 sfp-sfpplus22 switch1 yes 100 22 sfp-sfpplus23 switch1 yes 100 23 sfp-sfpplus24 switch1 yes 100 24 qsfpplus1-1 switch1 yes 100 25 qsfpplus1-2 switch1 yes 100 26 qsfpplus1-3 switch1 yes 100 27 qsfpplus1-4 switch1 yes 100 28 qsfpplus2-1 switch1 yes 100 29 qsfpplus2-2 switch1 yes 100 30 qsfpplus2-3 switch1 yes 100 31 qsfpplus2-4 switch1 yes 100 32 ether1 switch2 33 switch1-cpu switch1 100 34 switch2-cpu switch2
在winox中查看如下,注意每个端口的的L3-HW功能是可以单独开启的,在此案例中,至少要保证sfp-sfpplus2和sfp-sfpplus24的L3-HW功能开启。
在ip route下创建默认路由
/ip route add dst-address=0.0.0.0/0 gateway=192.168.88.1
查看路由表,确认默认路由,前缀标识带有H
[admin@MikroTik] > /ip route/print Flags: D - DYNAMIC; A - ACTIVE; c - CONNECT, s - STATIC, y - COPY; H - HW-OFFLOADED Columns: DST-ADDRESS, GATEWAY, DISTANCE # DST-ADDRESS GATEWAY D 0 AsH 0.0.0.0/0 192.168.88.1 1 DAcH 192.168.50.0/24 vlan50 0 DAcH 192.168.88.0/24 vlan10 0
注意:创建路由表的时候,需要确保L3-HW功能已经开启,如果是先添加了路由,在启用L3-HW功能,那需删除原有规则,重新配置一次路由,才能确保HW属性生效。
设置生效后,流量在物理接口可以看到,但VLAN接口并未显示有流量,CPU占用仅7%,说明L3 HW的设置已经生效,如下图:
如果当vlan10作为出口,并对192.168.88.3出去的IP做nat转换,需进入switch port下将sfp-sfpplus2端口的L3-HW-offloading关闭,RouterOS会根据nat会话状态和fasttrack配置下发到交换机芯片,加速nat,但实际测试中并不理想。
关于v7.1 beta6支持L3 HW的设备情况,请参考http://www.irouteros.com/?p=1654