Страница 1 из 3

VLAN в мосту с физическим интерфейсом

Добавлено: 08 окт 2019, 13:19
dinosaur
Добрый день,

Потихоньку изучаю микротик, наткнулся тут на статью на вики - https://wiki.mikrotik.com/wiki/Manual:L ... _interface, в которой говорится что, в один бридж нельзя добавлять vlan и физические интерфейсы. У меня по Ether2 приходит vlan10, vlan20 и native, vlan10 нужно объединить с одним интерфейсом, vlan20 - с двумя другими. Для этого поднято два моста: bridge1 в который добавлен Ether3 и vlan10; bridge2 в который добавлены Ether4, Ether5 и vlan20, и все работало, пока не столкнулся с STP. Wiki говорит - что мост с vlan и физическим интерфейсом - грех, и нужно отказаться от этой практики и даже дан рецепт:

/interface bridge
add name=bridge1 vlan-filtering=yes
/interface bridge port
add bridge=bridge1 interface=ether2 pvid=10
add bridge=bridge1 interface=ether3
/interface bridge vlan
add bridge=bridge1 tagged=ether3 untagged=ether2 vlan-ids=10

Но проблема в том, что таким образом не получается добавить ether2 с другим PVID в bridge2 (этот интерфейс уже используется в bridge). Собственно вопрос - как быть в таком случае?

Re: VLAN в мосту с физическим интерфейсом

Добавлено: 08 окт 2019, 13:30
xvo
А зачем вы пытаетесь добавить ether2 ещё раз, если он уже там?

PVID - это значение для untagged фреймов - то есть для "native".
Так что тот кусок конфига, который вы приводите не согласуется с тем, что вы хотите получить.

У вас 10 должен быть tagged на 2 порту, untagged на 3.
20 tagged на 2, untagged на 4 и 5.
И 1 (native) - untagged на 2 и (видимо) на самом bridge - для чего то же вы его туда прокидываете?!

PVID должны быть установлены в 1 на самом bridge и на 2 порту.
И в 10 или 20 на остальных.

Re: VLAN в мосту с физическим интерфейсом

Добавлено: 09 окт 2019, 08:58
dinosaur
Вероятно я перемудрил, когда описывал пример, пытаясь притянуть его к своим реалиям, попробую еще раз объяснить. Вот так реализовано у меня сейчас:

первый бридж:
/interface vlan
add interface=ether2 name=VLAN100 vlan-id=100
/interface bridge
add name=bridge1
/interface bridge port
add interface=ether3 bridge=bridge1
add interface=VLAN100 bridge=bridge1

второй бридж
/interface vlan
add interface=ether2 name=VLAN200 vlan-id=200
/interface bridge
add name=bridge2
/interface bridge port
add interface=ether4 bridge=bridge2
add interface=ether5 bridge=bridge2
add interface=VLAN200 bridge=bridge2

То есть в каждом бридже присутствует и физический интерфейс, и vlanы, которые оба живут на ether2. Для каждого бриджа запущен DHCP сервер, который раздает адреса в разных подсетях. Вроде как работает, но согласно статье, на которую я ссылался выше, неправильно когда физический интерфейс и vlan находятся в одном бридже, и предлагается такое решение (как я его понял):

первый бридж:
/interface bridge
add name=bridge1 vlan-filtering=yes
/interface bridge port
add bridge=bridge1 interface=ether2 pvid=100
add bridge=bridge1 interface=ether3
/interface bridge vlan
add bridge=bridge1 tagged=ether3 untagged=ether2 vlan-ids=100

второй бридж
/interface bridge
add name=bridge2 vlan-filtering=yes
/interface bridge port
add bridge=bridge2 interface=ether2 pvid=200
add bridge=bridge2 interface=ether4
add bridge=bridge2 interface=ether5
/interface bridge vlan
add bridge=bridge2 tagged=ether4,ether5 untagged=ether2 vlan-ids=200

И соответственно добавить во второй бридж ether2 с другим pvid не получается. Ткните плиз носом в ту развилку, где мои мысли свернули на неверную дорогу.

Re: VLAN в мосту с физическим интерфейсом

Добавлено: 09 окт 2019, 09:31
xvo
dinosaur писал(а): 09 окт 2019, 08:58 И соответственно добавить во второй бридж ether2 с другим pvid не получается. Ткните плиз носом в ту развилку, где мои мысли свернули на неверную дорогу.
Второй бридж не нужен.
Все делается на одном.

Re: VLAN в мосту с физическим интерфейсом

Добавлено: 09 окт 2019, 09:38
xvo

Код: Выделить всё

/interface bridge
add name=bridge1 vlan-filtering=yes
/interface bridge port
add bridge=bridge1 interface=ether2
add bridge=bridge1 interface=ether3
add bridge=bridge1 interface=ether4
/interface bridge vlan
add bridge=bridge1 tagged=ether3,ether2 vlan-ids=100
add bridge=bridge1 tagged=ether4,ether2 vlan-ids=200
Только таким образом у вас доступа на саму машину по этим портам не будет.
Если так и должно быть и у вас где-то через другой порт доступ есть, то на этом все.
Если самому устройству нужен доступ в какой-то их этих vlan'ов то там ещё добавить надо.

Re: VLAN в мосту с физическим интерфейсом

Добавлено: 09 окт 2019, 10:06
dinosaur
xvo писал(а): 09 окт 2019, 09:31 Второй бридж не нужен.
Все делается на одном.
Как раздавать тогда ip адреса из разных диапазонов? Сейчас крутится два dhcp сервера, один на bridge1, второй на bridge2...

Re: VLAN в мосту с физическим интерфейсом

