Приоритезация трафика в tc.(iproute) (Разбиение траффика на классы)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

voody
Сообщения: 6
ОС: kubuntu 8.04/debian 4.0r3

Приоритезация трафика в tc.(iproute)

Сообщение voody »

Здравствуйте.
Возник вопрос в правильности правил которые я задаю для классификации трафика.

Схема следующая :

Код: Выделить всё

       eth1                  eth0
{INET}----{LINUX ROUTER(+NAT)}---{SWITCH}------PC1
                                        |------PC2
                                        |------myPC(odmin =) )192.168.1.99/32
                                        |------* * *
                                        |------PC N

На ротере организована трансляция адресов. Это работает.
Так же предпринял попытку организовать классификацию исходящего трафика по следующему принципу(для eth0):

к корневому классу прикрепляем дисциплину prio котрая создаёт 3 класса(приоритета).
В первый отправляю траффик ssh(исходящий порт 22), в этот же первый класс направляю пакеты с адресом назначения моего компьютера.(myPC).
В этих классах как я понял включается дисциплина pfifo_fast, что вполне устраивает.

Во второй класс отправляю пакеты с портом отправителя 80. То есть насколько я понимаю, если я буду принимать пакеты с портом отправителя 80 то они должны попадать в 1 класс. В этот же класс (2й) прикрепляю дисциплину sfq, для того что бы трафик распределялся по ip равномерно.

и в 3 класс весь оставшийся трафик, и то же с дисциплиной sfq. но судя по выводу

Код: Выделить всё

tc -s -d qdisc show dev eth0


туда ничего не попадает никогда.. хотя юзаются и эл. почта и ася и тп..

вот сам код задания правил... пока напишу только для внутреннего интерфейса

Код: Выделить всё

  tc qdisc add dev eth0 root handle 1: prio

  tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip sport 22 0xffff flowid 1:1
  tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip dst 192.168.1.99/32 flowid 1:1

  tc filter add dev eth0 protocol ip parent 1: prio 2 u32 match ip sport 80 0xffff flowid 1:2
  tc qdisc add dev eth0 parent 1:2 handle 10: sfq perturb 10

  tc qdisc add dev eth0 parent 1:3 handle 20: sfq perturb 10


где я накосячил... ? может что недопонял в принципе создания правил для tc??
Спасибо сказали: