Pada OpenWrt fungsi Bandwidth Limiter kadang tidak tersedia secara default. Ada banyak cara untuk melimit bandwidth pada OpenWrt, salah satu yang paling sederhana adalah dengan menggunakan iptables.
Bandwidth limit dengan iptables sangatlah sederhana, ia hanya melakukan drop terhadap packet yang melebihi ketentuan. Hasil limit dengan iptables mungkin tidak se-halus dan akurat seperti menggunakan queue, tapi cukup lah jika hanya bertujuan untuk membatasi.
Install Modul Iptables
Pastikan anda telah menginstall package iptables-mod-hashlimit dan iptables-mod-iprange.
Buka halaman admin router OpenWRT anda kemudian klik menu System -> Software.
Klik tombol Update List untuk memperbarui daftar package dari server OpenWRT. Kemudian cari dan install package iptables-mod-hashlimit dan iptables-mod-iprange.
Atau anda dapat menginstall nya via Terminal dengan perintah:
opkg update opkg install iptables-mod-hashlimit iptables-mod-iprange
Pasang Rule
Bandwidth limiter dapat anda pasang dengan menggunakan rules berikut ini, bagi yang menggunakan LuCI dapat menambahkan rules nya di bagian Network -> Firewall -> Custom Rules
iptables -I FORWARD -m iprange --dst-range 192.168.1.11-192.168.1.254 -m hashlimit --hashlimit-above 16kb/s --hashlimit-mode dstip --hashlimit-name lambat -j DROP
Rules tersebut akan membuat perangkat di rentang ip tersebut hanya memiliki kecepatan download maksimal 16KB/s (kadang lebih dikit). Kecepatan uploadnya tidak saya limit karena kasian.
iptables
merupakan utility yang umum ada pada sistem operasi linux. Rule diatas dapat juga diaplikasikan pada sistem operasi linux lainnya seperti Ubuntu dan Debian.
Limit pada waktu tertentu
iptables
memiliki module yang cukup lengkap, salah satunya yaitu module time
yang dapat menjaring packet berdasarkan waktu tertentu.
Beberapa parameter yang dapat digunakan
- –timestart : Waktu kapan rule mulai berlaku (hh:mm)
- –timestop: Waktu kapan rule berakhir (hh:mm)
- –weekdays: Hari kapan rule tersebut berlaku, dengan format 3 atau 2 nama hari (Sat, Sun, Fri, etc)
Jadi misalnya anda ingin membatasi bandwidth pada hari sabtu dan minggu rulenya seperti dibawah ini:
iptables -I FORWARD -m iprange --dst-range 192.168.1.11-192.168.1.254 -m hashlimit --hashlimit-above 16kb/s --hashlimit-mode dstip --hashlimit-name lambat -m time --weekdays Sat,Sun -j DROP
atau apabila anda ingin membatasi bandwidth pada malam hari dari jam 6 sore hingga jam 11 Malam rule nya seperti dibawah ini:
iptables -I FORWARD -m iprange --dst-range 192.168.1.11-192.168.1.254 -m hashlimit --hashlimit-above 16kb/s --hashlimit-mode dstip --hashlimit-name lambat -m time --timestart 18:00 --timestop 23:00 -j DROP
Rule diatas sangat berguna apabila anda berbagi internet dengan tetangga namun ingin tetap merasakan internet kencang ketika berada dirumah sepulang kerja 😀
Apakah yang dilimit per user 16kb atau semua range itu 16 kb bagi untuk semua user
Per user mas karena pakai parameter –haslimit-mode, kalo tanpa parameter itu jadi pukul rata semua user…
Mantap terima kasih ya mas ilmunya
Kalo untuk membatasi upload juga perintahnya ditambah apa lagi pak?
dirubah supaya iptablesnya nangkep paket dari (src) client naik keatas, kurang lebih kayak gini:
iptables -I FORWARD -m iprange --src-range 192.168.1.11-192.168.1.254 -m hashlimit --hashlimit-above 16kb/s --hashlimit-mode srcip --hashlimit-name lambat -j DROP
Baik, terimakasih pak atas tutorialnya.
tutorial yang lengkap dong bli.. maklum pemula, instal package iptables-mod-hashlimit dan iptables-mod-iprange itu gimana caranya, dapat dari mana, biar bisa limit akses youtube dan internet, jd lebih lancar untuk sosmed saja begitu
package nya bisa diinstall lewat web interface router OpenWRT nya, ada di menu System -> Software, Update List nya dulu sebelum menginstall.
kalo untuk keperluan limit akses website tertentu sebaiknya gunakan Mikrotik saja karena dia bisa memfilter berdasarkan TLS Host dan mengatur prioritas (QoS)
saya kok gak berkurang ya speednya
Pastiin package tambahan nya ud keinstall & target ip nya bener..
Udh ke install semua,
Terus tinggal copy paste di costum rule kan? Apa ada tambahan lagi ya
Terus pas saya cek ip yg connect di hp udah saya masukin di custom rule ttp aja speednya gk limit
Coba rule nya di test lewat ssh/cli ke router nya. Di web gak muncul error kalo rule nya ada salah ketik.
Caranya gmn ya, hehhe
Maklum awam saya😁
mungkin, bisa coba reboot routernya dulu..
kalo di windows SSH bisa pakai aplikasi putty, caranya. Download putty terlebih dahulu kemudian konek kesana di bagian Session -> masukin [email protected].1.1 -> klik open -> masukin password router -> kemudian tes rule nya disana.
hmm, ato bisa paste rule nya disini mungkin ada yang kurang..
terimakasih byk omm tutornya,..
kl tambah jam akses gmn omm y ?
bisa coba dengan iptables time module contohnya seperti dibawah yang di bold, ada timestart dan timestop
iptables -I FORWARD -m iprange –dst-range 192.168.1.11-192.168.1.254 -m hashlimit –hashlimit-above 16kb/s –hashlimit-mode dstip –hashlimit-name lambat -m time –timestart 09:00 –timestop 18:00 -j DROP
cara ngapus limitnya gimana ya om
bisa gunakan perintah `iptables -D`
Untuk dapetin nomor rule bisa pakai perintah `iptables -L –line-numbers`
work om maKasih
berdasar postingan mas, saya buat untuk 1 ip saja, sebelumnya saya set static dulu lalu paste perintah ini
iptables -I FORWARD -m iprange –dst-range 192.168.1.114-192.168.1.114 -m hashlimit –hashlimit-above 512kb/s –hashlimit-mode dstip –hashlimit-name lambat -j DROP
Mantap worked banget. udah nyoba sqm qos cake dll hampir nyerah. pake cara ini simple dan bekerja dengan baik. trims
Cara mengatur speed berdasarkan waktu gimana kak.?misalkan jam 06.00-12.00 speed 250kbps, jam 13.00-23.00 speed 500kbls
ada time modules mas, nanti artikel segera saya update
thanks om, work 100%. harap bisa memakai “daftar putih” per ip dan membatasi bandwidth limit semua client dan script untuk membatasi download atau download
udah ada update untuk ini mas?
kayaknya sekarang udah ga work lagi mas
udah ku terapin ke ip class a-c malah ngeloss 😬
dan sekarang pun openwrt udah versi 22 pakek nftable