Есть сеть 192.168.0.0/24 . Учусь контролировать скорости отдачи хостам в сети(в будущем будет NAT сервер).
Для проверки работоспособности хочу ограничить хосту 192.168.0.91 скорость 64 кбит/с, а всем остальным 1024 кбит/с. Мой ip 192.168.0.66 . После множественного чтения гугла делаю так:
tc qdisc add dev eth0 root handle 1: htb default 12 #поключаем дисциплину HTB в качестве корневой,
#default 12 говорит о том что весь не
#классифицированный трафик попадает в клвсс 1:12
tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil 100mbit #Создаю корневой класс
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 64kbit #создаю подкласс 1:11 класса 1:1 скороcть
#класса которого 64 кбит/с
tc class add dev eth0 parent 1:1 classid 1:12 htb rate 1024kbit #создаю подкласс 1:12 класса 1:1 скорость
#которого 1024кбит/с(класс всех остальных)
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.91 flowid 1:11 #заварачиваю
#хост 192.168.0.91 в класс 1:11
И пробую качать файлы на компе 192.168.0.91 по сети со своего 192.168.0.66. Во время скачивания пишется скорость 120 кБ/с, что является 120*8=960 кбит/с. Т.е трафик хоста 192.168.0.91 распознается как не классифицированный и помещается в класс 1:12. Не могу понять почему не работает условие tc filter.
Вс е сделано по образцу
https://xakep.ru/2009/09/09/49421/