在 RouterOS/Mikrotik 上配置 VLAN 访问和中继端口

网络工程 局域网
2022-02-21 17:10:08

我有 RouteBOARD RB951G-2HnD,RouterOS 6.34.2,我正在尝试实现类似于下一张图片所描绘的网络配置。图片来自 Mikrotik Wiki http://wiki.mikrotik.com/wiki/Vlans_on_Mikrotik_environment

具有三个交换机和两个 VLAN 的网络配置

我正在尝试以与图片上的 SW3 相同的方式配置路由器。两个中继端口和一个接入端口。我尝试按照 wiki 页面上的说明配置路由器,但访问端口无法正常工作。我试图在互联网上找到类似的问题,但没有运气。

我在配置中遗漏了一些东西。因此,这是我用于配置的步骤。路由器具有默认配置,我正在尝试下一步配置:

  • ether4(上图与 SW3 eth3 相同)和 ether5(上图与 SW3 eth4 相同)是中继端口
  • 两个 vlan id,100 和 200
  • ether3(在图片上与 SW3 eth1 相同)是 vlan 100 的访问端口

脚步

#Removing parts of default configuration
/interface ethernet set ether3 master-port=none
/interface ethernet set ether4 master-port=none
/interface ethernet set ether5 master-port=none

#Configuration for trunk ports
/interface bridge add name=bridge-trunk disabled=no
/interface bridge port add interface="ether3" bridge="bridge-trunk" disabled=no
/interface bridge port add interface="ether4" bridge="bridge-trunk" disabled=no

#configuration for the access port
/interface vlan add name="bridge-trunk-vlan100" vlan-id=100 interface=bridge-trunk disabled=no

/interface bridge add name=bridge-vlan100 disabled=no
/interface bridge port add interface="bridge-trunk-vlan100" bridge="bridge-vlan100" disabled=no
/interface bridge port add interface="ether3" bridge="bridge-vlan100" disabled=no

当我执行这些步骤并将我的笔记本电脑连接到 ether3 时,与其他网络设备的任何类型的网络连接都无法正常工作。中继端口工作正常。

如果我错了,请纠正我,如果我将以这种方式配置的路由器引入现有网络,APR 表必须在其他网络设备上自行刷新,因为网桥有它自己的 MAC 地址。

如果您能提供提示、教程或书籍以阅读有关桥接和 VLAN 的更多信息,我将不胜感激。

更新 1

我找到了一种方法,但我不知道RouterOS方法是否正确。

我为网桥添加了过滤规则

/interface bridge filter add chain=forward mac-protocol=vlan vlan-id=100 action=accept

此外,我可以使用类似规则通过 IP 防火墙运行所有 VLAN 流量。

更新 2

以前的情况是在单独的 RouterBOARD 上的实验环境中完成的。我想在真实设备上应用这个解决方案,但没有奏效。设备为云路由交换机CRS125-24G-1S。当我将bridge-trunk-vlan100接口添加到bridge-vlan100网桥的那一刻,正在通过的流量bridge-trunk被丢弃并且无法建立新的连接。

1个回答

我也在 RB2011U 上进行了类似的设置,并尝试了许多不同的教程。有趣的是,最简单的解决方案对我有用。你的设备有一个开关芯片,比 CPU 快得多。你真的应该使用它的功能。

元描述:

  1. 只需采用默认的 Home-AP 设置,其中端口 3-5 是 eth2 的从属端口,并且(可能)有一个网桥,其中 eth2 是其中的成员(因此也是 3-5 的成员)。
  2. 在该网桥上创建您需要的 VLAN 并定义地址
  3. 在交换机上定义 vlan ID(当然,选择需要 vlan 的端口)
  4. 在交换机端口配置上配置端口:
  5. 对于中继端口:将 vlan 模式设置为除禁用之外的任何内容,标题为“如果丢失则添加”,默认 vlanid 1
  6. 对于访问端口:vlan 模式为除禁用之外的任何内容,标题为“始终剥离”,默认 vlanid 为您想要的 vlan。
  7. 如果您在该设备上有 wifi 站,请为 vlan 创建一个网桥,将 vlan 和您的 wifi 添加到其中。不要忘记将“switch cpu”添加到您的交换机 vlan 配置中。

由于所有端口都处于主从配置中,并且交换机知道哪个 vlan 在哪个端口上,因此在路由流量时不必涉及 CPU。

配置:

  • 这里的设备有两个交换芯片,每个有5个端口。
  • eth2 和 eth6 是主端口。
  • eth3-5 是 eth2 的从属,eth7-10 是 eth6 的从属。
  • 我们要添加两个 vlan:100 和 200

认为你甚至可以在没有桥接的情况下解决这个问题,因为你的设备只有一个开关芯片。(理论上)您可以直接在主端口接口上定义 vlan,而无需添加网桥。但是,下面的配置使用了网桥。

# trunk bridge, probably already exists
/interface bridge add comment=defconf name=bridge

# the master ports are probably already member of that bridge
/interface bridge port add bridge=bridge comment=defconf interface=eth02-master
/interface bridge port add bridge=bridge interface=eth06-master

# create the vlans on the bridge
/interface vlan add interface=bridge name=vlan-guest-200 vlan-id=200
/interface vlan add interface=bridge name=vlan-int-100 vlan-id=100

# vlan port config on the switch
/interface ethernet switch vlan add ports=eth02-master,eth03,eth04,eth05,switch1-cpu switch=switch1 vlan-id=100 independent-learning=no
/interface ethernet switch vlan add ports=eth02-master,switch1-cpu switch=switch1 vlan-id=200 independent-learning=no

# if you have a device (like the RB2011U) with 2 switch chips, 
# you need to configure the second switch too:
/interface ethernet switch vlan add ports=eth06-master,eth07,eth08,eth09,switch2-cpu switch=switch2 vlan-id=100
/interface ethernet switch vlan add ports=eth06-master,eth07,eth10,switch2-cpu switch=switch2 vlan-id=200

# define the adresses of your vlans
/ip address add address=10.10.100.1/24 interface=bridge-vlan-int-100 network=10.10.100.0
/ip address add address=10.10.200.1/24 interface=bridge-vlan-guest-200 network=10.10.200.0

中继端口配置

/interface ethernet switch port set 2 default-vlan-id=1 vlan-header=add-if-missing vlan-mode=secure

访问端口配置(对于条目 3 和 10,可能是 eth3 和 eth10):

/interface ethernet switch port set 3 default-vlan-id=100 vlan-header=always-strip vlan-mode=secure
/interface ethernet switch port set 10 default-vlan-id=200 vlan-header=always-strip vlan-mode=secure

如果您的设备需要集成 wifi AP 站,则需要将其桥接到 vlan:

# create a bridge for each vlan you need
/interface bridge add name=bridge-vlan-guest-200

# add the vlan and wifi to the bridge
/interface bridge port add bridge=bridge-vlan-guest-200 interface=vlan-guest-200
/interface bridge port add bridge=bridge-vlan-guest-200 interface=wlan-guest-200