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

VLAN между RB и D-Link

Добавлено: 22 июл 2025, 13:25
daniel0
Доброго времени суток, форумчане!



Прошу помощи разобраться с VLAN'ами.

Я совсем не гуру в Mikrotik, но и не детский сад. Много чего повидал на своём веку, часто делал на них базовые L2+L3+firewall, в т.ч. с мангалами, но вот как-то работать с VLAN'ами не приходилось. И вот - застрял как пацан. Стыдно. :ny_tik:

Помогите избавиться от лукавого и направьте на путь истинный.



Есть свич D-Link DGS-1210-24. Назовём его S1. Казалось бы, при чем тут D-Link на этом форуме? Аплинком висит роутер Mikrotik RB750Gr3 с ROS v6.49.19. Пусть будет R1.

Между ними организован Bonding на двух Eth портах, по D-Link'овски - LAG, причём, Static без всяких там LACP (вроде бы нет смысла в простой схеме). С Bonding/LAG тоже есть некоторые нюансы, но это не главное. Позже спрошу либо сам добью ситуацию.



Задача разбить сеть на VLAN'ы по группам оборудования на S1, а роутер R1 использовать как L3, рулить маршрутами и фильтрами между VLAN'ами, ну и плюсом для выхода в тырнет. Некоторые VLAN'ы будут ходить везде, некоторые только друг к другу в гости. Ниже за S1 позже появятся еще свичи, подцепленные тегированными портами. В будущем задачи L3 и выхода в WAN будут разделены на разные железки, обе Mikrotik, но пока сеть не выросла, пусть корячатся на одном R1.

Вроде бы, выглядит вполне просто. Однако, хренушки... :ne_vi_del:



Таблица VLAN плановая (используются ID 10хх):
01 по умолчанию (не будет использоваться)
06 серверы
07 основной телеком (АТС)
08 крупные МФУ
11 десктопы, ноутбяки, мелкие МФУ
12 абонентский телеком (телефоны)
21 СКУД
22 CCTV
31 тестовая зона, лаба для экспериментов
99 мёртвый (для неиспользуемых портов)

Что сделано на текущий момент - см. схему.
Изображение

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



Список по портам свича S1 (дополнение к схеме, если текстом проще читать):

eth01: tagged 06, 07 (будет сервер с виртуалками)
eth02: tagged 06, 07 (виртуалки с VLAN ID на порту, физически на одной машине)
eth03: untagged 99 (заглушка)
eth04: untagged 99 (заглушка)
eth05: untagged 07 (будет АТС)
eth06: untagged 07 (будет шлюз GSM)
eth07: untagged 08 (МФУ)
eth08: untagged 08 (будет МФУ)
eth09: untagged 11 (ноут)
eth10: untagged 01 (default - это дыра на случай коллапса)
eth11: untagged 01 (default - это дыра на случай коллапса)
eth12: untagged 12 (будет телефон)
eth13: untagged 21 (будет СКУД)
eth14: untagged 21 (будет СКУД)
eth15: untagged 22 (будет видеорег)
eth16: untagged 22 (запасной)
eth17: tagged 31 (торчит роутер Mikrotik RBD52G-5HacD2HnD, пока просто торчит)
eth18: tagged 31 (запасной)
eth19: tagged ** (все VLAN, аплинк LAG к R1)
eth20: tagged ** (все VLAN, аплинк LAG к R1)
eth21: tagged * (некоторые VLAN, даунлинк LAG к будущему S2)
eth22: tagged * (некоторые VLAN, даунлинк LAG к будущему S2)
eth23: untagged 99 (заглушка)
eth24: untagged 99 (заглушка)
sfp21: не используется
sfp22: не используется
sfp23: не используется
sfp24: не используется

Скрин веб-морды S1.
Изображение

Список по портам роутера R1 (дополнение к схеме, если текстом проще читать):

eth01: wan1 (временно отсутствует)
eth02: wan2 (временно отсутствует)
eth03: lan1 (bon1)
eth04: lan2 (bon1)
eth05: lanR (резервный доступ, без бриджа, вообще голый, если сломаем вообще все)

Доступ наружу временно через LTE. Тут всё робит, проблем нет. Это мая уметь. Многа раз уметь.

