HTB/8021q: Це була моя помилка

Posted on

Щодо проблеми із HTB шейпером 802.1Q трафіка на linux bridge — це була моя помилка :-)

Я спитав у community@lists.altlinux.org, мене напоумив Sergey Vlasov — дуже дякую!-)

Як сказав Сергій, «передача пакетов в модуль bridge выполняется раньше, чем обработка модулем 8021q». Через це класифікатор просто відкидає пакет як невідповідний фільтру — бо у фільтрі сказано «protocol ip», а ми маємо «protocol 802.1q». Схоже, що достатньо вказати «protocol 802.1q» — після цього адреси (зміщення ві дпочатку пакета IP) «відраховуються» правильно.

Це дає можливість на комутаторах будувати «агрегаційні» шейпери, які оброблятимуть у клієнтських класах пакети клєнтів незалежно від «напрямку» (від належності до певної віртуальної мережі). Причому міграція зі «звичайного» шейпера на комутаторі потребуватиме мінімальних зусиль — треба буде замінити у конфігураторі шаблон «protocol ip» на «protocol 802.1q» (або ж додати ще один фільтр — якщо це справді необхідно).

2 Replies to “HTB/8021q: Це була моя помилка”

  1. So, is this working or not? I personally failed to “capture” 802.1q tagged traffic using this type of filter. After googling around I started to come to realization that it might work but not for everyone (I don’t know the reasons).

    Could you please elaborate on the idea described in this post?

    1. Yes! It works.

      Now my shaper has a lot of lines like this:

      /sbin/tc filter add dev clients0 protocol 802.1q parent 1:0 prio 100 u32 ht 133:54 match ip dst XX.YY.133.84 flowid 1:2e2

      It shapes tagged traffic on “untagged” (physical) interfaces (“clients0” is a renamed physical ethX — can’t remember which one).

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.