Все тот же товарищ, что интересовался резервированием на микротиках, не пользы ради, но любопытства для - интересовался, увидев, зачем я "цепляю" интерфейс vlan за другой интерфейс vlan?! По-моему, хорошая идея для написания краткой статьи на эту тему. Материалы, конечно, есть в Сети и на вики от Микротик, но видимо, этого недостаточно.
Я просто приведу несколько возможных конфигураций, поясню их и расскажу для чего можно применять. Думаю этого будет достаточно, для понимания вопроса, который я озвучил выше.
Если сделать так:
/interface bridge add name=bridge1 protocol-mode=none
/interface bridge port add bridge=bridge1 interface=ether2
/interface bridge port add bridge=bridge1 interface=ether3
То весь трафик будет прозрачно пропускаться между ether2 и ether3, "как просто провод". Область применения этого думаю и так понятно.
А если так:
/interface bridge add name=bridge1 protocol-mode=none
/interface bridge port add bridge=bridge1 interface=ether2
/interface bridge port add bridge=bridge1 interface=vlan1
То при направлении vlan1 -> ether2 метки (tag) снимаются, в обратную сторону трафик помечается. Условно, можно сказать, используя терминологию cisco - ether2 в режиме access.
При такой конфигурации vlan1 обязательно должен быть "прицеплен" за какой либо ether, например ether1:
/interface vlan add name=vlan1 vlan-id=10 interface=ether1
Таким образом, входящий трафик в ether2 тэгируется (vlan id 10) и уходит через ether1. Иными словами - ether 1 в режиме trunk.
Применение этого тоже просто и распространено, например на каком-то участке сети, вам необходимо завернуть некий трафик в vlan или наоборот - достать его оттуда. Пропускаете транк через микротик, попутно "разворачивая" один из vlan.
Приведу для такой схемы пример конфигурации:
/interface bridge add name=bridge-trunk protocol-mode=none
/interface bridge port add bridge=bridge-trunk interface=ether2
/interface bridge port add bridge=bridge-trunk interface=ether3
/interface vlan add name=vlan201 vlan-id=201 interface=ether2
/interface bridge add name=bridge-access protocol-mode=none
/interface bridge port add bridge=bridge-access interface=ether4
/interface bridge port add bridge=bridge-access interface=vlan201
В этом примере,
ether2 - uplink(trunk), например перед ним cisco catalyst:
!
interface FastEthernet0/10
description -- to-ether2-mikrotik
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 201-210
switchport mode trunk
spanning-tree portfast
no cdp enable
!
ether4 - туда отдается трафик абоненту, под которого используется 201 vlan id
ether3 - дальше в сеть.
Если потребуется выудить, скажем, 203 vlan id, далаем все тоже самое, но в другой, свободный ether или, кстати, в eoip туннель - так тоже можно.
Еще можно сделать такую конфигурацию:
/interface bridge add name=bridge-map protocol-mode=none
/interface bridge port add bridge=bridge-map interface=vlan201
/interface bridge port add bridge=bridge-map interface=vlan401
Я не стал писать в этом примере "создание" vlan201 и vlan401, предполагаю, что это и так понятно.
Это vlan mapping, когда нужно сменить vlan-id. Менять его может потребоваться на границе двух сегментов сети, когда приходящий vlan id уже используется в другом сегменте сети.
Но mapping лучше использовать не часто, это усложняет диагностику проблем, например. Лучше для таких случаев, как я привел в пример выше, использовать Q-n-Q:
/interface eoip add name=eoip_transport local-address=1.1.1.1 remote-address=2.2.2.2 tunnel-id=3333
Представим, что у нас есть какая-то среда, в которой проблематично вланы протягивать, но нам очень-очень нужно.
/interface vlan add name=v3333 vlan-id=3333 interface=eoip_transport
а теперь представим, что у нас в разных сегментах сети (между которыми eoip туннель) есть пересекающиеся vlan id и нам надо через сторону 2.2.2.2, куда-то там еще...
/interface vlan add name=v201 vlan-id=201 interface=v3333
/interface bridge add name=bridge1 protocol-mode=none
/interface bridge port add bridge=bridge1 interface=v201
/interface bridge port add bridge=bridge1 interface=ether2
Должен отметить, что начиная с версии 6.41 RouterOS есть изменения по конфигурированию всего этого дела, но они еще не осели в моей памяти, а пишу я примеры по памяти, поэтому они слегка устаревшие, но рабочие.
И простите за такую схему =) (мне схемы рисовать не приходится, это делают за меня, но если подскажет кто хороший инструмент под linux для создания схем - буду рад использовать в следующих статьях).