LINUX.ORG.RU
ФорумAdmin

ЛОР, подскажи, что не так делаю с tc?

 


0

2
tc qdisc add dev $1 root handle 1: prio
tc qdisc add dev $1 parent 1:1 handle 10: sfq
tc qdisc add dev $1 parent 1:2 handle 20: sfq
tc filter add dev $1 protocol ip parent 1:1 prio 1 u32 match ip src 192.168.5.0/24 flowid 10:
tc filter add dev $1 protocol ip parent 1:2 prio 2 flowid 20:

На строке

tc filter add dev $1 protocol ip parent 1:1 prio 1 u32 match ip src 192.168.5.0/24 flowid 10:

Ошибка:

RTNETLINK answers: Invalid argument

Нихрена не понимаю толком что я делаю (всё взял с гугла), задача следующая:

Трафик из 5.0/24 - должен выходить первым из интерфейса $1. Без всяких скоростей, бустов и т.п.

Помогите, плз :)

★★★★★

А классы кто будет создавать?

Сначала создаются классы, а потом уже к ним цепляются очереди и фильтры.

Для таких как ты, htb.init придумали :)

htb.init compile показывает как создаются классы, очереди, фильтры.

Без всяких скоростей, бустов и т.п

Если я ничего не путаю, то если для класса нет очереди, то пакет сразу попадает в очередь интерфейса (root).

vel ★★★★★
()
Ответ на: комментарий от vel

Спасибо огромное! Можешь привести рабочий примерчик с классом, и т.п. , именно для моего случая. Понимаю, что наглость, но прошу простить. :)

И такой вопрос: я погуглил, и, насколько я понимаю, по умолчанию, используется планировщик pfifo_fast, и он смотрит на метки ToS. - Насколько мне имеет смысл вообще трогать всё это, быть может гораздо разумней, просто через iptables установить нужные мне метки, и этого будет достаточно?

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

Судя по твоему примерам у тебя нет задачи ограничить скорость какого-либо траффика, только задать приоритет. Тогда может тебе и хватит ToS-меток.

В tc обычно лезут когда надо что-то посложнее сделать

Pinkbyte ★★★★★
()
Ответ на: комментарий от DALDON

Я не очень понял что ты хочешь получить.

Тебе нужно обеспечить приоритет трафика приходящий из сети .5.0/24?

Про pfifo_fast и ToS - абсолютно все равно чем ты выставляешь Tos. Но это изменение пакета (что дорого) и зачем этим светить наружу?

Тут вопрос вот в чём: объёмы трафика из сети .5.0/24 и остальных сетей.

Если остальной трафик нужно шейпить, то есть смысл воспользоваться htb.init. Комбинация RATE/CEIL/PRIO позволяет сделать часть трафика приоритетным.

PS один из простейших вариантов с приоритетами https://www.howtoforge.com/voip_qos_traffic_shaping_iproute2_asterisk

vel ★★★★★
()
Ответ на: комментарий от vel

Тебе нужно обеспечить приоритет трафика приходящий из сети .5.0/24?

Да. Условно говоря, телефонный трафик.

Но это изменение пакета (что дорого) и зачем этим светить наружу?

Кхм… Настолько прямо дорого с точки зрения ресурсов? Наружу светиться не будет, на внешнем шлюзе уже будет NAT

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

Если ты задаёшь поле ToS в приложении, то нет лишних действий.

Если ты меняшь их средствами iptables, то как минимум это пересчет заголовка IP пакета, правда если сетевая карта умная, то она сама пересчетает КС.

ToS при проходе через NAT не меняется.

vel ★★★★★
()