Всім привіт!!
Недавно мені виникла потреба вивчити команду tc і написати скрипт для певної задачі.
Завдання було: обмежити трафік на певну ІР адресу, а весь остальний трафік розділити порівну між іншими комп'юторами.
Як ви знаєте команда tc - досить важка, і тому результат вийшов не такий як потрібно було.
Ось написаний скрипт:
#створив кореневу htb чергу для виділення смуг пропускання
tc qdisc add dev eth0 root handle 1: htb default 11
#створив самі ж полоси
#кореневу полосу
tc class add dev eth0 parent 1: classid 1:1 htb rate 100kbit ceil 100kbit
#і підлеглі їй смуги
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 20kbit
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 80kbit
#створив фільтр для окремого клієнта
tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip dst 212.1.102.50/32 flowid 1:10
#створив черги реалізуючих класи
tc qdisc add dev eth0 parent 1:10 handle 20: pfifo limit 5
tc qdisc add dev eth0 parent 1:11 handle 30: pfifo limit 5
Результат досить цікавий. Трафік цей скрипт обмежує, але не так як тре!.
Швидкість на певну ІР мала бути 20 кбіт/с, а стала 70-85 кбайт/с.
Хто знає де я помилився - вкажіть мою помилку. Можу хто знає яким має бути скрипт для цієї задачі - напишіть приклад будьласка. Буду дуже вдячний!!!!