Traffic Shaping unter Linux

Mit diesen Kommandos lässt sich unter Linux relativ einfach der Datenverkehr auf eine bestimmte IPv6 Adresse drosseln.

Beispiel für das Device eno1 und die IP 2a00:1450:4001:80b::1009 bei einer Nominalbandbreite von 1MBit und Limitierung auf die Hälfte dieser Bandbreite:

1
2
3
tc qdisc add dev eno1 root handle 1: cbq avpkt 1000 bandwidth 1Mbit 
tc class add dev eno1 parent 1: classid 1:1 cbq rate 512kbit allot 1500 prio 5 bounded isolated
tc filter add dev eno1 parent 1: protocol ipv6 prio 16 u32 match ip6 dst 2a00:1450:4001:80b::1009 flowid 1:1

Ändern lässt sich die Limitierung dann per tc class replace:

1
tc class replace dev eno1 parent 1: classid 1:1 cbq rate 256kbit allot 1500 prio 5 bounded isolated