Jump to content

Mikrotik: VLAN'ы (tagged, untagged) и маршрутизация на одном устройстве


Recommended Posts

Posted

Правильно ли я понимаю, что только на CRS железках, где доступна команда interface ethernet switch ingress-vlan-translation можно получить wire transfer speed между тэгированными и нетэгированными портами (т.к. нетэгированные порты не имеют VLAN ID в пакетах)? Настройка switch vlan id add if missing не решает проблему.

 

Если есть необходимость на одной железке иметь и тэгированные (trunk) и не тэгированные (access) порты, то нетэгированные порты нужно отвязать от мастер порта (прощай высокая скорость внутри VLAN'a), и распределить между бриджами (VLAN10-Bridge, VLAN-20-Bridge, VLAN-30-Bridge), создать интерфейс вида VLAN10-UnTag, привязать его к VLAN10-Brigde, и интерфейс VLAN10-Tag (привязать его к мастер-порту), далее к каждому VLANXX-Tag привязать IP адрес.

 

Т.о. тэгированные порты останутся внутри свича и трафик между ними будет ходить напрямую, минуя проц, но так же в них будет попадать трафик от нетэгированных портов (через проц), и все они будут видеть IP адреса назначенные на VLAN интерфейсы.

 

Или я ошибаюсь?

post-7534-054476600 1424202820_thumb.jpg

Posted

/interface vlan
add name=vlan99 vlan-id=99 interface=ether2
/ip address
add address=192.168.88.1/24 interface=vlan99 network=192.168.88.0

 

А как быть если свич чипов несколько и в обоих нужен одинаковый IP? Заводить мастер-порты в бридж и цеплять VLAN interface на него????

 

И попутно, если на роутерборде часть портов заведены через свич, часть напрямую к CPU, получить поддержку VLANов на портах без свича возможно?

Posted

Заводить мастер-порты в бридж и цеплять VLAN interface на него?

Да.

 

если на роутерборде часть портов заведены через свич, часть напрямую к CPU, получить поддержку VLANов на портах без свича возможно?

<Interface VLAN> и <Switch VLAN> из общего имеют только .1q, первый L3 c инкапсуляцией в указанный vlanid, второй L2, обычный vlan. Единственный вариант объединения - bridge.

Posted

Не соображу, как без свича (бриджами) сделать такой конфиг:

порт ether1 (на котором несколько vlan id 10, 20, 30), и порт ether2 untagged (на котором только один vlan id 10).

 

Пробовал:

 

interface bridge add name=bridge-10-20-30

interface bridge add name=bridge-10

 

interface vlan add name=vlan10 vlan-id=10 interface=ether1

ip address add address=10.0.10.1/24 interface=vlan10

 

interface vlan add name=vlan20 vlan-id=20 interface=ether1

ip address add address=10.0.20.1/24 interface=vlan20

 

interface vlan add name=vlan30 vlan-id=30 interface=ether1

ip address add address=10.0.30.1/24 interface=vlan30

 

interface vlan add name=vlan10_untagged vlan-id=10 interface=ether2

 

interface bridge port add bridge=bridge-10-20-30 interface=ether1,vlan10,vlan20,vlan30

interface bridge port add bridge=bridge-10 interface=ether2,vlan10_untagged

 

при этом ether1 пингует 10.0.10.1, но ether2 не пингует 10.0.10.1

Posted

interface vlan add name=vlan10_untagged vlan-id=10 interface=ether2

Этот интерфейс вам не нужен.

 

ether2 с 10 вланом соединяется проще:

interface bridge port add bridge=<ваше имя бриджа, например bridge_vlan10> interface=ether2,vlan10

 

interface bridge port add bridge=bridge-10-20-30 interface=ether1,vlan10,vlan20,vlan30

У вас интерфейсы 10,20,30 и так в привязке к ether1 созданы, эта строка совершенно лишняя.

 

P.S>С некоторыми оговорками можно посмотреть сюда

Posted (edited)

interface bridge port add bridge=bridge-10-20-30 interface=ether1,vlan10,vlan20,vlan30

У вас интерфейсы 10,20,30 и так в привязке к ether1 созданы, эта строка совершенно лишняя.

А как потом объединять тэгированные порты с разными набором VLANов? Например, на ether5 будет vlan10 и vlan20, на ether6 vlan30 и vlan20 и т.д.?

 

Небольшое отступление от темы:

 

1) Это нормально, что на чипе Atheros8227 отсутствует возможность одновременного использования тэгированных и нетэгированных портов?

Поясню, во-первых в switch port default vlanid=auto не поддерживается, во-вторых, если для switch cpu выставить vlan header leave as is (или add if missing) - то cpu становится виден для тэгированных пакетов, но перестает быть виден для нетэгированных, пока не будет включено always strip и наоборот. Притом даже отвязка порта от мастер порта и помещение его в бридж не дает доступа к CPU, т.е. на уровне свича надо решить, или нетэгированные пропускаем к cpu или только тэгированные.

 

При этом внутри свича нормально уживаются и те и другие, и даже с портов 8327 до портов 8227 (через бридж) пинги ходят, но доступ с портов 8227 к CPU (привязан ли адрес к ethernet интерфейсу, мастер порту, бриджу, VLAN'у) работает по указанной выше логике, либо только для тэгированных пакетов, либо только для нетэгированных. Такова ожидаемая логика его работы или это баг (проверено на 6.23 и 6.27)? На 8327 таких проблем нет.

 

2) Можно ли настроить правила switch rule таким образом, чтобы запретить все соединения (на всех портах) и разрешить только определенные? С запретом все просто, ставится пустой new dest ports, а вот чтобы при этом обрабатывались разрешающие правила, нужно так же для них указать new dest ports, но тут надо либо предугадать все возможные сценарии прохождения трафика между портами, либо указать все порты, но тогда свич будет работать как хаб... Может есть какой-то workaround?

Edited by amper
Posted

А как потом объединять тэгированные порты с разными набором VLANов? Например, на ether5 будет vlan10 и vlan20, на ether6 vlan30 и vlan20?

По ссылке ходили? Объединяются не порты, а интерфейсы vlan. Но если честно - пытаться делать из роутера коммутатор затея так себе. А остальные вопросы скорее к qualcomm.com и mikrotik.com

Posted

Мне вот интересно, а почему не используете функции коммутации свитч-чипа. В пределах одного чипа - будет работать в на скорости порта. Гуглите талмуд с описанием меню Switch.

Как-то пришлось это делать, когда под рукой не оказалось небольшого свитча, так и стоит микротик уже года 3.

 

http://wiki.mikrotik.com/wiki/Manual:Switch_Chip_Features

Posted

По ссылке ходил, но там не очевидно, методом тыка пришел к правильному решению, вырви мозг конечно работа с VLAN'ами...

 

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

Posted (edited)

По ссылке ходил, но там не очевидно, методом тыка пришел к правильному решению, вырви мозг конечно работа с VLAN'ами...

 

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

У них их 2-3-4

Edited by SyJet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.