Перейти к содержимому
Калькуляторы

Пиринг и шейпер на Linux

Имеется: Бордер под управлением Linux с двумя апстримами и одной пиринговой сеткой. Два гигабитных физических интерфейса на борту: bge0 - во внутрь, bge1 - во вне. Внешний трафик и трафик с пиринговой сети бегает через bge1, поделенный vlan'ми. Нужно приоритизировать входящий внешний трафик с апстримов не учитывая трафик с пиринговой сети.

От каждого апстрима имеется гарантированная ширина полосы пропускания: 120 и 100 мегбаит соответственно, на пиринговую сеть выделенно 50 мегабит (отрезано acl-ем на коммутаторе).

Приоритизировать будем при помощи пакета iproute2.

Из всего вышесказанного следует, что нужно шейпить исходящий трафик с bge0, смотрящий в сторону пользовательской сети.

Только тут возникает непонятка, как не брать в учет трафик с пиринговой сети при создании родительского класса, в котором надо будет указать максимальную ширину полосы пропускания? Если я укажу последнюю в 100+120=220 мбит, то избыточный пиринговый трафик не даст расскачаться каналам апстримов. А если наоборот включу пиринговые 50 мбит в ширину полосы для родительского класса, приоритизация не будет работать должным образом, или я не прав?

Что посоветуете в данной ситуцаии?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Метить пакеты с вланов иптейблсом, далее - помеченые заворачивать в шейпер (htb с хеш-таблицами к примеру). Соответственно 2 корневых класса: один - для инета, 2й - для пиринга (а еще лучше - 3 класса, на каждый аплинк).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А как одновременно отлавливать промаркированные пакеты и матчить их классификтором u32?

 

Такая конструкция не работает:

iptables -t mangle -A PREROUTING -i vlan8 -j MARK --set-mark 10 
tc filter add dev bge0 parent 1: protocol ip prio 1 handle 10 fw u32 match ip protocol 1 0xff flowid 1:10

 

Использовать ifb? Манипулировать байтами TOS?

Бдует ли вообще работать совместно handle fw и u32 разнесенные по разным фильтрам на разные интерфейсы?

Изменено пользователем Dimic

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А как одновременно отлавливать промаркированные пакеты и матчить их классификтором u32?

 

Такая конструкция не работает:

iptables -t mangle -A PREROUTING -i vlan8 -j MARK --set-mark 10 
tc filter add dev bge0 parent 1: protocol ip prio 1 handle 10 fw u32 match ip protocol 1 0xff flowid 1:10

 

Использовать ifb? Манипулировать байтами TOS?

Бдует ли вообще работать совместно handle fw и u32 разнесенные по разным фильтрам на разные интерфейсы?

Меняйте DSCP в PREROUTING, а fw mark вообще ни к чему.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.