Die gewählte Antwort ist falsch / unvollständig. Ich hatte ein ähnliches Problem, die gewählte Antwort hat mir geholfen, aber nicht genug.
Erstens wird der folgende Befehl nicht wirklich benötigt.
tc qdisc del dev eth0 root
Die Root-Qdisc wird "gelöscht", aber sofort durch eine pfifo_fast ersetzt (damit die Konnektivität nicht verloren geht).
Der zweite Befehl:
tc qdisc add dev eth0 root handle 1: prio
Ersetzt die pfifo_fast qdisc durch die prio one. Standardmäßig verfügt die Prio-Warteschlange über 3 Bänder (0, 1, 2), die jeweils von einer Klasse verwaltet werden (1: 1, 1: 2 und 1: 3).
Die Pakete werden über das TOS-Feld des IP-Pakets an eines dieser Bänder gesendet. Diese Konfiguration wird angezeigt, wenn Sie Folgendes ausführen:
tc qdisc ls
Blick auf die "priomap" -Werte.
Dann fügen Sie eine netem qdisc hinzu:
tc qdisc add dev eth0 parent 1: 1 handle 2: netem delay 500ms
Mit diesem Befehl verschieben Sie den gesamten Datenverkehr in das 1: 1-Band (bis der Filter aktiviert ist).
Es gibt jedoch zwei Einschränkungen:
- Ihr Datenverkehr kann einen anderen TOS-Wert haben und dann an ein anderes Band gesendet werden.
- Die prio qdisc kann so konfiguriert werden, dass der Datenverkehr zu einem anderen Band geleitet wird.
Das Folgende löste mein Problem, um nicht von dem netem betroffen zu sein, während der Filter nicht angewendet wird. Anstelle der oben genannten Schritte habe ich Folgendes getan:
tc qdisc add dev eth0 root handle 1: prio priomap 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Dadurch wird der gesamte Datenverkehr standardmäßig 1: 3 an das Band gesendet.
Dann habe ich die Regel hinzugefügt, um den Datenverkehr zu verzögern:
tc qdisc add dev eth0 parent 1: 1 handle 10: netem delay 100ms 10ms
Dadurch wird die qdisc in Band 0 erstellt, aber da der gesamte Datenverkehr in Band 3 übertragen wird, hat mich dies nicht betroffen.
Danach habe ich den Filter hinzugefügt:
tc filter add dev eth0 Protokoll ip parent 1: 0 prio 1 u32 match ip dst 10.0.0.1/32 match ip dport 80 0xffff flowid 1: 1
Jetzt wird mit dem Filter nur die ausgewählte IP / der ausgewählte Port beeinflusst, da wir den ausgewählten Datenverkehr auf das Band 0 umleiten.
Der gesamte andere Datenverkehr bleibt unberührt, da er weiterhin zu Band 3 fließt.