RouterOS在Bridge中支持启用VLAN过滤功能,也就是二层交换机的VLAN设置管理,需要在bridge开启 vlan-filtering 。
vlan-filtering是用于桥接下全局的VLAN识别和VLAN tags标记处理。如果 vlan-filtering=no, Bridge将忽略VLAN tag标记。只能工作在shared-VLAN-learning (SVL) 模式,也不能修改VLAN数据包的tags。设置为yes,相关的VLAN功能和independent-VLAN-learning (IVL) 模式将启用。当Bridge加入端口,实现二层转发,bridge自身也将会成为一个接口,并拥有自己的PVID(Port VLAN ID) 目前只有CRS3xx系列设备能够支持基于hardware offloading(下发交换芯片处理)使用Bridge VLAN filtering下所有功能,其他设备在启用桥接VLAN过滤时,不能完全使用内置交换芯片处理,大部分需要通过CPU完成。
PS:v7.20版本 bridge网桥中VLAN的动态添加功能,如果需将某个tag(trunk口)的VLAN通过交换芯片发送到CPU处理,可以在bridge port中对应接口关闭Hardware-offload属性,会自动将该端口的tag VLAN创建到bridge VLAN中并传递给CPU处理。例如一些需要软件来处理的接口,WiFi或隧道协议等;另外在interface vlan中创建VLAN ID的接口指定到bridge上,也会在bridge vlan完成动态创建,这样接少了手动配置操作。
VLAN实例1 (不同VLAN配置Access接口)
这个实例介绍常见二层不同VLAN的access接口配置
创建一个bridge接口,在配置完成VLAN之前,先禁用 vlan-filtering ,避免丢失路由器的管理
/interface bridge add
name=bridge1 vlan-filtering=no 添加bridge ports的接口成员,并指定每个access接口的PVID。
/interface bridge port
add bridge=bridge1 interface=ether2
add bridge=bridge1 interface=ether6 pvid=300
add bridge=bridge1 interface=ether7 pvid=300
add bridge=bridge1 interface=ether8 pvid=400
add bridge=bridge1 interface=ether9 pvid=400最后,当VLAN配置完成,启用vlan-filtering
/interface bridge set bridge1 vlan-filtering=yesVLAN实例2 (配置Trunk和Access接口)
这个实例介绍常见二层VLAN的trunk和access接口配置
创建一个bridge接口,并禁用 vlan-filtering ,在配置完成VLAN之前,避免丢失路由器的管理
/interface bridge add name=bridge1 vlan-filtering=no 添加bridge ports的接口成员,并指定每个access接口的PVID,trunk接口不用指定。
/interface bridge port
add bridge=bridge1 interface=ether2
add bridge=bridge1 interface=ether6 pvid=200
add bridge=bridge1 interface=ether7 pvid=300
add bridge=bridge1 interface=ether8 pvid=400 添加bridge VLAN,并指定tagged和untagged接口
/interface bridge vlan
add bridge=bridge1 tagged=ether2 untagged=ether6 vlan-ids=200
add bridge=bridge1 tagged=ether2 untagged=ether7 vlan-ids=300
add bridge=bridge1 tagged=ether2 untagged=ether8 vlan-ids=400 最后,当VLAN配置完成,启用vlan-filtering
/interface bridge set bridge1 vlan-filtering=yesVLAN实例3 (配置Trunk和Hybrid接口)
该实例介绍二层VLAN混杂模式的配置
创建一个bridge接口,并禁用 vlan-filtering ,在配置完成VLAN之前,避免丢失路由器的管理
/interface bridge
add name=bridge1 vlan-filtering=no 添加bridge ports的接口成员,并指定每个access接口的PVID,trunk接口不用指定。
/interface bridge port
add bridge=bridge1 interface=ether2
add bridge=bridge1 interface=ether6 pvid=200
add bridge=bridge1 interface=ether7 pvid=300
add bridge=bridge1 interface=ether8 pvid=400 添加Bridge VLAN,并指定tagged and untagged端口,设置ether6.ether7和ether8为Hybrid端口
/interface bridge vlan
add bridge=bridge1 tagged=ether2,ether7,ether8 untagged=ether6 vlan-ids=200
add bridge=bridge1 tagged=ether2,ether6,ether8 untagged=ether7 vlan-ids=300
add bridge=bridge1 tagged=ether2,ether6,ether7 untagged=ether8 vlan-ids=400 最后,当VLAN配置完成,启用vlan-filtering
/interface bridge set bridge1 vlan-filtering=yesVLAN实例4(配置VLAN三层接口)
该实例介绍,如何二层VLAN上创建三层接口
创建一个bridge接口,并禁用 vlan-filtering ,在配置完成VLAN之前,避免丢失路由器的管理
/interface bridge
add name=bridge1 vlan-filtering=no 添加bridge ports的接口成员,并指定每个access接口的PVID,trunk接口不用指定。
/interface bridge port
add bridge=bridge1 interface=ether6 pvid=200
add bridge=bridge1 interface=ether7 pvid=300
add bridge=bridge1 interface=ether8 pvid=400 添加bridge VLAN,并指定tagged和untagged接口,在这个实例中设置tagged为bridge1,即将VLAN trunk到路由器内部
/interface bridge vlan
add bridge=bridge1 tagged=bridge1 untagged=ether6 vlan-ids=200
add bridge=bridge1 tagged=bridge1 untagged=ether7 vlan-ids=300
add bridge=bridge1 tagged=bridge1 untagged=ether8 vlan-ids=400 进入/interface vlan菜单,创建bridge1接口下对应的vlan id,允许处理来之二层的vlan数据
/interface vlan
add interface=bridge1 name=vlan200 vlan-id=200
add interface=bridge1 name=vlan300 vlan-id=300
add interface=bridge1 name=vlan400 vlan-id=400 在/ip address菜单下添加对应VLAN的IP地址
/ip address
add address=20.0.0.1/24 interface=vlan200
add address=30.0.0.1/24 interface=vlan300
add address=40.0.0.1/24 interface=vlan400 最后,当VLAN配置完成,启用vlan-filtering
/interface bridge set bridge1 vlan-filtering=yesVLAN实例5 (配置VLAN三层管理IP)
该实例如何是二层VLAN配置三层管理IP和网关
创建一个bridge接口,并禁用 vlan-filtering ,在配置完成VLAN之前,避免丢失路由器的管理
/interface bridge
add name=bridge1 vlan-filtering=no 添加bridge ports的接口成员,并指定每个access接口的PVID,trunk接口不用指定。
/interface bridge port
add bridge=bridge1 interface=ether2
add bridge=bridge1 interface=ether3 pvid=300 添加bridge VLAN,并指定tagged和untagged接口,在这个实例中设置tagged为bridge1,即将VLAN trunk到路由器内部
/interface bridge vlan
add bridge=bridge1 tagged=ether2,bridge1 vlan-ids=200
add bridge=bridge1 tagged=ether2 untagged=ether3 vlan-ids=300 进入/interface vlan菜单,创建bridge1接口下对应的vlan id,允许处理来之二层的vlan数据
/interface vlan
add interface=bridge1 name=vlan200 vlan-id=200 在/ip address菜单下添加对应VLAN的IP地址
/ip address
add address=20.0.0.2/24 interface=vlan200 在/ip route菜单下添加对应网关 /ip route add gateway=20.0.0.1 最后,当VLAN配置完成,启用vlan-filtering
/interface bridge set bridge1 vlan-filtering=yes 





