RouterOS 6.41以后版本基于端口的的VLAN设置方法

RouterOS日常改操作逻辑,尤其是6.41开始原来Switch菜单内容缩水,功能开始移动到Bridge菜单并且自动判断是否开启硬件加速以后,只能说越来越看不懂了。下面简单介绍一个RouterOS新版Bridge菜单的VLAN设置。

为了便于理解,本文统一使用Cisco VLAN记法:

  • 连接非交换设备,需要添加、移除VLAN标记的端口称为access端口;
  • 连接交换设备,不需要操作VLAN标记的端口称为trunk端口。

纯交换VLAN设置(自动硬件交换)

适用于交换机,不需要做路由的场景。

首先给所有需要转发流量(包括VLAN内流量)的端口加桥,并且打开桥上的VLAN filtering功能(否则VLAN设置均不生效;如果你不是从串口配置路由器的,建议在配置完下面VLAN设置以后再打开此开关):

我在两台CRS3xx,RouterOS 6.41.3上做实验的时候,只要开任何STP协议就会导致交换功能完全无法使用,因此这边的配置默认关掉了STP。STP和LACP导致断网是固件bug,最新版本RouterOS已修复。)

配置Access端口

RouterOS对Tx和Rx流量的VLAN标记的处理设置是独立的,也就是说可以单独在一个方向设定加上VLAN标签。对于一个纯access端口,我们需要在流量流入交换机时加上VLAN tag,流出时移除VLAN tag。后者是RouterOS默认设定的(下一节会提到)。

对应设置:

配置Trunk端口

默认设置下,所有数据流出端口时均会移除VLAN tag。Trunk端口上需要让所有流量带着VLAN tag走,所以需要显式设置一下:

对于一台需要中继Trunk流量的交换机,需要同时设定两个口:

VLAN间路由或软件桥接

假设路由器的ether1-trunk端口上面有多个VLAN的流量,那么首先我们强制关掉该端口上的硬件交换:

然后将每个VLAN的数据移除VLAN tag以后导出成一个虚拟interface:

这样就启用了三层功能。

VLAN间路由

就像在端口之间路由一样给VLAN interface配置IP地址:

软件桥接

将VLAN interface加入桥:

纯软件VLAN交换

如果看不懂上面的VLAN交换配置,或者遇到硬交换有bug,并且不嫌软件交换效率低,可以尝试一下:

  1. 为每台交换机上的每个交换域建立一个bridge
  2. 把所有access端口加入相应的bridge
  3. 在trunk端口上创建多个VLAN虚拟端口,把每个VLAN虚拟端口加入相应的bridge(记得这个端口要关掉硬件加速)
  4. 把每台交换机的trunk端口物理连接起来

参考:

发表评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.