Настройка VLAN на MikroTik без лирики [ROS7]

в 7:12, , рубрики: 802.1Q, mikrotik, VLAN

Содержание

  • Введение

  • Схема сети

  • Конфигурация R1 (маршрутизатор)

  • Конфигурация S1 (коммутатор)

  • Тестирование и проверка

  • Особенности оборудования MikroTik

  • Заключение

Уровень: CCNA+

Без пояснений, что такое VLAN, trunk и зачем всё это нужно. Сразу к конфигам.

Предполагается, что читатель знаком с базовыми концепциями VLAN и trunk-портов. Статья сосредоточена на практической реализации на MikroTik с RouterOS 7.

Цель: Реализовать классическую схему Router-on-a-Stick на MikroTik с помощью двух управляемых коммутаторов и одного маршрутизатора.

VLAN ID

Подсеть

Назначение

10

192.168.10.0/24

Сеть управления

20

192.168.20.0/24

Сеть касс и сканеров

30

192.168.30.0/24

Сеть бухгалтерии

  • R1 — маршрутизатор, выполняющий интер-VLAN маршрутизацию с использованием саб-интерфейсов (802.1Q).

  • S1 — центральный коммутатор, на котором сконфигурированы trunk-порты к маршрутизатору, второму коммутатору, edge-порты для конечных устройств.

  • S2 — удалённый коммутатор D-Link, обслуживающий бухгалтерию в VLAN 30.

    Топология сети

    Топология сети

    Принцип работы:

    • Устройства в каждой VLAN получают IP-адреса из своей подсети.

    • Доступ между VLAN возможен через маршрутизатор R1 (например, администратор из VLAN 10 может подключиться к кассовому устройству из VLAN 20).

    • Управление коммутаторами осуществляется через VLAN 10.

    • Благодаря VLAN, каждая группа устройств изолирована от остальных, что повышает безопасность и управляемость сети.

Конфиг R1:

Создаем бридж, умеющий работать с VLAN:

/interface bridge add arp=reply-only arp-timeout=30s frame-types=admit-only-vlan-tagged name=bridge1 vlan-filtering=yes

Используем arp=reply-only, чтобы исключить ARP-спуфинг и явно управлять ARP через статические записи.

Добавляем в бридж ether5 как downlink в сторону S1:

/interface bridge port add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=ether5

После чего уже назначим VLAN-ы на сам бридж и ether5:

/interface bridge vlan

add bridge=bridge1 tagged=bridge1,ether5 vlan-ids=10

add bridge=bridge1 tagged=bridge1,ether5 vlan-ids=20

add bridge=bridge1 tagged=bridge1,ether5 vlan-ids=30

Создадим VLAN интерфейсы, где vlan.10 - VLAN управления, назначим их на bridge1

/interface vlan

add interface=bridge1 name=vlan.10 vlan-id=10

add interface=bridge1 name=vlan.20 vlan-id=20

add interface=bridge1 name=vlan.30 vlan-id=30

Назначим ip-адреса на VLAN интерфейсы:

/ip address

add address=192.168.10.1/24 interface=vlan.10 network=192.168.10.0

add address=192.168.20.1/24 interface=vlan.20 network=192.168.20.0

add address=192.168.30.1/24 interface=vlan.30 network=192.168.30.0

Разрешим управление R1 только из сети 192.168.10.0/24

/interface list add name=mgmt

/interface list member add interface=vlan.10 list=mgmt

/ip firewall filter

add action=accept chain=input comment="allow mgmt to router" connection-state=new dst-port=22,8291 in-interface-list=mgmt protocol=tcp

add action=reject chain=input comment="reject mgmt to router" connection-state=new dst-port=22,8291 in-interface-list=!mgmt log=yes log-prefix="unauthorized access blocked" protocol=tcp reject-with=tcp-reset

Конфиг S1:

Аналогично создадим бридж:

/interface bridge add arp=enabled arp-timeout=30s frame-types=admit-only-vlan-tagged name=bridge1 vlan-filtering=yes

Добавим в бридж порты, которые планируем использовать:

uplink в сторону R1: /interface bridge port add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=ether5

downlink в сторону S2: /interface bridge port add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=ether4

edge порт в сторону касс: /interface bridge port add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether2 pvid=20

edge порт в сторону admin-пк: /interface bridge port add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether1 pvid=10

Назначим VLAN-ы на бридж и порты, где ether5 - uplink в сторону R1, ether4 - downlink в сторону S2, а ether1,2 - клиентские устройства.

/interface bridge vlan

add bridge=bridge1 tagged=bridge1,ether5,ether4 untagged=ether1 vlan-ids=10

add bridge=bridge1 tagged=bridge1,ether5 untagged=ether2 vlan-ids=20

add bridge=bridge1 tagged=bridge1,ether5,ether4 vlan-ids=30

Создадим VLAN интерфейс для управления коммутатором

/interface vlan

add interface=bridge1 name=vlan.10 vlan-id=10

Назначим ip для управления коммутатором из сети 192.168.10.0/24

/ip address add address=192.168.10.254/24 interface=vlan.10 network=192.168.10.0

И добавим маршрут до R1

/ip route add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.10.1 pref-src="" routing-table=main scope=30 suppress-hw-offload=no target-scope=1

Пробуем пропинговать R1:

ping 192.168.10.1 interface=vlan.10

SEQ HOST SIZE TTL TIME STATUS

0 192.168.10.1 56 64 702us

1 192.168.10.1 56 64 715us

2 192.168.10.1 56 64 630us

3 192.168.10.1 56 64 638us

sent=4 received=4 packet-loss=0% min-rtt=630us avg-rtt=671us max-rtt=715us

Разрешим управление только из сети 192.168.10.0/24

/ip service

set ssh address=192.168.10.0/24

set winbox address=192.168.10.0/24

Примечание:

Конфигурация S2 не рассматривается. Для текущей задачи достаточно передать теги VLAN 10 (управление) и VLAN 30 (бухгалтерия).

P.S. или важное НО…

На некоторых моделях MikroTik (например, RB2011, RB951) bridge с включённым vlan-filtering не использует switch-чип, а работает через CPU. Это повлияет на производительность при высокой нагрузке. Для аппаратной обработки VLAN в таких случаях необходимо использовать /interface ethernet switch (настройка через switch).

Вывод

Настройка позволяет:

  • гибко сегментировать сеть,

  • изолировать трафик между зонами,

  • централизованно управлять устройствами через VLAN.

FAQ

Общее описание VLAN в RouterOS: принципы работы, структура, рекомендации

Пример настройки VLAN-коммутации с bridge и switch-chip в RouterOS

Автор: default_gateway69

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js