Mallorn Posted October 15, 2015 Доброго дня! Кто как решает задачу нарезки разной скорости абонентам на мир и "пиринговые сети"? Если просто выделить сети в обход шейпера, то iptables -t mangle -A PREROUTING -s a.b.c.d/xx -j MARK --set-mark 110 tc filter add dev eth0 parent 1: prio 1 protocol ip fw tc filter add dev eth0 parent 1: prio 1 protocol ip handle 110 fw flowid 1:110 tc class add dev eth0 parent 1:1 classid 1:110 htb rate 1000mbit ceil 1000mbit burst 4096k tc qdisc add dev eth0 parent 1:110 sfw perturb 10 а хеш-таблицы клиентских фильтров идут ниже с prio2. В этой схеме получаем нешейпируемый трафик на сети, маркированные в prerouting, скорость у клиента на скорости линка. Задача нужно нарезать скорость для определенных сетей с линка конкретного оператора, тоже решается несложно. eth2 - линк оператора, добавляем к командам выше modprobe ifb numifbs=3 ip link set dev ifb2 up ifconfig ifb1 txqueuelen 10000 up tc qdisc add dev eth2 ingress tc filter add dev eth2 parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb2 дальше вешаем на ifb2 фильтры \ классы, но с указанием нужной скорости. Получаем раздельную нарезку скорости на мир и заданные сети, с индивидуальной настройкой под абонента. А если не знаешь, через какого оператора будет маршрут на нужные сети, как тогда нарезать? Например, зеркалировать в ifb маркированный трафик, но оно похоже так не умеет. Share this post Link to post Share on other sites More sharing options...
NiTr0 Posted October 15, 2015 Мир роутится на один интерфейс, IX - на другой, на каждом ифейсе - дерево шейпера. Share this post Link to post Share on other sites More sharing options...
dazgluk Posted October 15, 2015 Порекламирую модуль ipt-ratelimit http://forum.nag.ru/forum/index.php?showtopic=108580 Вашу задачу решает без проблем, делаете две таблицы, одну вешаете на ipset до пиринга, другую просто на 0/0 :) Share this post Link to post Share on other sites More sharing options...
Mallorn Posted October 17, 2015 Порекламирую модуль ipt-ratelimit http://forum.nag.ru/forum/index.php?showtopic=108580 Вашу задачу решает без проблем, делаете две таблицы, одну вешаете на ipset до пиринга, другую просто на 0/0 :) интересная штука, попробую! Share this post Link to post Share on other sites More sharing options...