На свиче S1 всё поделено на VLAN'ы. Пока Management VLAN не включён. Доступ есть с любого порта. На всякий случай порты 10,11 оставлены в VLAN1 по дефолту. Если что, через них коннектимся и вертаем всё в зад.

Порты 19+20 на S1 объединены в static LAG (port trunking). Также, есть LAG для 21+22 и 23+24, но к ним пока ничего не подключено, поэтому игнорируем.

Эти порты 19+20 на S1 воткнуты шнурками в порты 3+4 на R1, где организован bonding с параметрами 802.3ad, L2, ARP. Назовём его bon1. Я так понимаю, это тот же Static LAG в интерпретации D-Link'а. Работает. Пока не начинаю прикручивать VLAN'ы вообще всё идеалити, даже пинги <1ms.

На bon1 повешены интерфейсы VLAN с номерами 06,07,08,11,12,21,22,31. Дефолтный 01 и заглушка 99 не повешены, потому что не надо.

А вот дальше момент, который мне не совсем понятен. :wo)(ll:

Сижу я на ноуте 10.1.1.199/24 в порту 09 на S1, то бишь в untagged 11. Свич S1 - 10.1.1.11/24. Роутер R1 - 10.1.1.2/24 (адрес на бридже).

Вариант 1. Если у меня на R1 в home-бридже, не важно с какой целью, висит сам bon1, то по L3 доступа нет - логично, ведь адрес на бридже, а я на vlan-интерфейсе, нет вопросов, но... иногда начинает кувыркаться подключение WinBox по MAC'у. Ему-то какая разница? В конфиге Tools / MAC Server доступ разрешен с all. Причем, иногда пол-дня может всё ОК, потом снова хряпс! А иногда потеря линка каждые 5-10 секунд. Я подозреваю, что дело может быть в bonding - он кувыркается, но по какой причине? RSTP?

Вариант 2. Если на R1 в home-бридже собрать vlan-интерфейсы и выкинуть bon1, то по L3 я роутер вижу, но...

1) возникает постоянный трафик на всех vlan-интерфейсах одновременно - подозреваю, что это нормально - видимо, как минимум, ARP гоняет да и много чего еще не нужного? (см. скрин interface+bridge).
Изображение

2) возникает потеря пакетов, причем, что количество, что время нормы/потери, что длина серии потери - хаотичны, да и доступ по MAC'у есть, но кувыркается в полном соответствии с потерей пакетов (см. скрин параллельного пинга до S1, R1, Srv1, Prn1).
Изображение

3) После включения всей схемы пинги между мной и R1 идут с потерями условно 1%, а до сервера (порт 02 tagged 06 на S1) и до МФУ (порт 07 untagged 08 на S1) пинги вообще начинают идти минут только через 3-7. Иногда могут снова пропасть на какое-то время (замер - хаотично). При этом, пинги до S1 идут 100% без потерь. Ну, ежу понятно, что дело в R1 так как он рулит, но... в чём беда? Т.е. если бы он не знал маршрут - вообще бы пинги не шли. А они как бы идут, но не сразу. Неужто ARP не может найти лошадь в стойле?

Кстати, на скрине с потерей пингов еще лайтовая ситуация. Иногда теряется каждый второй. Потом опять оп-па лучше стало! Но когда пинг есть, серия или единичный, он всегда в пределах 1-3ms, а CPU на R1 всегда почти на нуле.

Прошу не бить по голове за то, что пока IP-адресация по VLAN'ам не раскидана. Собственно, оно же и так должно как-то пыхтеть. Возможно, будет выделено несколько /24-х, а может быть единая /24-я и каждый VLAN в ней в /26 или /27. Не суть. Пока экспериментируем.

Я не говорю, что мне надо первый или второй вариант. Мне просто хочется простыми советскими словами понять - почему происходит то, что происходит. Ну, или получить ремня от отца за неправильную настройку - но тоже с пояснениями. Это первое.

Ну, и второе - собственно, а как правильно?

А третье - чем рулить/фильтровать? Таки IP/Firewall или Bridge/Filters?

Кучу тем прочитал про Mikrotik/VLAN, но вообще ни разу не нашел ничего применительно к моей ситуации, когда мы всё тегируем и транкуем в одну сторону между S1 и R1. Обычно все статьи касаются как сделать VLAN'ы на самом MT в качестве свича.

Что я дурак - даже не сомневаюсь. Опыта в Mikrotik у меня мало. Вот когда лет 20 я с ними провожусь, тогда позволю себе сказать иное.

