iproute2, а конкретно tc

Уважаемые Арчеводы, подскажите пожалуйста вменяемый мануал по tc. Перечитал кучу всего, но никак не пойму ничего.

Задача на первый взляд простая…есть ppp соединение в 4 мегабита…. необходимо на 21 порт отдавать максимум 2 мегабита.
попробовал htb.init но видимо тоже он не очень курится и работать не захотел.. Попробовал реализовать через frox, но он отказывается работать в transparent режиме.
Ткните носом если знаете другой способ как поделить канал.
Что значит “отдавать на 21-й порт”? Вот я ниже напишу решение для поставленной задачи (ограничить исходящий трафик из внутренней сети во внешку на tcp порт 21), но оно, мне кажется, совершенно бесполезно в реальных применениях:
iptables -A FORWARD -t mangle -s 192.168.0.0/24 -m tcp -p tcp --dport 21 -o eth0 -j MARK --set-mark 20
tc qdisc add dev eth0 root handle 1: htb
tc class add dev eth0 parent 1:1 classid 1:13 htb rate 2048kbit ceil 10240kbit prio 1
tc filter add dev eth0 parent 1:0 protocol ip prio 1 handle 20 fw classid 1:13
Эта вся ерунда ограничит _исходящий_ трафик с каждого IP из внутренней сети 192.168.0.0/24 на порт 21 любого внешнего IP, который находится за интерфейсом eth0 до 2мбит на рыло из общих 10мбит. Где eth0 - внешний интерфейс, 10240kbit - общая скорость выделенная на все соединения к нашему мифическому порту 21, 2048kbit - скорость на рыльце для каждого внутреннего IP. Все достаточно просто - маркируем с помощью iptables нужные нам пакеты, а потом на интерфейсе, откуда они выходят (HTB умеет только исходящий трафик резать) вешаем нужные нам ограничители с фильтром по нашим маркированным пакетам. Для своих применений правила пилите уже сами. За подробностями курите man tc-htb.
 
Зарегистрироваться или войдите чтобы оставить сообщение.