Добавлено: 09 окт 2019, 10:08
dinosaur
xvo писал(а): 09 окт 2019, 09:38

Код: Выделить всё

/interface bridge
add name=bridge1 vlan-filtering=yes
/interface bridge port
add bridge=bridge1 interface=ether2
add bridge=bridge1 interface=ether3
add bridge=bridge1 interface=ether4
/interface bridge vlan
add bridge=bridge1 tagged=ether3,ether2 vlan-ids=100
add bridge=bridge1 tagged=ether4,ether2 vlan-ids=200
Только таким образом у вас доступа на саму машину по этим портам не будет.
Если так и должно быть и у вас где-то через другой порт доступ есть, то на этом все.
Если самому устройству нужен доступ в какой-то их этих vlan'ов то там ещё добавить надо.
ага, спасибо, пошел ставить эксперименты. что нужно добавить для обеспечения доступа устройства в vlan?

Re: VLAN в мосту с физическим интерфейсом

Добавлено: 09 окт 2019, 11:59
xvo
Добавляете два vlan-интерфейса на бридже:

Код: Выделить всё

/interface vlan
add interface=bridge1 name=VLAN100 vlan-id=100
add interface=bridge1 name=VLAN200 vlan-id=200
Потом вешаете на них ip-конфигурацию (адреса, DHCP-сервера и т.д.)

И самое главное добавляете сам bridge в качестве tagged порта для обоих vlan'ов, в итоге та часть у вас так будет выглядеть:

Код: Выделить всё

/interface bridge vlan
add bridge=bridge1 tagged=ether3,ether2,bridge1 vlan-ids=100
add bridge=bridge1 tagged=ether4,ether2,bridge1 vlan-ids=200
P.s.: идеально, если все это делать подключившись через какой-нибудь другой порт, который все эти изменения не затрагивают, чтобы случайно себе доступ не обрубить.

Re: VLAN в мосту с физическим интерфейсом

Добавлено: 11 окт 2019, 10:03
dinosaur
Не, не выходит каменный цветок, не выдает DHCP сервер адреса клиентам на Ether3-Ether5. Такое ощущение что vlan, которые созданы в /interface vlan и vlan-ids, которые указаны в /interface bridge vlan это две большие разницы с точки зрения dhcp сервера. Выкладываю полный конфиг, прошу подсказать что не так?

Код: Выделить всё

# oct/11/2019 16:46:32 by RouterOS 6.45.6
# software id = DEBE-Q8VG
#
# model = RouterBOARD 750 r2
# serial number = 63BD05919C88
/interface bridge
add name=bridge1 vlan-filtering=yes
/interface vlan
add interface=bridge1 name=VLAN100 vlan-id=100
add interface=bridge1 name=VLAN200 vlan-id=200
/ip hotspot profile
set [ find default=yes ] html-directory=flash/hotspot
/ip pool
add name=pool100 ranges=10.10.100.2-10.10.100.254
add name=pool200 ranges=172.16.200.2-172.16.200.254
/ip dhcp-server
add add-arp=yes address-pool=pool100 bootp-lease-time=lease-time \
    bootp-support=dynamic disabled=no interface=VLAN100 name=dhcp100
add add-arp=yes address-pool=pool200 bootp-lease-time=lease-time \
    bootp-support=dynamic disabled=no interface=VLAN200 name=dhcp200
/interface bridge port
add bridge=bridge1 interface=ether2
add bridge=bridge1 interface=ether3
add bridge=bridge1 interface=ether4
add bridge=bridge1 interface=ether5
/interface bridge vlan
add bridge=bridge1 tagged=ether2,ether3 vlan-ids=100
add bridge=bridge1 tagged=ether2,ether4,ether5 vlan-ids=200
/ip address
add address=10.10.100.1/24 interface=VLAN100 network=10.10.100.0
add address=172.16.200.1/24 interface=VLAN200 network=172.16.200.0
/ip dhcp-client
add dhcp-options=hostname,clientid disabled=no interface=ether1
/ip dhcp-server network
add address=10.10.100.0/24 dns-server=10.10.100.1 domain=VLAN100 gateway=\
    10.10.100.1 netmask=24 ntp-server=10.10.100.1
add address=172.16.200.0/24 dns-server=172.16.200.1 domain=VLAN200 gateway=\
    172.16.200.1 netmask=24 ntp-server=172.16.200.1
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set ssh disabled=yes
set api disabled=yes
set api-ssl disabled=yes
/system clock
set time-zone-name=Asia/Vladivostok
P.S. У меня в голове пока не сложилось ясное понимание с tagged и untagged, и на мой взгляд правильно было бы так (к ether3-ether5 подключатся клиентские устройства):

Код: Выделить всё

/interface bridge vlan
add bridge=bridge1 tagged=ether2 untagged=ether3 vlan-ids=100
add bridge=bridge1 tagged=ether2 untagged=ether4,ether5 vlan-ids=200
P.P.S. Так попробовал тоже, результат не изменился. :(

Re: VLAN в мосту с физическим интерфейсом

Добавлено: 11 окт 2019, 11:30
xvo
Вы пропустили часть моего поста.

Вот это:

Код: Выделить всё

/interface bridge vlan
add bridge=bridge1 tagged=ether2,ether3 vlan-ids=100
add bridge=bridge1 tagged=ether2,ether4,ether5 vlan-ids=200
Надо изменить на вот это:

Код: Выделить всё

/interface bridge vlan
add bridge=bridge1 tagged=ether2,ether3,bridge1 vlan-ids=100
add bridge=bridge1 tagged=ether2,ether4,ether5,bridge1 vlan-ids=200
И все заработает.

Без этого ваши vlan-интерфейсы действительно висят в воздухе, без всякого доступа в нужные vlan'ы.