В общем, жду. Сижу тут скромненько в углу. Буду благодарен за подсказки.

Re: VLAN между RB и D-Link

Добавлено: 23 июл 2025, 13:07
karton
А зачем вы по вашему описанию засунули VLAN интерфейсы в bridge? У вас в bonding приходит тегированный трафик, создаём сабинтерфейсы (где как мастера указываем bonding) где снимаем эти метки (т.е. VLAN интерфейсы), назначаем на эти интерфейсы адреса и всё, dhcp лепим уже на VLAN интерфейс. На bonding адрес можно не вешать, но если сделать он будет работать как native vlan, в него попадёт весь нетегиррованный трафик. Правила делаем через IP Firewall. Но вот по поводу проблем с потерей пакетов не подскажу, но повторюсь что схема с VLAN интерфейсами находящимися в bridge неадекватна, не уверен, но думаю при этом может вообще трафик спокойно перелетать из влана во влан в обход IP Firewall т.к. в бридже они уже без меток, и получают их уже на выходе из интерфейса.

Re: VLAN между RB и D-Link

Добавлено: 23 июл 2025, 14:48
daniel0
karton писал(а): 23 июл 2025, 13:07 А зачем вы по вашему описанию засунули VLAN интерфейсы в bridge?
А как ещё ребёнку познавать мир? Летим на велике, вписываемся в дерево. И то не с первого раза дойдет. Нужны 2-3 дерева. :-)
karton писал(а): 23 июл 2025, 13:07 назначаем на эти интерфейсы адреса и всё, dhcp лепим уже на VLAN интерфейс
Планировал к этому варианту перейти, так как много нагуглил в этом же русле, но было интересно понять, почему оно ведёт себя так в моей ситуации.
karton писал(а): 23 июл 2025, 13:07 На bonding адрес можно не вешать, но если сделать он будет работать как native vlan, в него попадёт весь нетегиррованный трафик.
Интересная мысль. Попробую. Но в итоговой схеме так не будет, чтобы вообще у нетегированного трафика не было шансов добраться до R1.
karton писал(а): 23 июл 2025, 13:07 Правила делаем через IP Firewall.
Тогда встаёт вопрос: не устанет ли CPU все это обрабатывать? Поднять правила VLAN-to-VLAN в самый верх - это само собой. По расчетам трафик не должен быть очень большой, но всё же.
karton писал(а): 23 июл 2025, 13:07 повторюсь что схема с VLAN интерфейсами находящимися в bridge неадекватна, не уверен, но думаю при этом может вообще трафик спокойно перелетать из влана во влан в обход IP Firewall т.к. в бридже они уже без меток, и получают их уже на выходе из интерфейса.
Полностью поддерживаю. Схема неадекватна. И оно совершенно точно проскочит мимо IP Firewall, потому что внутрибриджовое в него не попадает, если там галочку не поставить (так написано в мануале). Однако, академический интерес остался. Молодой 41-летний мозг жаждет познания. Вопросы типа почему кувыркается доступ по MAC остались открытыми.

Завтра реализую схему в IPA+DHCP на VLAN'ах. Пока без Firewall. Помониторю стабильность линка.

Re: VLAN между RB и D-Link

Добавлено: 24 июл 2025, 09:40
daniel0
Итак, в R1 все VLAN'ы на бондинг, в бридже никого нет, каждый интерфейс сам по себе. Адрес 10.1.1.2/24 висит на интерфейсе vlan11-work. DHCP пока не нужен.

Изображение

Сижу я на ноуте 10.1.1.199/24 в порту 09 на S1, то бишь в untagged 11. Свич S1 - 10.1.1.11/24.

Вижу ту же непонятную картину. Пинг с 199 на 2 идёт с потерями. Пинг с 2 на 199 идёт тоже с потерями.

Изображение
Изображение

Дело было не в бобине? :du_ma_et:

Я понимаю как сделать разную адресацию на интерфейсах. Также понимаю, что можно и единую, но тогда состряпать херню и заморочиться в routes. Но пока это вообще не важно. Потери пакетов - вот что важно.

Фокус в том, что как только я отключаю VLAN'ы, вешаю адрес на бридж, сую свой толстый бондинг в бридж, на свиче вываливаюсь из VLAN'а в дефолт - пинги идут стабильно по часам как служба в церкви. Потери 0% по всем направлениям.

