这个VLAN配置问题,对于没有使用过RouteOS bridge vlan配置的网络老司机来说,也会导致这样的错误,因为配置的误导性很强,trunk端口的多个或连续vlan-id配置,在华为,H3C和锐捷交换机上都可以通过”逗号“或”横杠“设置,但RouterOS是个例外!

在二层网络中多个终端设备连接到交换机的不同端口,并被不同的vlan隔离,这些端口的流量被标记并发送到trunk端口。Access端口使用pvid属性进行配置。由于trunk端口会对多个VLAN打上标签,因此,在配置vlan trunk时,在bridge vlan中创建规则使用逗号分隔的VLAN来简化配置。当跨越大量VLAN时,例如VLAN -id=100-200,通过这样的设置非常简便,参见下面的网络图和配置。

 

 

在命令行配置:

/interface bridge
add name=bridge1 vlan-filtering=yes
/interface bridge port
add bridge=bridge1 interface=ether2
add bridge=bridge1 interface=ether3 pvid=10
add bridge=bridge1 interface=ether4 pvid=20

ether3和ether4在port下配置端口的PVID,在bridge vlan下自动创建,winbox显示如下,vlan id 10和20对应的ether3和ether4是两条独立的规则:

 

然后配置ether2的trunk,多个vlan大家肯定会想简化配置,通过逗号间隔(错误配置)

/interface bridge vlan
add bridge=bridge1 tagged=ether2 vlan-ids=10,20

winbox的配置如下:

问题:

虽然流量被正确地从access端口转发和标记到trunk端口ether2,但会出现广播或组播数据包实际上在两个untagged未标记的access端口之间扩散。VLAN20和30之间不再被隔离,因此可以嗅探来自不同VLAN网络的流量。当查看网桥VLAN表时,会注意到已经为VLAN 10和20创建了一个规则条目,这个trunk规则允许vlan20和30可以在ether3和ether4同时使用,RouterOS也用红字发出了警告:

 

症状

  • 造成流量在不同的Access VLAN穿透,VLAN隔离失效

解决方法

当使用pvid属性配置了access端口时,它们会被动态地添加到对应的VLAN列表中。当创建了包含多个VLAN或VLAN范围的静态VLAN规则后,具有匹配pvid的untagged接入端口也将被包含在同一个VLAN组或VLAN范围中。对于配置多个trunk端口时,这样的方式可能很简便,但在配置access端口的VLAN时应格外小心。对于本例,多个vlan-id在access口,又配置了trunk端口,应该创建单独的VLAN规则如下:

/interface bridge vlan
add bridge=bridge1 tagged=ether2 untagged=ether3 vlan-ids=10
add bridge=bridge1 tagged=ether2 untagged=ether4 vlan-ids=20

关于这个问题,我求证了MikroTik官方,意思是就是这样配置,如果交换机只有trunk端口,这样配置没有问题,但如果有PVID的access端口,就必须这样每个VLAN id独立配置一个trunk。

打赏

取消

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

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

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

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