Привет. В чем функциональная разница между использованием /interface bridge vlan config и просто созданием /interface vlan на нескольких интерфейсах с последующим объединением этих vlan-интерфейсов в мост? И еще — является ли новое меню /interface bridge vlan заменой старого меню /interface ethernet switch vlan? (Не могу проверить, потому что единственный роутер, на котором я тестирую 6.41 — это CCR1009 без аппаратного свича.) Например, VLAN Пример #1 из вики: https://wiki.mikrotik.com/wiki/Manual:Interface/Bridge#Summary кажется мне просто эквивалентом такого псевдокода:
Понимаю, что это псевдокод, но, думаю, суть ясна. Я не вижу особых преимуществ использования этой новой опции вместо /interface vlan на устройствах без аппаратных свичей (потому что, если я правильно понимаю, на устройствах с аппаратными свичами это должно работать с аппаратным ускорением, в отличие от /interface vlan, и выглядит это как-то удобнее, чем старое /interface ethernet switch vlan).
Хорошо, я только начинаю разбираться с VLAN и Гугл привёл меня сюда, ха-ха. Вижу, что есть два места для создания VLAN: в меню Interface и в меню Bridge. Отмечу сразу — я предпочитаю winbox (без внешнего доступа, только внутренняя сеть). Выбор в Interface напоминает мне мой старый роутер Zyxel USG40, а в Bridge, похоже, больше настройки коммутатора?
Предположим, у меня есть управляемые коммутаторы, и точка доступа поддерживает VLAN (поскольку они сейчас работают, надо прикупить себе hAP-ac2).
На моём zyxel40 я бы создавал новую VLAN с IP-адресом, DHCP-сервером и так далее, но один из шагов был — указать, на какой "хост"-сети (Symbiotic network) эта VLAN будет ездить. То есть VLAN должна проходить внутри существующей сети.
Я не совсем понимаю, как сделать это на hex? Пример: допустим, я хочу, чтобы обычный трафик LAN шёл по проводной сети дома, а VLAN использовались для разделения всего остального.
vlan10 192.168.10.0/24 — для Android-приставок, AppleTV и т.п. vlan20 192.168.20.0/24 — гостевой Wi-Fi vlan30 182.168.30.0/24 — домашний Wi-Fi
Я хочу запустить vlan10 и vlan20 на LAN2 — DMZ bridge, а vlan30 — на LAN1 — Homebridge.
Хочу настроить блокировку для пересылки так: vlan10 к vlan20, vlan30, LAN1, LAN2 — DROP vlan20 к vlan10, vlan30, LAN1, LAN2 — DROP
Но при этом обеспечить свободный обмен между VLAN30 и LAN1 в обе стороны.
hEX имеет аппаратный коммутатор, поэтому настройки VLAN в /interface bridge поддерживаются коммутатором с проводной скоростью. Мой вопрос касался роутеров, у которых НЕТ аппаратного коммутатора (например, серии CCR), но при этом есть такая опция. Тогда это мне кажется немного лишним. Звучит как делать всё трудно и без выгоды. Самый простой способ — использовать программные VLAN, те, что в /interface vlan. Просто создаёшь там VLAN, указываешь базовый интерфейс, а потом в /ip address назначаешь адрес интерфейсу VLAN, а НЕ ether-интерфейсу. Если у тебя IP есть и на VLAN, и на ether-интерфейсе, то IP на ether-интерфейсе будет обрабатывать неотмеченные кадры, что может быть нежелательно, если ты не планируешь использовать неотмеченные пакеты.
Что касается файрвола — работаешь с VLAN так же, как с обычными интерфейсами. Можно, например, использовать в правиле файрвола in-interface=myvlan. Решение очень простое, но аппаратного ускорения не будет... Так что зависит от того, чего ты ждёшь.
По сути, интерфейсы в RouterOS работают как интерфейсы в Linux. Можно представить их как набор связанных блоков, которые выполняют определённые операции с пакетами. В твоём случае это могло бы выглядеть так: ether — vlan — bridge — cpu (роутер) или: ether — vlan — cpu (роутер). Блок VLAN просто фильтрует пакеты с нужным VLAN — он как фильтр, который ловит соответствующие пакеты и снимает VLAN-заголовки, чтобы дальше они вели себя как обычные неотмеченные пакеты. И добавляет VLAN-заголовки для исходящих пакетов, которые проходят через интерфейс VLAN. Немного похоже на аудио фильтры для гитары, только работающие в обе стороны, а не только на вход.
Второй вариант — создавать аппаратно ускоренные VLANы. Преимущество в том, что, насколько я знаю, там можно задавать правила трафика через ACL, но они будут без состояния, и в общем этот вариант концептуально сложнее, потому что ближе к железу и менее абстрактен.
Если тебе не нужен полный гигабит между VLAN, я бы выбрал программный VLAN. Он даёт гораздо лучший контроль с точки зрения файрвола и управления трафиком в целом, так как это полноценная маршрутизация. VLAN, определённые в /interface bridge, больше ориентированы на коммутаторы. Их можно рассматривать как VLANы в рамках управляемого коммутатора. И я их никогда не использовал, так что подсказать конкретно по ним не смогу.
В настоящий момент только коммутаторы серии CRS3xx могут аппаратно обрабатывать настройки с помощью /interface bridge vlan. Если устройство (включая старый CCR1009) оснащено коммутационной микросхемой и поддерживает аппаратное VLAN-переключение (см. таблицу VLAN здесь: https://wiki.mikrotik.com/wiki/Manual:Switch_Chip_Features#Introduction), то для достижения скорости передачи на уровне провода настройка должна выполняться в меню /interface ethernet switch, как показано здесь: https://wiki.mikrotik.com/wiki/Manual:Switch_Chip_Features#VLAN_Example_1_.28Trunk_and_Access_Ports.29 (исключая CRS1xx/CRS2xx, у них немного другой тип конфигурации). Причина, по которой была реализована фильтрация VLAN на мосту и новая реализация моста, связана с необходимостью соответствия RSTP и добавления новых функций (например, MSTP). Известно, что если добавить физический интерфейс в мост с VLAN-интерфейсом, это может заблокировать порт коммутатора, если на нем включена функция BPDU Guard. Подробнее об этом случае можно прочитать здесь: https://wiki.mikrotik.com/wiki/Manual:Layer2_misconfiguration#VLAN_in_bridge_with_a_physical_interface
Спасибо за объяснение, artz! Можешь ещё объяснить, почему конфигурация с включённой фильтрацией VLAN на bridge в версии 6.41 и выше не поддерживает аппаратное ускорение? Сейчас ситуация совсем запутанная. Раньше у нас была конфигурация с ориентацией на switch (master-port и настройка switch), и её нужно было перевести на конфигурацию с bridge, но когда это полностью делается, аппаратного ускорения нет. Почему нельзя сделать так, чтобы bridge с фильтрацией VLAN автоматически выполнял настройки switch в фоне, чтобы была только одна конфигурация? Обычно до версии 6.41 мы создавали пару VLAN-интерфейсов на master port, а в switch некоторые порты были trunk, а некоторые—untagged в определённой VLAN. Это должно точно так же работать в новой bridge-конфигурации, где порты являются tagged или untagged членами VLAN, а VLAN-интерфейсы уже на bridge-интерфейсе. Аппаратное обеспечение должно это поддерживать, ведь оно же справлялось в switch-конфигурации. Но когда эту конфигурацию переносишь на 6.41, остаётся только один bridge без VLAN.
@artz, в твоей цитируемой статье https://wiki.mikrotik.com/wiki/Manual:Switch_Chip_Features#VLAN_Example_1_.28Trunk_and_Access_Ports, как добавить IP-адреса к разным VLAN и включить маршрутизацию между ними? Я думал, может, по примеру «Management IP Config» из той статьи, но там предлагают добавить адрес на физический порт 2, который считается главным портом. А в новой конфигурации bridge будет новым главным портом, и в «/interface ethernet switch vlan» нельзя выбрать bridge.
CZFan: ты добавляешь VLAN-интерфейсы к интерфейсу моста (вместо основного порта ethernet) и затем назначаешь IP-адреса этим VLAN-интерфейсам. Это автоматически включит маршрутизацию между всеми VLAN, если только это не запрещено правилами брандмауэра. Нужно убедиться, что интерфейс моста является тегированным участником VLAN в мосту.
Спасибо, @petchi. Если я правильно тебя понял, то это будет в конфигурации Bridge VLAN, а не в конфигурации switch VLAN. Если следовать настройкам Bridge VLAN, то все работает нормально, НО — и ты, кажется, тоже это упоминал — теряется аппаратное ускорение. А так как @artz цитировал статью про VLAN на полной скорости канала, я надеялся, что можно будет сделать это через конфигурацию switch VLAN. Так что я вижу ситуацию так: либо откатиться на версию 6.40.8 и получить VLAN на полной скорости, либо использовать последнюю версию RoS и потерять аппаратное ускорение. Правильно я всё понимаю или я совсем запутался?
Похоже именно так, и я, как и ты, задаюсь вопросом, почему это так. Если мост с VLAN-фильтрацией — новый способ настройки устройства, то в него должна входить аппаратная ускорение и конфигурация коммутатора. Пока что я держу все устройства, которым действительно нужна эта функция (из-за трафика 1 Гбит/с между портами коммутатора), на багфиксе (6.40.8), но боюсь того момента, когда MikroTik сделает 6.41 или выше основным релизом, и у нас больше не будет аппаратно ускоренного VLAN-свитчинга...
Переключение VLAN не будет удалено, и вы по-прежнему можете выполнять переключение VLAN при настройке устройства с версией 6.41.x или новее. Конфигурация остаётся прежней, только часть с master-port заменена (даже преобразована) на конфигурацию моста, часть, отвечающая за настройку переключения VLAN, не изменилась. Опция фильтрации VLAN в мосту была разработана для упрощения настройки VLAN, но на данный момент такой тип конфигурации аппаратно поддерживается только на коммутаторах серии CRS3xx. Вики обновлена с более подробными примерами настройки управляющих портов на устройствах с универсальной микросхемой коммутатора: https://wiki.mikrotik.com/wiki/Manual:Switch_Chip_Features#Management_port_configuration
Спасибо, @artz, с нетерпением жду, когда аппаратное ускорение фильтра VLAN будет доступно на других чипах коммутаторов, потому что, похоже, это действительно упрощает настройку (по крайней мере, я так думаю…). Теперь нужно провести несколько тестов в лаборатории на основе обновлённой Wiki…
Возможно, я что-то упустил в твоих требованиях, но если я правильно тебя понял, тебе подошло бы настроить в версии 6.41+ то же, что умеет 6.40.8, верно? Значит, проблема, о которой говорит @artz, тебя не беспокоит. Если так: судя по моим тестам, настройки моста и свитча почти не мешают друг другу, пока ты не включишь **** vlan-filtering на мосту — это нужно делать только если хочешь использовать MSTP или чтобы RSTP работал корректно, как упоминал @artz.
Так что можно настроить мост с **** vlan-filtering=no, создать /interface vlan для каждого VLAN, к которому нужен локальный доступ, и привязать их к этому мосту. Если нужно управлять принадлежностью портов к VLAN, используй меню /interface switch vlan для настройки фильтрации VLAN на чипе свитча.
Главный момент: нужно сделать CPU-порт свитч-чипа (у тебя их два, так как в домашней лабораторной модели устройство с двумя чипами) членом тех VLAN, к которым хочешь получить доступ локально. Тогда ты получишь пересылку на скорости проводника с фильтрацией VLAN внутри каждого чипа и доступ к ним через мост.
Не уверен, есть ли прямой путь между двумя свитч-чипами, я видел RB2011 живым лишь однажды и только снаружи. Если он есть, нужно разрешить VLAN, которые хочешь использовать, на портах соединения обоих чипов, но только на CPU-порту 8337 (угадай почему). Если его нет, то нужно разрешить эти VLAN на CPU-портах, и тогда естественно забудь про пересылку на скорости проводника между свитч-чипами.
Немного сложновато то, что FastEthernet-чип свитча (порты 6-10) не поддерживает “гибридный” режим портов, то есть несколько тегированных VLAN и один без тега, но это, надеюсь, не критично для тебя.
Отвлечённо: ты тоже собираешься к окулисту, если я пойду? Я уже год планирую, но никак не доберусь. Кстати, никнейм Роба — pe1chl, а не petchi.
@pe1chl, искренне извиняюсь за то, что неправильно написал твой ник на форуме. Это уже привычка со времён, когда я работал региональным IT-менеджером — приходилось целыми днями сидеть на встречах и одновременно получать минимум по 100+ писем в день, поэтому привык быстро пробегать глазами и иногда ошибаюсь. Ещё раз извиняюсь, если кого-то этим обидел. @sindy, у тебя, должно быть, память как у слона, без обид. Говорю так, потому что ты помнишь, какую модель у меня дома, а я тем временем расширил свою «лабораторию» и теперь использую Hap Mini + Hap ac Lite + RB951Ui-2HnD. Но твоя обратная связь очень важна и, как всегда, высоко ценится и уважается, спасибо ещё раз.