Langsung ke konten utama

MikroTik Dynamic Queue pada User FreeRADIUS | Atur Bandwidth Secara Otomatis



 Di artikel sebelumnya, telah dijelaskan mengenai atribut MikroTik-Group (FreeRADIUS Group ft RouterOS HotSpot User Profile) yang dapat digunakan oleh FreeRADIUS untuk menyesuaikan user profile yang ada pada MikroTik. User profile pada fitur hotspot juga memiliki parameter rate limit yang berguna untuk membuat dynamic queue.
 Dynamic queue adalah sebuah queue yang ada pada simple queue MikroTik dan akan otomatis terbuat jika pengguna melakukan login. Queue tersebut akan otomatis hilang (terhapus) jika pengguna yang bersangkutan logout atau session timeout-nya sudah habis. Banyak yang percaya bahwa dynamic queue akan menghemat sumber daya router. Hal tersebut dikarenakan jumlah baris queue yang hanya menyesuaikan jumlah pengguna aktif.
 Apabila manajemen user hotspot ditangani sepenuhnya oleh FreeRADIUS, kita tidak perlu membuat user profile pada MikroTik untuk bisa menggunakan dynamic queue. MikroTik memiliki atribut MikroTik-Rate-Limit yang dengan fungsi yang sama. MikroTik-Rate-Limit merupakan atribut dengan jenis reply artinya FreeRADIUS akan mengirimkan atribut tersebut sebagai parameter tambahan setelah proses otentikasi selesai dan NAS telah menerima respon otentikasi berhasil. Anda dapat menerapkan MikroTik-Rate-Limit baik itu pada single account atau juga pada group.

1. PREREQUISITE
1.1. Sistem FreeRADIUS telah berjalan.
1.2. Konfigurasi dilakukan melalui web UI daloRadius
1.3. RouterOS telah terinterasi dengan FreeRADIUS
1.4. (opsional) Terdapat lokal NAS yang digunakan untuk pengujian lokal.


2. KONFIGURASI
Kita hanya perlu mengasosiasi akun yang digunakan dengan atribut rate limit. Ada beberapa hal yang perlu diperhatikan diantaranya:

2.1 Aturan penulisan rate limit
Rate limit memiliki aturan penulisan atau format diantaranya sebagai berikut:
1. Upload dan download dibatasi dengan garis miring (/). Jika dituliskan tanpa delimiter maka upload dan download bernilai sama. misalkan 128k/256k maka kecepatan upload sebesar 128 kilobyte dan download sebesar 256 kilobyte.
2. Besaran bandwidth dituliskan dengan satuan K untuk Kilobyte, M untuk Megabyte dan seterusnya.
3. Masing-masing jenis bandwidth (prioritas dan waktu) dibatasi dengan spasi.
4. Minimal limit, burst threshold, burst limit dan burst time bukan parameter wajib. Baca kembali Singkat Cerita tentang Burst dan Cara Menghitungnya
5. Format: maksimal limit (spasi) burst limit (spasi) burst threshold (spasi) burst time (spasi) priority  (spasi) minimal limit.

Contoh penulisan rate limit:
Saya ingin klien mendapatkan bandwidth:
1. minimal upload 64 kilobyte dan download 128 kilobyte
2. maksimal upload 128 kilobyte dan download 256 kilobyte
3. burst threshold upload 256 kilobyte dan download 512 kilobyte
4. burst limit upload 1 megabyte dan download 2 megabyte
5. burst time selama 8 detik
6. prioritas 7
Penulisan rate limit berdasarkan kriteria diatas yaitu:
128K/256K 1M/2M 256K/512K 8 7 64K/128K 

2.2 Implementasi rate limit
Konfigurasi akan saya bagi mnjadi 2 bagian, yaitu sebagai personal account dan group account. Saya akan mengimplementasikan contoh rate limit diatas pada 2 jenis konfigurasi tersebut.
a. Personal Account
Konfigurasi personal account ditujukan untuk akun yang tidak memiliki pola konfigurasi. Maksudnya, kriteria akun tersebut berbeda dengan kebanyakan akun pada sistem radius. Jumlah akunnya sangat minimal, jadi menerapkan grup juga kurang efisien. Misalkan pada sebuah jaringan anda sebagai satu-satunya administrator dan ingin mendapatkan kecepatan lebih, maka anda hanya perlu menerapkan atribut tersebut pada akun anda sendiri. Berikut adalah tahapan membuat personal account sekaligus mengasosiasikannya dengan Mikrotik-Rate-Limit
a.1 Login daloRadius dan masuk ke menu Management kemudian tab Users selanjutnya klik New User

a.2 isikan kolom Username (misalkan test1personal) dan Password (misalkan test12abc). Untuk pembuatan personal account biarkan Group pada nilai default.

a.3 Tetap pada menu New User, klik tab Attributes

a.4 Pilih Vendor Mikrotik dan Attribute Mikrotik-Rate-Limit selanjutnya klik Add Attribute.

