Langsung ke konten utama

RouterOS HotSpot dan Queue Tree (HTB)



[note: tutorial ini bukanlah best practice untuk diterapkan pada jaringan anda]

Mengenai peringatan diatas saya jelaskan lagi ya. Well ya sebelum dipraktikkan atau bahkan diterapkan, saya tekankan bahwa tutorial ini bukanlah solusi terbaik untuk jaringan anda?

Lah kenapa?

Karena solusi berikut kemungkinan besar akan memakan resource gede bagi router. Dan yang jelas 
daftar firewall dan queue juga lebih banyak.

Terus kenapa ditulis?


Tutorialnya saya tulis karena saya sendiri adalah penggemar HTB (idealis nggak ketulungan, :v). Jadi begitu denger kata queue atau QoS langsung deh kepikiran HTB. Oh ya, bagi yang belum kenal HTB bisa mampir ditulisannya Bapak Valens Riyadi disini nih.

PREREQUESITE
1. Perangkat yang sudah terinstal RouterOS
2. Terdapat basic configuration dan hotspot dengan minimal 1 user profile (misalkan client)

WARM-UP
Bagi yang sudah kenal hotspot, pasti ingin si user mendapatkan kelayakan dan kenyamanan dengan cara memaksimalkan bandwidth yang ada. Oleh karena itu, peranan QoS sangat penting. Untuk beberapa user dengan aturan yang sama bisa mengimplementasikan user profile dan mengaktifkan parameter rate-limit atau incoming packet/outgoing packet.

Ketika anda menerapkan incoming packet/outgoing packet, maka setiap user yang mempunyai user profile yang sama akan ditandai dengan packet mark yang sama pula. Efeknya? Anda masih bisa menggunakan queue tree yang dikombinasikan dengan queue type PCQ, namun tidak bisa menerapkan HTB untuk setiap user. Nah, agar bisa mengimplementasikan HTB per-user maka anda harus memberikan packet mark yang berbeda. Anda bisa menggunakan fitur script on-login dan script on-logout pada yang ada user-profile. Fitur ini dibekali dengan built-in variable dengan scope lokal. Artinya anda akan diberikan beberapa variabel yang cukup berguna, misalkan username, IP address dan lain sebagainya.                                                                                                                                                                                                                                                               
Cara ini dibilang rada sulit karena anda diharuskan untuk menguasai RouterOS scripting.

Penggunaan fitur diatas harus didasarkan pada pemahaman alur (urutan) pembuatan queue. Sehingga permasalahan tersebut dapat ditangani dengan benar. Oh ya karena lagi membahas HTB, sebelum membuat script anda harus membuat parent dahulu, baik itu download maupun upload.

ALGORITHM
1. Pada saat user login (script on-login)
1.1 Inisiasi variabel id (yang isinya adalah gabungan dari username dan password atau yang lain yang sifatnya unik). Scope dari variabel tersebut dibuat lokal saja.
1.2 Membuat mangle dengan src-address dari perangkat yang sedang login (baik itu untuk mark connection dan mark packet) dan menandai masing-masing marking dengan variabel id
1.3 Terakhir adalah membuat queue child untuk masing-masing upload dan download. Nama queue child dapat mengambil dari variabel id dan tambahkan kata up pada upload untuk membedakan.

2. Pada saat user logout (script on-logout)
Alur kedua merupakan kebalikan dari alur nomor 1. Kecuali pada inisiasi variabel id (1.1). Variabel tersebut tetap harus ada.
2.1 Inisiasi variabel id.
2.2 Menghapus mangle (mark connection dan mark packet) yang memiliki mark variabel id
2.3 Terakhir adalah menghapus queue child pada upload dan download. Seperti pada langkah 1.3, anda dapat menggunakan variabel id

GO-CODE
Pada menu winbox, masuk ke IP -> Hotspot -> User Profiles. Pilih dan buka user profile yang akan digunakan. Pada jendela user profile, masuk ke tab Scripts. Sesuaikan dengan nomor algoritma diatas.

