RouterOS bridge vlan与华为交换机vlan配置对照
特别说明:此内容针对RouterOS Bridge VLAN配置,不涉及switch路径下的vlan操作!
最近很多朋友无法理解RouterOS的bridge vlan配置,一个经验老道的网络技术,看到RouterOS的文档后,基本上都可以上手,但可能会在trunk配置里入坑。没有网络基础的朋友,估计看到文档入手都比较困难。这里我希望通过与华为交换机的配置做一个对比,方便大家理解
创建bridge配置
这个比较特别,仅用于RouterOS,对于华为交换机是没有这个操作,因为基于Linux内核的华为交换机已经把所有端口写入到了一个bridge下,在开机时通console接口可以看到载入配置的过程。
RouterOS的网络接口默认是独立的三层接口,因此需要将指定端口加入到创建的bridge port中(CRS和部分RB设备会有默认的Bridge配置),所以这个是RouterOS特别之处,华为CE交换机和部分S系列交换机,有一个命令是undo portswitch,从交换端口分离,作为三层接口。
创建bridge配置如下:
创建Bridge接口,取名bridge1,需要固定mac地址,关闭stp协议
/interface bridge add name=bridge admin-mac=48:8F:5A:11:22:33 auto-mac=no protocol-mode=none
将ether2-ether5加入bridge
/interface bridge port add bridge=bridge1 interface=ether2 add bridge=bridge1 interface=ether3 add bridge=bridge1 interface=ether4 add bridge=bridge1 interface=ether5
我没将ether1加入,是考虑通过ether1作为管理口,这一步完成后,已经将ether2-ether5配置为一个普通交换机,所有端口都是vlan 1,但不支持VLAN过滤
开启vlan过滤功能
/interface bridge Set name=bridge1 vlan-filtering=yes
以上配置RouterOS完成了一个4口交换机的创建,华为是没有这个配置过程,因为华为交换机S系列还是CE系列,默认就已经配置好了bridge。
警告:当vlan-filtering启用后,对于带有交换芯片的RB、CRS和CCR系列设备,统一发送到交换芯片(能否支持L2-hw,根据设备具体型号,CRS3xx系列全支持,RB4011和RB1100在v7全支持,RB750Gr3和RB760Gi在v7全支持),如果指定接口到vlan没有传递给bridge(CPU),将无法通过winbox的mac登录管理,只能通过console接口,如果没有console接口的设备,请预留一个管理端口,不加入bridge port中。
Access配置(untagged)
需要将2-4口的vlan改为Access口配置,vlan id分别是2-3端口是vlan 10,4端口是vlan20
华为交换机S系列和CE系列类似
创建vlan
[Huawei]vlan 10 [Huawei]vlan 20
配置2-4口的access口vlan
[Huawei]interface GigabitEthernet 0/0/2 [Huawei-GigabitEthernet0/0/2]port link-type access [Huawei-GigabitEthernet0/0/2]port default vlan 10 [Huawei-GigabitEthernet0/0/2] interface GigabitEthernet 0/0/3 [Huawei-GigabitEthernet0/0/3]port link-type access [Huawei-GigabitEthernet0/0/3]port default vlan 10 [Huawei-GigabitEthernet0/0/3] interface GigabitEthernet 0/0/4 [Huawei-GigabitEthernet0/0/4]port link-type access [Huawei-GigabitEthernet0/0/4]port default vlan 20
RouterOS配置
配置2-4口access vlan(PVID)
[admin@MikroTik] >/interface/bridge/port [admin@MikroTik] /interface/bridge/port> set [find interface=ether2] pvid=10 [admin@MikroTik] /interface/bridge/port> set [find interface=ether3] pvid=10 [admin@MikroTik] /interface/bridge/port> set [find interface=ether4] pvid=20
Trunk配置(tagged)
将5口配置为trunk,允许vlan 10和20通过
华为配置
[Huawei]interface GigabitEthernet 0/0/5 [Huawei-GigabitEthernet0/0/5]port link-type trunk [Huawei-GigabitEthernet0/0/5]port trunk allow-pass vlan 10 20
RouterOS配置
特别注意:RouterOS bridge vlan在trunk多个vlan的时候,每个vlan id单独一条规则,这个是RouterOS的配置方式,不能在一条trunk规则写入多个vlan id,会导致这些vlan id在对应的access端口都会透传过去,vlan不再被隔离,这个坑挖的有点深!
[admin@MikroTik] >/interface/bridge/vlan [admin@MikroTik] /interface/bridge/vlan>add bridge=bridge1 tagged=ether5 vlan-ids=10 [admin@MikroTik] /interface/bridge/vlan>add bridge=bridge1 tagged=ether5 vlan-ids=20
创建三层VLAN接口
创建三层VLAN,也就是在vlan上添加IP地址,这里我们在vlan10添加ip地址192.168.10.1/24,
华为配置
[Huawei]interface vlan 10 [Huawei-interface vlan 10]ip address 192.168.10.1 24
RouterOS配置
需要将vlan从交换芯片传递给Bridge,也就是CPU,在对应的vlan id规则上,补充一个bridge1配置,通过print命令查看规则编号,然后修改
[admin@MikroTik] /interface/bridge/vlan>print Flags: D - DYNAMIC Columns: BRIDGE, VLAN-IDS, CURRENT-TAGGED, CURRENT-UNTAGGED # BRIDGE VLAN-IDS CURRENT-TAGGED CURRENT-UNTAGGED 0 bridge1 10 ethter5 ether1 ether2 ether3 1 D bridge1 1 ether5
通过print命令可以看到vlan-id 10在规则0,通过set命令修改编号0的规则,注意需要加上之前的tagged端口ether5,不能只写bridge1,否则会覆盖之前配置
[admin@MikroTik] /interface/bridge/vlan> set 0 tagged=bridge1,ether5 [admin@MikroTik] /interface/bridge/vlan>print Flags: D - DYNAMIC Columns: BRIDGE, VLAN-IDS, CURRENT-TAGGED, CURRENT-UNTAGGED # BRIDGE VLAN-IDS CURRENT-TAGGED CURRENT-UNTAGGED 0 bridge1 10 bridge1 ether2 ethter5 ether3 1 D bridge1 1 ether5
进入到interface vlan创建三层接口vlan 10
[admin@MikroTik] /interface/bridge/vlan>/interface/vlan [admin@MikroTik] /interface /vlan>add name=vlan10 interface=bridge1 vlan-id=10
进入/ip address添加vlan10的ip地址
[admin@MikroTik] /interface /vlan>/ip/address [admin@MikroTik] /ip/address>add address=192.168.10.1/24 interface=vlan10