a.5 Akan muncul blok parameter baru. Silahkan isikan 128K/256K 1M/2M 256K/512K 8 7 64K/128K pada kolom Value. Anda tidak perlu merubah nilai pada parameter yang lain. Langkah selanjutnya tekan tombol Apply.

a.6 Masuk ke menu List Users yang ada pada left-pane dan pastikan bahwa pembuatan akun benar-benar sukses.

Tahapan membuat personal account dengan atribut Mikrotik-Rate-Limit telah selesai.

b. Group Account
Group account digunakan untuk mengelompokkan user dengan kriteria dasar yang sama. Sehingga anda tidak perlu menuliskan atribut berulang kali. Cukup memasukkan user tersebut pada group yang diinginkan. Misalkan anda memiliki user dengan klasifkasi bandwidth 1MB, 2MB dan seterusnya. Berikut adalah tahapan membuat group dan mengasosiasikannya dengan Mikrotik-Rate-Limit. Langkah ini juga memuat pembuatan akun baru yang digunakan untuk group.
b.1 Kita harus membuat group terlebih dahulu. Pada daloRadius, group disebut juga sebagai Profile. Login daloRadius dan masuk ke menu Management kemudian tab Profiles selanjutnya klik New Profile.

b.2 Pada kolom Profile Name isikan dengan nama group, misalkan gruptest.
b.3 Pilih Vendor Mikrotik dan Attribute Mikrotik-Rate-Limit selanjutnya klik Add Attribute.

a.4 Akan muncul blok parameter baru. Silahkan isikan 128K/256K 1M/2M 256K/512K 8 7 64K/128K pada kolom Value. Anda tidak perlu merubah nilai pada parameter yang lain. Langkah selanjutnya tekan tombol Apply.


b.5 Masuk ke menu List Profiles yang ada pada left-pane dan pastikan bahwa pembuatan grup benar-benar sukses.

b.6 Untuk pembuatan akun yang akan dimasukkan ke dalam grup gruptest, anda perlu melakukan langkah a.1 dan a.2 hanya saja anda perlu membedakan Username, misalkan test1grup dan mengisikan nilai gruptest pada kolom Group.


3. PENGUJIAN
Biasanya saya melakukan pengujian lokal terlebih dahulu sebelum menguji pada sistem yang sudah berjalan (MikroTik). Dengan begitu apabila terdapat kesalahan pada atribut, saya tidak perlu menghapus session yang sedang berjalan pada sistem tersebut.

3.1 Pengujian Lokal
Pengujian lokal sebenarnya tidak wajib. Untuk pengujian pertama dilakukan pada personal account.
a. Silahkan buka terminal pada komputer yang telah terinstall Freeradius
b. Hentikan proses daemon. Pada debian buster anda bisa menggunakan perintah systemctl stop freeradius.
c. Jalankan proses debugging freeradius -X
d. Buka terminal lainnya dan jalankan perintah berikut: radtest test1personal test12abc localhost:1812 0 localtes
e. Berikut adalah hasil dari proses debugging

FreeRADIUS melakukan pemeriksaan pada database dengan tabel radreply. FreeRADIUS menemukan bahwa akun tersebut telah terasosiasi dengan atribut Mikrotik-Rate-Limit

f. Berikut adalah hasil dari respon radtest.

Saya akan melanjutkan pengujian pada akun grup. Karena FreeRADIUS sudah dalam mode debugging saya tinggal mengirimkan request.
a. Buka terminal lainnya dan jalankan perintah berikut: radtest test1personal test12abc localhost:1812 0 localtes
b. Berikut adalah hasil dari proses debugging:

FreeRADIUS melakukan pemeriksaan pada database dengan tabel radgroupreply. FreeRADIUS menemukan bahwa akun tersebut telah terasosiasi dengan grup gruptest. Dan di dalam gruptest terdapat atribut Mikrotik-Rate-Limit
c. Berikut adalah hasil dari respon radtest.

3.2 Pengujian Sistem
Karena sudah malam, pengujian sistem akan saya lakukan lain hari.
[update]
Saya anggap integrasi MikroTik sebagai NAS denga FreeRADIUS telah dilakukan. Anda bisa melihat referensi Integrasi FreeRADIUS dengan RouterOS sebagai Manajemen User HotSpot.
a. Silahkan buka terminal pada komputer yang telah terinstall Freeradius
b. Hentikan proses daemon. Pada debian buster anda bisa menggunakan perintah systemctl stop freeradius.
c. Jalankan proses debugging freeradius -X
d. Saya melakukan hotspot login menggunakan perangkat yang terhubung dengan MikroTik
e. Pengujian pada personal account yang menampilkan debugging output. active user dan dynamic queue.
Proses debugging

Active User - R menunjukkan user di-manage oleh Radius

Dynamic Queue

f. Pengujian pada group account yang menampilkan debugging output. active user dan dynamic queue.
Proses debugging - FreeRADIUS melakukan pengecekan pada table radgroupreply

Active User - R menunjukkan user di-manage oleh Radius

Dynamic Queue






Itu saja dari saya. Semoga bermanfaat.
Terima kasih.

Komentar

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.