Может дело всё-таки в бондинге? Например, оно периодически путается между портами, входящими в бондинг. Может быть такое? Или VLAN категорически противопоказан конкретно для этой модели, ибо не справляется. Хотя при таком малом трафике (выше 5 Mbps не скачет) маловероятно. Куда копать, сограждане?

Re: VLAN между RB и D-Link

Добавлено: 31 июл 2025, 12:03
daniel0
Сограждане!

VLAN раскиданы как положено. В бридже никого нет.
На каждом VLAN свой IP и DHCP. Все сидят в подсетях /27.
Маршруты Mikrotik сам состряпал согласно установленным на VLAN'ах адресам.
Все маршруты работают, всё ОК было бы, но...

Результат тот же!

Проведено множество тестов:
1. если VLAN'ы на bonding из двух Ethernet'ов, имеем хаотические потери пинга;
2. если bonding без VLAN'ов, потерь нет;
3. если VLAN'ы на первом из двух Ethernet'ов, потерь нет;
3. если VLAN'ы на втором из двух Ethernet'ов, потерь нет.

В общем, шиза начинается, когда Bonding+VLAN.
Заменить свич S1 D-Link DGS-1210-24 мне нечем для теста.
Заменить роутер R1 Mikrotik RB750Gr3 могу только таким же.
Есть его второй брат-близнец, но они из одной партии, если там по железу что - не будет разницы.

Any ideas? Как найти причину? Как убедиться, что дело в физических возможностях устройств (свич или роутер), а не в настройках? Wireshark умею, но хрен там что поймёшь на уровне Ethernet. А выше уровнем всё прекрасно бегает, пока не случается эта хаотичная потеря пинга (через секунду-две всё снова бегает).

Re: VLAN между RB и D-Link

Добавлено: 31 июл 2025, 12:53
mafijs
https://cdn.mikrotik.com/web-assets/pro ... 161117.png
Bonding+VLAN ради эксперимeнта на eth3 и eth5 попрбовать следует

Re: VLAN между RB и D-Link

Добавлено: 04 авг 2025, 09:47
daniel0
mafijs писал(а): 31 июл 2025, 12:53 https://cdn.mikrotik.com/web-assets/pro ... 161117.png
Bonding+VLAN ради эксперимeнта на eth3 и eth5 попрбовать следует
Вот я дурья башка! Почему мне это не пришло в голову?! @mafijs, very special thanks за идею.

Проблему это не решило, но результат интересный. :co_ol:

Попробовал eth3+eth5 и eth2+eth4. Если я правильно читаю схему - это одинаковый эксперимент, но на разных шинах 1Gbps. В этих двух экспериментах результат одинаковый.

Количество пропадающих пингов сильно сократилось. В десятки раз. Однако, проблема не ушла полностью. Где-то раз в 30-90 секунд всё-таки 1 пинг проваливается. Но если раньше на eth3+eth4 это было в серию по несколько пингов подряд да и с интервалом 15-30 секунд, то сейчас реально только 1, не больше.

Но появилась другая интересная штука. :du_ma_et:

Пингую 3 узла одновременно: роутер R1 на IP в VLAN 2, роутер R1 на IP в VLAN 11, свич S1 на IP в VLAN 2. Сам сижу на свиче в VLAN 11.

Так вот, в 99% случаев, если пинг провалился, то на всех одновременно. Но иногда, в 1% случаев, проваливается БЛИЖАЙШИЙ ко мне IP на R1 в VLAN 11, а остальные ровно в этот же момент спокойно продолжают пинговаться. Эта ситуация тоже только на 1 пинг - дальше всё ОК.

Кстати, заодно попробовал эксперимент с arp=reply-only и статическими записями. Почему-то мне подумалось, что это может влиять. Результат отрицательный. Никаких изменений в поведении.

И пока писал этот ответ - смотрю вторым глазом на втором мониторе, а провал пингов снова немножко усилился, хотя да прошлого печального состояния очень далеко. Т.е. похоже, что проблема эта плавающая. Хотя нагрузки на роутере почти никакой на текущий момент. Буквально пара ноутбуков, 1 МФУ, 1 сервер. Из них в тырнет лезут только ноутбуки. Опппп-па! Вот опять провалы пинга почти исчезли надолго. Секунд на 180.