针对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

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章很值,打赏犒劳作者一下