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

Раздел для тех, кто начинает знакомиться с MikroTik
Правила форума
Как правильно оформить вопрос.
Прежде чем начать настройку роутера, представьте, как это работает. Попробуйте почитать статьи об устройстве интернет-сетей. Убедитесь, что всё, что Вы задумали выполнимо вообще и на данном оборудовании в частности.
Не нужно изначально строить Наполеоновских планов. Попробуйте настроить простейшую конфигурацию, а усложнения добавлять в случае успеха постепенно.
Пожалуйста, не игнорируйте правила русского языка. Отсутствие знаков препинания и неграмотность автора топика для многих гуру достаточный повод проигнорировать топик вообще.

1. Назовите технологию подключения (динамический DHCP, L2TP, PPTP или что-то иное)
2. Изучите темку "Действия до настройки роутера".
viewtopic.php?f=15&t=2083
3. Настройте согласно выбранного Вами мануала
4. Дочитайте мануал до конца и без пропусков, в 70% случаев люди просто не до конца читают статью и пропускают важные моменты.
5. Если не получается, в Winbox открываем терминал и вбиваем там /export hide-sensitive. Результат в топик под кат, интимные подробности типа личных IP изменить на другие, пароль забить звездочками.
6. Нарисуйте Вашу сеть, рисунок (схему) сюда. На словах может быть одно, в действительности другое.
dinosaur
Сообщения: 19
Зарегистрирован: 08 окт 2019, 12:57

Добрый день,

Потихоньку изучаю микротик, наткнулся тут на статью на вики - 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). Собственно вопрос - как быть в таком случае?


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

А зачем вы пытаетесь добавить 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 на остальных.


Telegram: @thexvo
dinosaur
Сообщения: 19
Зарегистрирован: 08 окт 2019, 12:57

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

первый бридж:
/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 не получается. Ткните плиз носом в ту развилку, где мои мысли свернули на неверную дорогу.


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

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


Telegram: @thexvo
xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

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

/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'ов то там ещё добавить надо.


Telegram: @thexvo
dinosaur
Сообщения: 19
Зарегистрирован: 08 окт 2019, 12:57

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


dinosaur
Сообщения: 19
Зарегистрирован: 08 окт 2019, 12:57

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?


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Добавляете два 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.: идеально, если все это делать подключившись через какой-нибудь другой порт, который все эти изменения не затрагивают, чтобы случайно себе доступ не обрубить.


Telegram: @thexvo
dinosaur
Сообщения: 19
Зарегистрирован: 08 окт 2019, 12:57

Не, не выходит каменный цветок, не выдает 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. Так попробовал тоже, результат не изменился. :(


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Вы пропустили часть моего поста.

Вот это:

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

/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'ы.


Telegram: @thexvo
Ответить