你的浏览器无法正常显示内容,请更换或升级浏览器!

MikroTik RouterOS VLAN 隔离实战避坑指南

tenfei
tenfei
发布于2026-08-02 11:11 阅读13次
MikroTik RouterOS VLAN 隔离实战避坑指南
手把手教你用 RouterOS VLAN 实现多网段隔离,详解 Bridge VLAN Filtering 配置、Access/Trunk/Hybrid 端口区别、以及常见的 VLAN 不通排查思路。附完整配置命令,适合中小企业网络管理维护参考。
# MikroTik RouterOS VLAN 隔离实战避坑指南 ## 前言 在中小型企业网络管理中,VLAN 隔离是刚需——办公网、访客WiFi、监控网、服务器区需要彼此隔离但又共享同一套交换机设备。 MikroTik RouterOS 的 VLAN 配置灵活度很高,但正因如此,也埋了不少坑。本文记录一次实际部署中的完整配置过程和踩坑经验。 ## 场景需求 某办公室网络通过一台 RB4011 路由器 + CRS328 交换机,需要划分以下 VLAN: | VLAN ID | 名称 | 网段 | 用途 | |---------|------|------|------| | 1 | MGMT | 192.168.1.0/24 | 设备管理 | | 10 | Office | 192.168.10.0/24 | 办公网络 | | 20 | Guest | 192.168.20.0/24 | 访客WiFi(仅上网) | | 30 | Camera | 192.168.30.0/24 | 监控(完全隔离) | 要求: - 办公网可访问互联网,但不可访问监控网 - 访客网只能访问互联网,不能访问内网任何网段 - 监控网完全隔离,仅 NVR 可达 ## 第一步:创建 VLAN 接口 ```bash # 在路由器上创建各 VLAN 接口 /interface vlan add name=vlan10 vlan-id=10 interface=bridge add name=vlan20 vlan-id=20 interface=bridge add name=vlan30 vlan-id=30 interface=bridge # 给各 VLAN 配置 IP(作为各网段网关) /ip address add address=192.168.1.1/24 interface=bridge add address=192.168.10.1/24 interface=vlan10 add address=192.168.20.1/24 interface=vlan20 add address=192.168.30.1/24 interface=vlan30 ``` ## 第二步:配置 Bridge VLAN Filtering ⚠️ 大坑所在 很多教程只教你创建 VLAN 接口但不说 Bridge VLAN Filtering,这是不通的最大原因。 ```bash # 开启桥的 VLAN 过滤(这是关键!) /interface bridge set bridge vlan-filtering=yes # 配置 Bridge VLAN 表 /interface bridge vlan add bridge=bridge tagged=bridge vlan-ids=1 add bridge=bridge tagged=bridge,ether2 vlan-ids=10 add bridge=bridge tagged=bridge,ether2 vlan-ids=20 add bridge=bridge tagged=bridge,ether3 vlan-ids=30 # 端口 PVID 设置 /interface bridge port set [find interface=ether2] pvid=10 # 办公接入端口 set [find interface=ether3] pvid=30 # 监控接入端口 ``` ### 坑 1:忘记把 bridge 本身加入 tagged 列表 `bridge` 接口本身必须作为 tagged 端口出现在每个 VLAN 的 tagged 列表中,否则三层路由不通!因为 VLAN 接口是挂在 bridge 上的,数据包需要经由 bridge 接口进入 VLAN 子接口做三层转发。 典型症状:同一 VLAN 内设备互 ping 正常,但跨 VLAN ping 网关不通。 ### 坑 2:Access 端口的 PVID 必须和 untagged 一致 如果一个端口是 Access 模式(只属于一个 VLAN),要同时设置: ```bash /interface bridge port set ether2 pvid=10 /interface bridge vlan add bridge=bridge untagged=ether2 vlan-ids=10 ``` 只设 PVID 不设 untagged,进来的无标签帧会被打上 VLAN 10 标签,但出去的帧不会去掉标签,导致终端设备收到带标签的帧直接丢弃。 ## 第三步:配置 DHCP Server ```bash # 为每个 VLAN 创建 DHCP 地址池 /ip pool add name=pool-office ranges=192.168.10.100-192.168.10.200 add name=pool-guest ranges=192.168.20.100-192.168.20.200 add name=pool-camera ranges=192.168.30.100-192.168.30.200 # 创建 DHCP Server /ip dhcp-server add name=dhcp-office interface=vlan10 address-pool=pool-office add name=dhcp-guest interface=vlan20 address-pool=pool-guest add name=dhcp-camera interface=vlan30 address-pool=pool-camera # DHCP 网络参数 /ip dhcp-server network add address=192.168.10.0/24 gateway=192.168.10.1 dns-server=223.5.5.5 add address=192.168.20.0/24 gateway=192.168.20.1 dns-server=223.5.5.5 add address=192.168.30.0/24 gateway=192.168.30.1 ``` ### 坑 3:DHCP Server 绑在 VLAN 接口上不是 bridge 上 RouterOS 的 DHCP Server 要绑定到对应 VLAN 子接口而非物理接口或 bridge。如果绑错,客户端在错误的广播域发包,永远收不到 DHCP Offer。 ## 第四步:防火墙规则实现隔离 ```bash /ip firewall filter # 禁止访客网访问内网(除 DNS 和 DHCP) add chain=forward src-address=192.168.20.0/24 dst-address=192.168.0.0/16 \ action=drop comment="Guest block LAN" # 允许访客 DNS(放前面) add chain=forward src-address=192.168.20.0/24 dst-address=192.168.1.1 \ protocol=udp dst-port=53 action=accept # 禁止办公网访问监控网 add chain=forward src-address=192.168.10.0/24 dst-address=192.168.30.0/24 \ action=drop comment="Office block Camera" # 禁止监控网访问外网 add chain=forward src-address=192.168.30.0/24 out-interface=pppoe-out1 \ action=drop comment="Camera block WAN" ``` ## 排查思路总结 当 VLAN 不通时,按以下顺序排查: 1. **检查 Bridge VLAN Filtering 是否开启** → `/interface bridge print` 2. **检查 VLAN 表中 tagged/untagged 端口是否正确** → `/interface bridge vlan print` 3. **检查端口 PVID** → `/interface bridge port print` 4. **检查网关 ARP** → 从终端 ping 网关看是否有回应 5. **检查防火墙规则** → 暂时禁用所有 filter 规则测试是否防火墙误拦 6. **抓包确认** → `/tool sniffer quick interface=bridge port=67` 看 DHCP 包走向 ## 小结 RouterOS VLAN 配置的核心是理解 Bridge VLAN Filtering 的 tagged/untagged/PVID 三者的关系: - **tagged**:端口发出的帧带 VLAN 标签 - **untagged**:端口发出的帧去掉 VLAN 标签(终端设备用) - **PVID**:端口收到无标签帧时,打上哪个 VLAN ID 把这三角关系搞清楚了,RouterOS 的 VLAN 配置就能游刃有余。

2

0

文章点评
Copyright © from 2021 by namoer.com
458815@qq.com QQ:458815
蜀ICP备2022020274号-2