1. On Login
1.1 :local id ($user . "-" . $address);
1.2(connection)
/ip firewall mangle add  comment=$id chain=prerouting src-address=$address action=mark-connection new-connection-mark=$id passthrough=yes;
1.2(packet)
/ip firewall mangle add chain=prerouting connection-mark=$id action=mark-packet new-packet-mark=$id passthrough=no;
1.3(download)
/queue tree add name=$id parent=download packet-mark=$id priority=7 burst-limit=3M max-limit=1500k burst-threshold=750k limit-at=100k burst-time=8;
1.3(upload)
/queue tree add name=($id . "-up") parent=upload packet-mark=$id priority=7 burst-limit=3M max-limit=1500k burst-threshold=750k limit-at=100k burst-time=8;

2. On Logout
2.1 :local id ($user . "-" . $address);
2.2(connection) /ip firewall mangle remove [find new-connection-mark=$id];
2.3(packet) /ip firewall mangle remove [find new-packet-mark=$id];
2.4(download) /queue tree remove [find name=$id];
2.4(upload) /queue tree remove [find name=($id . "-up")];

copy-paste bagian yang tidak hitam

Hasilnya adalah sebagai berikut:

mangle rule untuk menandai paket tiap IP address yang login

Queue list untuk setiap user dengan marking yang dibuat pada mangle



Terima kasih, semoga bermanfaat.
Salam




_______________
reference:
Wiki.mikrotik.com. (2018). Manual:IP/Hotspot/User - MikroTik Wiki. [online] Available at: https://wiki.mikrotik.com/wiki/Manual:IP/Hotspot/User [Accessed 10 Jun. 2018].

hot-spotwifi.com (2018). [image] Available at: http://hot-spotwifi.com/assets/asset-1411052665019.png [Accessed 10 Jun. 2018].

Komentar

Posting Komentar

Terima kasih telah berkunjung.

Postingan populer dari blog ini

Hubungan Manis antara Conan Edogawa dan Haibara Ai.

( Hubungan Manis antara Conan Edogawa dan Haibara Ai)  Halo para Conaners, tahu kenyataan unik nggak. Ternyata Haibara Ai tuh demen lho sama Conan Edogawa. Tapi dia berusaha menyembunyikannya lantaran dia udah tau kalo Conan (Shinichi) tuh suka dan cinta sama Ran. Haibara yang kita ketahui mempunyai kepribadian dingin ini, tak gampang putus asa nih buat nunjukin kegigihannya untuk mendapatkan perhatian dari Conan. Yuk kita lihat, usaha apa saja yang dilakukan Haibara untuk menaklukan Conan :

Live Streaming ke Banyak Media Sosial

Beberapa dekade terakhir, banyak sekali para gamer yang "nyambi" cari uang dengan melakukan live stream di media sosial terutama Facebook. Sebenarnya saya juga mulai kesel karena para fans live streamer sering membagikan live streaming-nya ke grup Facebook. Sehingga grup Facebook yang awalnya diperuntukkan sebagai media diskusi malah jadi ajang pencarian views. Spam dan annoying banget.

Instalasi FreeRADIUS ft. daloRADIUS | [UPDATE - Study case pada Debian Buster]

NOTE: Artikel ini telah mengalami perubahan. Sebelumnya, versi sistem operasi yang saya gunakan adalah Debian Wheezy. Dengan menggunakan Debian Buster beberapa versi package  juga ikut berubah. Update package akan saya beri warna font merah Remote Authentication Dial-In User Service atau sering disebut dengan RADIUS adalah sebuah protokol jaringan yang melayani administrasi pengguna dalam penggunaan jaringan secara terpusat. Aspek pelayanan yang diberikan meliputi  Authetication, Authorization dan Accounting  yang kemudian disingkat AAA atau triple A . RADIUS akan sangat dibutuhkan oleh provider skala besar, misalkan  Internet Service Provider (ISP) . Untuk platform MikroTik, RADIUS sering dikenal dengan userman ( user manager ) karena tugasnya memang manajemen pengguna.