Jawaban:
Membatasi antarmuka tunggal itu mudah, tetapi batas laju global memerlukan aturan yang lebih rumit seperti halnya aturan berbasis aplikasi. Saya tidak mengatakan bahwa itu tidak dapat dilakukan, tetapi membutuhkan sedikit menggali internal jaringan.
Berikut ini adalah Cara cepat menyiapkan batas per antarmuka
Jika Anda benar-benar ingin mengatur aturan berbasis aplikasi, Anda harus melihat ke beberapa kerangka kerja firewall, seperti shorewall , yang memiliki fitur pembantu untuk mengkonfigurasi pembentukan. Bahkan dengan alat-alat ini, diperlukan sedikit pemikiran dan pengujian untuk mendapatkannya di tempat. Melakukan sesuatu seperti ad-hoc ini belum semudah itu.
wondershaper eth0 1000 1000
tidak memiliki bandwidth internet. Saya perlu membatasi semua bandwidth eth0 tidak hanya aplikasi spesifik. Bagaimana bisa melakukannya?
Meskipun ini adalah pertanyaan lama, saya menemukan ini ketika mencari jawaban untuk pertanyaan yang sama. Batas OS dan antarmuka sudah dibahas dalam jawaban sebelumnya, jadi di sini adalah cara untuk mengatur batas spesifik aplikasi. Gunakan aplikasi yang disebut trickle. Begitu juga sudo apt-get install trickle
. Anda dapat membatasi unggahan / unduhan untuk aplikasi tertentu dengan menjalankan
trickle -u (upload limit in KB/s) -d (download limit in KB/s) application
Ini akan meluncurkan aplikasi dengan batas yang ditentukan. Anda juga dapat menentukan waktu "penghalusan", sehingga meneteskan sampel selama periode waktu yang diinginkan seandainya aplikasi Anda memiliki ledakan konsumsi bandwidth dan Anda ingin semburan diizinkan selama rata-rata berada dalam spesifikasi Anda.
trickle: Could not reach trickled, working independently: No such file or directory
. Anda dapat menghapus peringatan ini dengan menjalankan tetesan dalam mode mandiri dengan trickle -s
.
Jika Anda ingin membatasi bandwidth untuk alamat IP tertentu, Anda dapat menggunakan ini:
tc qdisc add dev eth1 root handle 1: htb default 12
tc class add dev eth1 parent 1: classid 1:10 htb rate 2500kbps
tc class add dev eth1 parent 1: classid 1:11 htb rate 2500kbps
tc class add dev eth1 parent 1: classid 1:12 htb rate 5000kbps
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.2.105 flowid 1:10
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.2.106 flowid 1:11
wondershaper
masalah di Ubuntu 17.10, yang mungkin mirip dengan apa yang terjadi pada @Zeromatiker di Ubuntu 17.04: bugs.launchpad.net/ubuntu/+source/wondershaper/+bug/1745421