Jawaban yang dipilih salah / tidak lengkap. Saya menghadapi masalah yang sama, jawaban yang dipilih memberikan bantuan, tetapi tidak cukup.
Pertama, perintah berikut ini tidak benar-benar dibutuhkan.
tc qdisc del dev eth0 root
Ini akan 'menghapus' root qdisc, tetapi secara tidak langsung akan diganti dengan yang pfifo_fast (sehingga Anda tidak kehilangan konektivitas).
Perintah kedua:
tc qdisc menambahkan dev eth0 root handle 1: prio
Akan mengganti qdisc pfifo_fast dengan yang prio. Secara default, antrian prio memiliki 3 band (0, 1, 2) masing-masing dikelola oleh satu kelas (1: 1, 1: 2 dan 1: 3).
Paket akan dikirim ke salah satu band tersebut menggunakan bidang TOS dari paket IP. Konfigurasi ini ditampilkan ketika Anda menjalankan:
tc qdisc ls
melihat nilai-nilai 'priomap'.
Kemudian, Anda menambahkan qdisc netem:
tc qdisc menambahkan dev eth0 induk 1: 1 handle 2: netem delay 500ms
Dengan perintah ini, Anda menunda semua lalu lintas menuju pita 1: 1 (hingga filter tersedia).
Tetapi ada dua peringatan:
- Lalu lintas Anda dapat memiliki nilai TOS yang berbeda dan kemudian dikirim ke band lain.
- Pridio qdisc dapat dikonfigurasi sehingga lalu lintas pergi ke band lain.
Berikut ini memecahkan masalah saya agar tidak terpengaruh oleh netem saat filter tidak diterapkan. Alih-alih langkah-langkah di atas, saya melakukan:
tc qdisc menambahkan dev eth0 root handle 1: prio priomap 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Ini akan mengirim semua lalu lintas secara default ke band 1: 3.
Lalu, saya menambahkan aturan untuk menunda lalu lintas:
tc qdisc menambahkan dev eth0 induk 1: 1 handle 10: netem delay 100ms 10ms
Ini menciptakan qdisc di band 0, tetapi karena semua traffic menuju ke band 3, itu tidak mempengaruhi saya.
Setelah itu, saya menambahkan filter:
tc filter menambahkan dev eth0 protokol ip parent 1: 0 prio 1 u32 pertandingan ip dst 10.0.0.1/32 pertandingan ip dport 80 0xffff flowid 1: 1
Sekarang dengan filter, hanya IP / port yang dipilih yang akan terpengaruh, karena kami mengarahkan lalu lintas yang dipilih ke band 0.
Semua lalu lintas lainnya terus tidak terpengaruh karena terus mengalir ke band 3.