vlan+bridge+vrrp

Тема в разделе "Коммутация", создана пользователем Ivan, 24 сен 2015.

  1. Ivan

    Ivan Участник

    Здравствуйте.
    Есть одна очень интересная задача с дублирование всего и вся.
    Но прежде чем расписывать всю конфигурацию , есть 1 конткретный вопрос:
    вот есть микротик, и есть некий L3 коммутатор (может и не l3, но в данной лабе это именно он)
    У микрота допустим 2 порта ether2 и 3 , они заведены на свич чип(ether2-master) и плюс еще в бридж оба. На бридже адрес допустим 10.168.1.2/24 на этот бридж навешан vrrp интерфейс с адресом 10.168.1.254 (где сейчас второй vrrp не важно) и на этот vrrp навешаны несколько vlan интерфейсов (это которые с тегом кадр шлют). На коммутаторе тоже настроен транковый порт, допустим 25 в сторону микротика (vlan 101,102 tagged 25 как-то так). Т.е еще раз между микротиком и коммутатором транк.
    вешаем на vrrp еще 1 адрес 10.168.102.254 (это подсеть 102 влана например).
    Воткнем компутер в порт коммутатора, который в vlan 1 и получает по dhcp адрес шлюза 10.168.1.254
    Все ок, все пингуется. Делаем порт в 102 влане и все , финиш, трафик не в 1 влане между микротом и коммутатором (включал торч на 102 интерфейсе) не ходит, маков нет.
    Собстно вопрос: будут ли ходить тегированные фреймы между микротиком и коммутатором, если на микротике порт в свиче, тот в бридже, а тот в vrrp ?



    Реальная задача и конфигурация этой лабы гораздо больше, но пока такой локальный вопрос.
    Если не понятен конфиг, говорите, выложу полную картинку, но тогда тема переедет в маршрутизацию.
     
  2. Илья Князев

    Илья Князев Администратор Команда форума

    И имеем петлю в чистом виде.
    Грубо, у вас бридж, это программный свитч. т.е. имея 2 2-портовых свитча вы соединили их двумя аплинками.
     
  3. Ivan

    Ivan Участник

    пробовал и без бриджа и только бридж, все равно другие вланы не ходят.
    Да даже если петля, там везде stp и loop-protected включены, онако отключений портов не было.
     
  4. Ivan

    Ivan Участник

    тут вопрос ключевой что с вланом при бридже\свиче произойдет, он улетит в 2 порта сразу, на части раздробиться или то-то еще, они же не в бондинге.
     
  5. Илья Князев

    Илья Князев Администратор Команда форума

    Интересно, а зачем вы на VRRP вешаете VLAN-ы ?
     
  6. Ivan

    Ivan Участник

    а это дальнейшая часть истории=)
    пока остановимся на локальной задаче. Я знаю что на vlan нельзя повесить vrrp, но наоборот вроде можно.
     
    Последнее редактирование: 25 сен 2015
  7. Илья Князев

    Илья Князев Администратор Команда форума

    Я бы не стал вешать VLAN на VRRP. Я бы повесил их на основной интерфейс и, возможно, воспользовался скриптами на VRRP-интерфейсе на события on-master и on-slave
     
  8. Ivan

    Ivan Участник

    а если физ.интерфейсы в бридже? 2 и 3 например и микротик не ругается когда vlan на vrrp вешаешь , но кадры не ходят и неясно где ошибка.
    Для полноты картины вот картинка. Если не углубляться в философию зачем такое надо итд, вроде картинка как по учебнику. Смотрите, порты 2,3 на микротиках объеденены в свич (2 порт master), этот же 2-й порт в бридже и на него (бридж) навешан ip адрес какой-то (разные на разных микротиках), на этот бридж повешан vrrp , с адресом например 10.168.1.254/24 в 1 vlan-е.
    на L3 коммутаторах в 1 влане тоже некие адреса + адреса default GW для вланов (конечные устройства получают параметры сети по dhcp от микротиков), так же на этих коммутаторах default GW указан 10.168.1.254 (vrrp который).
    Так вот, если конечное устройство в 1 влане и ему передается default GW 10.168.1.254 , то все ок, любой обрыв,отказ и восстановление отрабатывается успешно. Но как только устаройство в влане например 102 получает default GW 10.168.102.1 (а он задан на обоих коммутаторах одинаково , и тут нас спасает stp), то начинается вакханалья. То пинги в пределах сети больше 1мс, и не обрабатывается возвраз одного из l3 свичей в работу, а вот обрыв, отказ обрабатывается успешно. Я пробовал просто повесить еще 1 ip на vrrp интерфейс , и для каждого влана указывать его шлюзом, но опять же почему не ходят другие вланы между микротиком и l3 свичем?
     

    Вложения:

    • mikrotik.jpeg
      mikrotik.jpeg
      Размер файла:
      52,2 КБ
      Просмотров:
      38
  9. Ivan

    Ivan Участник

    Добавлю, что на микротиках маршруты в сети этих вланов указаны как 2шт с разными дистанциями к ip коммутаторов в 1 влане соотственно.
     
  10. Илья Князев

    Илья Князев Администратор Команда форума

    Вы рискуете указав пару интерфейсов в VRRP встать на следующее.
    Если у вас интерфейсы отвалятся "крест на крест", то будет проблема.
    Правильно ставить в VRRP один интерфейс и крутить скрипты
     
  11. Ivan

    Ivan Участник

    проблема не очень навредит, интернеты будут. Т.к по stp все равно будет "активным" только 1 коммутатор, да будут оба микротика vrrp мастером, но т.к они друг про друга знать не будут, отсутствия интернета не будет.
    Но суть не в этом, почему при такой конфигурации не ходят другие вланы между микротиком и свичём? Может пробоема в том, что при объединении нескольких портов через свич на навешивании вланов на эту группу микротик просто не понимает толи во все порты одинаковый кадр отправить то-ли что-то еще, но при этом ничего красным не горит и ошибок нет.
     
  12. Ivan

    Ivan Участник

    попробовал создсть 2 отлельных vrrp на вторых и третьих физ.интерфейсах с переключением по скрипту. Да это частично решает проблему, но тогда не будет отрабатываться обрыв линка до конечного устройства, т.к маршрут может быть только на 1 адрес в одно время.
     
  13. vasilevkirill

    vasilevkirill Участник

    У меня похожая конфигурация, только коммутаторе в физическом стэке.
    И я в вашем случае убрал бы линк между микротиками а создал между коммутаторами, а vrrp на микротиках настраивал через этот линк
    Вы указали что на vrrp вешаете адрес 10.168.1.254/24, не знаю как у вас это работает, но на интерфейс VRRP можно вешать только /32, так как это псевдо интерфейс, и через него реально нечего не ходит, а ходит только через master для него.
    правильно ли я вас понял, что вы используете интерфейс vrrp как способ отключения петли? =), вы сказали на vrrp вешаете VLAN, а какой смысл так как VRRP это чистый L3.
    если вы хотите VRRP использовать в VLAN то создайте VLAN и уже на него вешайте VRRP

    почитайте внимательно статью http://habrahabr.ru/post/164873/ там используется способ VLAN over vrrp но с одной оговоркой, только для определения master маршрутизатора
     
    Илья Князев нравится это.
  14. Ivan

    Ivan Участник

    я вот сейчас понимаю, что если бы вместо "взрослых" L3 коммутаторов я поставил туда коммутаторы микротик, можно было бы спокойно там включить vrrp и все было бы ок. Но однако по надежности они не очень.
    физ. стека тоже нет.

    Между коммутаторами был линк изначально, но в нем отпала необходимость. Т.к коммутаторы видят друг-друга через микротики.
    Vrrp вообще не важно что на нем висит, он просто дает вирт. мак-адрес /24 отлично работает.
    Я вобщем разделил бридж на 2 разных физ.интерфейса и сделал по vrrp на каждый с одинаковым адресом и на него вланы , таки да кадры пошли, но опять же есть проблемы.
    Очень странное поведение микротиков , если вдруг первым включился бэкап vrrp и потом сразу мастер, то интернетов не будет до тех пор, пока физически не вкл-выкл порт на котором висит vrrp.
    пришлось добавлять скрипты с задержкой по времени.

    В принципе задача резервирования решается таким образом, но все равно не ясно почему это не работает через бридж\свич, а если у нас допустим не 2 коммутатора, а 4?
     
  15. vasilevkirill

    vasilevkirill Участник

    Давайте взглянем на проблему под другим углом.
    STP/RSTP - протокол поиска петель, с возможность отключения проблемного порта в зависимости от его стоимости.
    VRRP- Протокол для увеличения доступности маршрутизаторов.

    Логично предположить что STP/RSTP используется в тех местах где коммутируются L2 сети т.е коммутаторы.
    VRRP используется и активируется только тогда когда, один из маршуртизаторов не доступен(помер, не работает), суть VRRP захватить IP адрес и пробросить на реальный адрес.
    Чтобы вы не делали в вашем случае это не VRRP, а извращение (извините), если вы хотите наладить отказоустойчивость выберите один из вариентов:
    STP/RSTP - только на коммутаторах и VRRP на маршрутизаторах (предпочтительнее)
    или
    STP/RSTP - на коммутаторах и маршрутизаторах, баз VRRP.

    Вы говорите "а если у нас допустим не 2 коммутатора, а 4?"
    А если 40 коммутаторов, что вы будете делать? искать маршрутизатор с 80 портами + ISP?

    Вы кольцо должны делать на коммутаторах и для этого существует протокол STP, а для повышения доступности маршрутизаторов существует протокол VRRP, а вы пытаетесь смешать всё в одну кучу
     
  16. vasilevkirill

    vasilevkirill Участник

    Также если вы отходите от RFC , где нету ни слова про сеть CIDR/netmask , не ожидайте, что у вас будет работать как должно.
    Вот что происходит когда вы указываете маску на VRRP интерфейсе
    Код:
    [admin@MT-0000-AP5-RKO] > /ip address pr
    Flags: X - disabled, I - invalid, D - dynamic
    #   ADDRESS            NETWORK         INTERFACE                              
    0   1.1.1.1/24         1.1.1.0         bridge-Local                         
    1   1.1.1.2/24         1.1.1.0         vrrp1    
    Код:
    [admin@MT-0000-AP5-RKO] > /ip route pr
    Flags: X - disabled, A - active, D - dynamic,
    C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
    B - blackhole, U - unreachable, P - prohibit
    #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
    0 ADC  1.1.1.0/24         1.1.1.1         bridge-Local              0
    1  DC  1.1.1.0/24         1.1.1.2         vrrp1                     0
    как видите второй маршрут не работает, а должно быть


    Код:
    [admin@MT-0000-AP5-RKO] > /ip route pr
    Flags: X - disabled, A - active, D - dynamic,
    C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
    B - blackhole, U - unreachable, P - prohibit
    #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
    0 ADC  1.1.1.0/24         1.1.1.1         bridge-Local              0
    1 ADC  1.1.1.1/32         1.1.1.1         vrrp1                     0
     
    Последнее редактирование: 5 окт 2015
  17. Ivan

    Ivan Участник

    так и сделано, на микротиках vrrp, на коммутаторах mstp ,
    изначально я пробовал просто сделать бридж из портов которые в локалку смотрят и на весить на все это дело 1 vrrp адрес, тогда не важно сколько будет коммутаторов, хоть 2, хоть 22 . Но поведение было очень странным, вроде и работает, но не всегда.
    С адресом, я вас не верно понял, да там можно без маски указать, но результат не меняется.
     
  18. vasilevkirill

    vasilevkirill Участник

    не могу вас понять, почему вы не хотите сделать так:
    • Создаёте bridge ИЛИ swith(CPU)(что то одно) на микротике. = далее bridge
    • вешайте на bridge необходимые vlan
    • Приписывайте на VLAN адрес и маску
    • Для каждого VLAN создавайте VRRP
    • на VRRP поставьте адрес в тойже подсети что и VLAN, но и укажите \32
    • Так же не забудьте про приоритет на VRRP с двух сторон
    Также напоминаю, что адреса на VRRP интерфейсах должны быть одинаковы, если вы добавляете несколько адресов на один интерфейс VRRP то и на противоположенном интерфейсе должна быть идентичная настройка.

    Я могу ошибаться, но по моему MirkoTik не поддерживает mstp, можно попробовать не создавать bridge на ethernet интерфейсах, а снять с каждого интерфейса по одинаковому vlan засунуть их в bridge и настроить на бридже rstp. По идеи это и будет mstp, но необходимо тестировать.
     
  19. vasilevkirill

    vasilevkirill Участник

    Необходимо учитывать, что MSTP, хоть и есть на него спецификация, но каждый вендор лепит то чего сам хочет
     
  20. Ivan

    Ivan Участник

    да, работает, я почему-то на 100% был ьуверен , что нельзя на vlan вешать vrrp , видимо эта статья помешала http://silverghost.org.ua/2009/09/23/podnimaem-vrrp-na-dvux-mikrotikax/
    а так да все заработало и это хорошо, спасибо.
    а mstp и rstp совместимы насколько я помню, да и по факту работает.