Queue tree for Bridge

Тема в разделе "Вопросы начинающих", создана пользователем kom_a_ru, 4 май 2019.

  1. kom_a_ru

    kom_a_ru Новый участник

    Добрый день!

    При настройке регулирования траффика для пользователей столкнулся с одной проблемкой. А именно - построено queue tree для пользователей, в MAngle все пакеты маркируются, по статистике для данного айпишника вижу. Тоже самое мне говорят и Connections, где четко видно маркировка пакетов. Когда доходит дело до Queue Tree, основным родителем для траффика где указан мост (Bridge-Local), пакеты как корова языком слизывает. Все галочки на Bridge в разделе Setting установлены. Такая ж ситуация повторяется, если в качестве интерфейса указывается один из интерфейсов, входящих в мост. Если ж брать отдельно независимый интерфейс, то все прекрасно работает. Что может быть неправильно и как правильно надо настраивать Queue Tree именно для мостов?
     
  2. Илья Князев

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

    FastTrack не включен?
     
  3. kom_a_ru

    kom_a_ru Новый участник

    НЕт, не включен. Все делал для одного интерфейса, все работало прекрасно. Потом вместо интерфейса решил поставить мост. В Mangle все маркируется, статистика по пакетам показывает, что пакет идут. А в Queue Tree на мосте нули (такая ж картина, если в качестве приемника указаны не мот, а один из интерфейсов этого моста). При этом в ветке Upload в том ж самом Queue Tree, где в качестве приемника пакетов стоят отдельные интерфейсы провайдеров, все работает, статистика бежит и правила очередей четко режут скорость. Здесь что-то связанное именно с мостом, точнее я не могу объяснить блоку RB2011, что работа идет не на интерфейс, а на мост. От моста отказываться нельзя, ибо локальная сеть имеет 5 линий выхода, которые надо объединять. РАньше, когда не было RB2011, а вместо него стоял RB951, это объединение линий LAN делал Acorp-вский маршрутизатор, но он не поддерживает VLAN, поэтому от него пришлось отказаться.
     
  4. Илья Князев

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

    В принципе если посмотреть на диаграммы пакет-фло, то бридж не является интерфейсом. Только при выходе из бриджа пакет уходит в Interface HTB.
     
  5. kom_a_ru

    kom_a_ru Новый участник

    Я так поизучал Пакет-Фло и не совсем понял. Вот та Queue Tree, которую я строю, она разве не в блоке Interface HTB находится? Я так понимаю, что вместо MAngle я должен маркировать пакеты в Brdge Filtering? А как потом Bridge out делать?

    Т.е. раньше я делал так:
    1) в блоке Preroute маркировал все соединения, идущие с интерфейса провайдера
    2) В блоке Forward из всех соединений интерфейса выделял то соединение, что идет на конкретный адрес сети, подключенной к мосту
    3) В блоке PostROute перемаркировал это соединение (это излишне, я понимаю, но чтоб логику не нарушать)
    4) Из соединения маркировал пакет в блоке PostRoute
    5) вставлял этот пакет в Queue Tree для выдачи на Parent, в качестве которого указывал конкретный интерфейс

    Для интерфейса это работало
    ТЕперь, как я понимаю, надо что-то типа такого
    1) п.1 остается тем ж
    2) В блоке Bridge Filtering маркирую пакет, идущий на мост на определенный адрес (chain указываю forward)
    3) в блоке Bridge out перемаркирую его (только совсем не понял, где этот режим в Winroute. Если это в Bridge Filtering и chain=output, тогда зачем п. 2 нужен? )
    4) Выдаю пакет на Queue Tree, где Parent указываю Global

    Так?
     
    Последнее редактирование: 13 май 2019
  6. Илья Князев

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

    В бридж очереди не работают.
    Чтобы они заработали, надо поставить в Bridge Settings Use-ip-firewall=yes
    Тогда пакеты будут закидываться в соответствующие цепочки IP Firewall, в т.ч. в очереди.
     
  7. kom_a_ru

    kom_a_ru Новый участник

    Самое интересное, что галочки я поставил, причем все. Но все одно такое впечатление, что не понимает блок меня. В каком блоке идет работа с очередью, то самое Queue Tree?
     
  8. Илья Князев

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

    Postrouting.
    Fasttrack не включен?
     
  9. kom_a_ru

    kom_a_ru Новый участник

    ВЫ уже спрашивали. Нет, никакого Fasttrack нет. Так, тогда я не понимаю одного. Что такое Bridge output и зачем он нужен? Я понимаю output блока - это пакеты, которые генерятся самим блоком.

    Я попробовал блок Forward делать в Bridge Filtering, т.е. не в Mangle маркировать пакет, идущий от провайдера на определенный адрес, а сделать это в Bridge Filtering. Потом его в PostRoute перемаркировать и выдать на очередь. Черта с два, опять нули.
     
  10. Илья Князев

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

    По идее это пакеты которые САМ роутер отправляет с бриджа.
    Что-то у вас не так. Вот я поставил парентом Bridge. Счетчики на очереди идут.
    Снимок экрана 2019-05-14 в 20.34.08.png
     
  11. kom_a_ru

    kom_a_ru Новый участник

    Попробовал с компа, подключенного к мосту ServiceBridge, открыть www.mail.ru. Вот что получилось (при этом пинг от блока RB2011 до mail ru идет). most rb2011.jpg
    При этом исходящие пакеты, идущие на интерфейс, маркируются, идут в очереди и уходят.
    Входящие маркируются в Mangle, а в очереди их нет. На мост и на выход они не уходят, комп пишет - невозможно соединение.
     
  12. kom_a_ru

    kom_a_ru Новый участник

    Если я что-то не так объяснил, прикладываю текст программы для блока. Первый мост с его сложной структурой я убрал, остался только второй, сервисный мост. Но проблема с Queue Tree проявляется и на нем. Если не сложно, посмотрите, может я что-то просто упустил при назначении
     

    Вложения:

  13. Илья Князев

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

    Комментарии просто замечательно в конфиге читаются.
    Не совсем понял зачем вы перемаркируете соединения из одного в другое
    Если не трудно сделайте с комментариями на английском или хотя бы транслитом.
     
  14. kom_a_ru

    kom_a_ru Новый участник

    Извините, не увидел. Текст программы с исправленными комментариями в приложении. Перемаркировал соединения при переходе из forward в postrouting, потому что если для маркирования пакета для Queue tree я беру соединение из блока prerouting или forward, то счетчик остается нулевым. Начинает считать только тогда, когда маркируется пакет из соединения того ж блока postrouting, что и пакет. С чем это связано, не знаю.
     

    Вложения:

  15. Илья Князев

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

    А вот это вам надо?
    Код:
    /interface bridge settings
    set allow-fast-path=no use-ip-firewall=yes use-ip-firewall-for-pppoe=yes \
        use-ip-firewall-for-vlan=yes
    Дело в том, что при этом Пакет-Фло работает несколько по другому.
     
  16. kom_a_ru

    kom_a_ru Новый участник

    Просто на каком-то из форумов (не тут) читал, что Queue Tree начинает работать, если для Bridge поставить все галочки. А какая конфигурация моста нужна в этом случае?
     
  17. kom_a_ru

    kom_a_ru Новый участник

    Так, с проблемой разобрался. Оказывается, было сделано 2 ошибки.
    1. Не поставлены галочки Fast Path и Bridge Fast Path Active.
    2. Были объединены в мост выходы, относящиеся к двум разным чипам коммутации. У RB2011, в отличие от RB951, с которым я работал раньше, группы выходов обрабатываются разными чипами коммутации. Выходы 1-5 обрабатываются switch 1 типа Atheros 8327. А выходы 6-10 обрабатываются switch 2 типа Atheros 8227. Если объединить в мост выводы 1-5, то все нормально работает, то если скажем в мост объединяется 1,2 и 7 выводы, скажем, то вылазит как раз та проблема, о чем я писал. И тут даже не работает ошибка №1 - проставленные галочки. Я так понимаю, в этом случае как-то надо прописывать правила коммутации пакетов между чипами, чего по default не происходит.
    Всем спасибо за помощь, тему можно закрывать.
     
  18. Илья Князев

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

    Пишите баг0репорт в Микротик. Так не должно быть.