
Я хочу ограничить исходящий трафик определенной полосой пропускания.
Мой код:
tc qdisc add dev vif1.0 root handle 1: htb default 30
tc class add dev vif1.0 parent 1: classid 1:1 htb rate 1mbit
tc class add dev vif1.0 parent 1: classid 1:2 htb rate 1mbit
tc filter add dev vif1.0 protocol ip parent 1:0 prio 1 u32 match ip dst 91.214.170.249/32 flowid 1:1
tc filter add dev vif1.0 protocol ip parent 1:0 prio 1 u32 match ip src 91.214.170.249/32 flowid 1:2
Но ничего не происходит. Я загрузил файл размером 1 ГБ и могу скачать его со скоростью 4 МБ/с.
vif1.0 — имя интерфейса моей виртуальной машины
решение1
Решено OP в комментариях:
Я добавил интерфейс peth1 в класс (peth1 — это мост для eth1, поэтому трафик идет: vif1.0 --> peth1 --> eth1 --> internet). Затем новый фильтр:
tc filter add dev peth1 parent 1: protocol ip prio 16 u32 match ip src xxx.xxx.xxx.xxx flowid 1:1