Jump to content

Recommended Posts

Posted

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

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

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

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

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

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

Posted

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

Posted (edited)

А как одновременно отлавливать промаркированные пакеты и матчить их классификтором 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 разнесенные по разным фильтрам на разные интерфейсы?

Edited by Dimic
Posted

А как одновременно отлавливать промаркированные пакеты и матчить их классификтором 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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.