Добрый день! При настройке регулирования траффика для пользователей столкнулся с одной проблемкой. А именно - построено queue tree для пользователей, в MAngle все пакеты маркируются, по статистике для данного айпишника вижу. Тоже самое мне говорят и Connections, где четко видно маркировка пакетов. Когда доходит дело до Queue Tree, основным родителем для траффика где указан мост (Bridge-Local), пакеты как корова языком слизывает. Все галочки на Bridge в разделе Setting установлены. Такая ж ситуация повторяется, если в качестве интерфейса указывается один из интерфейсов, входящих в мост. Если ж брать отдельно независимый интерфейс, то все прекрасно работает. Что может быть неправильно и как правильно надо настраивать Queue Tree именно для мостов?
НЕт, не включен. Все делал для одного интерфейса, все работало прекрасно. Потом вместо интерфейса решил поставить мост. В Mangle все маркируется, статистика по пакетам показывает, что пакет идут. А в Queue Tree на мосте нули (такая ж картина, если в качестве приемника указаны не мот, а один из интерфейсов этого моста). При этом в ветке Upload в том ж самом Queue Tree, где в качестве приемника пакетов стоят отдельные интерфейсы провайдеров, все работает, статистика бежит и правила очередей четко режут скорость. Здесь что-то связанное именно с мостом, точнее я не могу объяснить блоку RB2011, что работа идет не на интерфейс, а на мост. От моста отказываться нельзя, ибо локальная сеть имеет 5 линий выхода, которые надо объединять. РАньше, когда не было RB2011, а вместо него стоял RB951, это объединение линий LAN делал Acorp-вский маршрутизатор, но он не поддерживает VLAN, поэтому от него пришлось отказаться.
В принципе если посмотреть на диаграммы пакет-фло, то бридж не является интерфейсом. Только при выходе из бриджа пакет уходит в Interface HTB.
Я так поизучал Пакет-Фло и не совсем понял. Вот та 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 Так?
В бридж очереди не работают. Чтобы они заработали, надо поставить в Bridge Settings Use-ip-firewall=yes Тогда пакеты будут закидываться в соответствующие цепочки IP Firewall, в т.ч. в очереди.
Самое интересное, что галочки я поставил, причем все. Но все одно такое впечатление, что не понимает блок меня. В каком блоке идет работа с очередью, то самое Queue Tree?
ВЫ уже спрашивали. Нет, никакого Fasttrack нет. Так, тогда я не понимаю одного. Что такое Bridge output и зачем он нужен? Я понимаю output блока - это пакеты, которые генерятся самим блоком. Я попробовал блок Forward делать в Bridge Filtering, т.е. не в Mangle маркировать пакет, идущий от провайдера на определенный адрес, а сделать это в Bridge Filtering. Потом его в PostRoute перемаркировать и выдать на очередь. Черта с два, опять нули.
По идее это пакеты которые САМ роутер отправляет с бриджа. Что-то у вас не так. Вот я поставил парентом Bridge. Счетчики на очереди идут.
Попробовал с компа, подключенного к мосту ServiceBridge, открыть www.mail.ru. Вот что получилось (при этом пинг от блока RB2011 до mail ru идет). При этом исходящие пакеты, идущие на интерфейс, маркируются, идут в очереди и уходят. Входящие маркируются в Mangle, а в очереди их нет. На мост и на выход они не уходят, комп пишет - невозможно соединение.
Если я что-то не так объяснил, прикладываю текст программы для блока. Первый мост с его сложной структурой я убрал, остался только второй, сервисный мост. Но проблема с Queue Tree проявляется и на нем. Если не сложно, посмотрите, может я что-то просто упустил при назначении
Комментарии просто замечательно в конфиге читаются. Не совсем понял зачем вы перемаркируете соединения из одного в другое Если не трудно сделайте с комментариями на английском или хотя бы транслитом.
Извините, не увидел. Текст программы с исправленными комментариями в приложении. Перемаркировал соединения при переходе из forward в postrouting, потому что если для маркирования пакета для Queue tree я беру соединение из блока prerouting или forward, то счетчик остается нулевым. Начинает считать только тогда, когда маркируется пакет из соединения того ж блока postrouting, что и пакет. С чем это связано, не знаю.
А вот это вам надо? Код: /interface bridge settings set allow-fast-path=no use-ip-firewall=yes use-ip-firewall-for-pppoe=yes \ use-ip-firewall-for-vlan=yes Дело в том, что при этом Пакет-Фло работает несколько по другому.
Просто на каком-то из форумов (не тут) читал, что Queue Tree начинает работать, если для Bridge поставить все галочки. А какая конфигурация моста нужна в этом случае?
Так, с проблемой разобрался. Оказывается, было сделано 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 не происходит. Всем спасибо за помощь, тему можно закрывать.