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.

Singkat Cerita tentang Burst dan Cara Menghitungnya

Burst adalah sebuah metode yang diterapkan pada bandwidth management dimana pengguna jaringan diizinkan untuk menggunakan bandwidth melebihi batas yang telah ditentukan sebelumnya dalam kurun waktu tertentu.

KENAPA HARUS MENGGUNAKAN BURST? Langkah ini dipercaya akan meningkatkan user experience. Karena jika dirasakan, pengguna akan mendapatkan bandwidth lebih untuk beberapa detik (terutama pada detik awal) kemudian melambat secara perlahan dan konsisten. Anda dapat menganalogikan burst ini seperti ketika menyalakan obor yang bahan bakarnya mulai menipis. Kemudian anda menambahkan bahan bakar pada obor tersebut. Maka seketika api akan membara dan beberapa saat kemudian meredup secara perlahan ketika bahan bakar mulai habis lagi.

Untuk melakukan bursting, kondisi berikut harus terpenuhi diantaranya:
- Burst dilakukan jika masih tersedia bandwidth (tentunya setelah sistem QoS telah memberikan alokasi CIR pada seluruh client)
- Burst data rate yang didapatkan pengguna harus lebih kecil dari data rate yang menjadi patokan (burst threshold).
- Beberapa kententuan lainnya.

Pada MikroTik, burst memiliki 3 parameter yang konfigurasinya tidak boleh dibiarkan kosong. Parameter tersebut adalah:
- burst-limit (bps) = adalah jumlah bandwidth maksimal yang akan didapatkan pengguna ketika burst sedang aktif.
- burst-time (second) = waktu yang digunakan untuk menghitung rata-rata data rate (beberapa orang mengira bahwa burst-time merupakan waktu yang digunakan untuk bursting. Padahal bukanlah seperti itu)
- burst-threshold (bps) = nilai ini akan menjadi patokan kapan bursting akan diaktifkan dan dinonaktifkan.

KAPAN BURST AKAN DIJALANKAN? Bursting akan berjalan sebagaimana analogi obor diatas. Obor akan menyala sangat terang saat pertama kali karena bahan bakar masih banyak (utuh). Hal ini sama dengan ketika pengguna pertama kali menggunakan jaringan (untuk download misalkan). Pengguna akan mendapatkan burst, yaitu sebuah lonjakan bandwidth dengan batas tertentu (burst-limit) untuk pertama kali. Kecepatan dari bursting tersebut akan bertahan sampai beberapa detik yang dipengaruhi oleh burst-time.

Ketika bahan bakar sudah menipis, obor akan mulai meredup namun tidak padam. Analoginya, ketika bursting sudah mencapai batas waktunya, maka router tidak akan memberikan burst lagi. Pada saat itulah, kecepatan mulai menurun secara perlahan. Lalu pada titik tertentu, walaupun obor masih menyala dia tidak mampu menerangi sekitarnya, sehingga kita harus menambahkan bahan bakar. Hal tersebut dapat digambarkan, ketika data  rate sudah mencapai titik tertentu (burst-threshold) atau bahkan lebih kecil, maka burst akan diaktifkan lagi. Siklus ini akan berlanjut secara terus-menerus selama bandwidth total masih tersedia.

CALCULATION. Banyak referensi yang menyatakan tentang bagaimana menentukan jumlah max-limit, burst-limit, burst-threshold dan burst-time. Yang jelas, pada manual RouterOS atau wiki MikroTik menyatakan bahwa burst-threshold harus lebih kecil dari pada max-limit dan max-limit harus lebih kecil juga dari burst-limit.
burst-threshold < max-limit < burst-limit

Anda dapat menggunakan rasio:
burst-threshold : max-limit : burst-limit = 1 : 2 : 4

Formula tersebut dapat mempermudah anda dalam melakukan perhitungan serta menghindari bilangan yang tidak bisa dibagi.
Bagaimana dengan burst-time?. Pada keterangan diatas sudah disampaikan bahwa burst-time bukanlah waktu sesungguhnya burst dijalankan. Lamanya burst dapat dipengaruhi oleh perbandingan antara burst-threshold dan burst-limit serta juga dipengaruhi oleh data rate yang berjalan pada saat itu juga. Untuk lebih jelasnya, pengaruh lamanya burst berjalan berdasarkan perbandingan antara burst-threshold dan burst-limit dapat dihitung dengan melihat rasio:
client burst : burst time = burst threshold : burst limit .

Dengan persamaan tersebut, maka didapatkan:
burst time = client burst / (burst threshold/burst limit)

Contoh: Terdapat sebuah konfigurasi QoS sebagai berikut:
- burst-limit = 64kbps
- max-limit = 32kbps
- burst-threshold = 16kbps

Berapakah nilai yang harus diisikan pada burst-time jika ingin mengaktifkan burst selama 5 detik?
burst time = 2s / (128kbps/512kbps)
burst time = 2s / 0.25
burst time = 8s

Pembuktian:
- Pada detik 0 nilai data rate juga 0.
(0 + 0 + 0 + 0 + 0 + 0 + 0 + 0) / 8s = 0kbps.
- Pada detik 1 data rate naik menjadi burst-limit (64kbps) karena mendapatkan burst. 0kbps < 16kbps, maka burst akan diaktifkan.
(0 + 0 + 0 + 0 + 0 + 0 + 0 + 64kbps) / 8s = 8kbps.
- Pada detik 2 nilai data rate masih pada burst-limit (64kbps). 8kbps < 16kbps, maka burst akan diaktifkan.
(0 + 0 + 0 + 0 + 0 + 0 + 64kbps + 64kbps) / 8s 16kbps.
- Pada detik 3 karena 16kbps tidak lebih kecil dari 16kbps, maka burst dimatikan.  Kecepatan yang digunakan turun menjadi max-limit (32kbps).

Burst diaktifkan selama 2 kali (2 detik) sesuai dengan perhitungan sebelumnya. Formula tersebut hanya berlaku saat hitungan dimulai dari detik 0. Karena pada detik selanjutnya, kita tidak dapat memprediksikan kapan burst diaktifkan kembali. Hal tersebut bisa disebabkan oleh ketersediaan bandwidth

Itu saja yang dapat saya sampaikan. Salam
Terima kasih semoga bermanfaat.

______________
reference:
- Chris, Novan.Bandwidth Management - Burst.November 2016.Presentasi Indonesia Internet Expo & Summit.Balai Kartini, Jakarta.
- Discher, S. R. (2011). RouterOS by example. Learn Mikrotik.


Instalasi Apache dari Source (Debian Version)

Apache merupakan sebuah webserver yang banyak sekali digunakan. Kurang lebih 65% web server yang berjalan di seluruh dunia menggunakan Apache. Hal yang membuatnya menduduki peringkat teratas penggunaan adalah dia (Apache) memiliki sejarah yang panjang karena memang sudah dikembangkan sejak tahun 1995. Pesaingnya saat ini adalah Nginx (red: engine X) yang memiliki market share sebesar 20%.

Pemasangan aplikasi Apache webserver dapat menggunakan binary package melalui package manager atau compile secara manual. Compile secara manual memang dikenal lebih rumit dari pada melalui package manager. Namun ada beberapa keuntungan ketika sebuah aplikasi dipasang dan di-compile secara manual, diantaranya:

  1. Aplikasi yang dipasang adalah aplikasi dengan versi terbaru. Berbeda dengan aplikasi berbasis package yang akan membutuhkan sedikit banyak waktu untuk perilisan update.
  2. Dapat memilih fitur-fitur yang akan diterapkan pada aplikasi tersebut

Dengan kata lain, apabila Apache webserver ingin dalam kondisi paling update, maka harus dilakukan pemasangan dengan compile secara manual. Berikut adalah langkah-langkah compile Apache webserver secara manual:
  1. Sofware Requirement
    - Apache via Github atau Official
    - APR (Apache Portable Runtime)
    - APR-Utils
    - PCRE (Perl Compatible Regular Expressions) - site 1 | site 2
  2. Ekstrak APR
    Buat sebuah direktori (misalkan /tmp/apache2) dan pindahkan file yang telah di download ke dalamnya. Kemudian ekstrak file utama Apache pada /tmp/apache2. Untuk file APR, ekstrak ke dalam direktori /tmp/apache2/apr dan APR-Utils ke dalam direktori /tmp/apache2/apr-util. 
  3. Ekstrak PCRE
    Buat sebuah direktori (misalkan /tmp/PCRE) dan pindahkan file PCRE ke dalamnya. PCRE merupakan depedensi dari Apache, maka PCRE harus di-compile terlebih dahulu. Masuk ke direktori /tmp/PCRE kemudian berikan perintah berikut:
    ./configure --prefix=/usr/local/pcre
    make j -5
    make j -5 test
    make j -5 install
  4. Let's COMPILE!!!
    Masuk ke direktori Apache yang ada di dalam /tmp/apache2. Berikan perintah berikut:
    ./configure --with-included-apr --with-pcre=/usr/local/pcre --enable-layout=Debian --with-mpm=prefork --prefix=/usr/local/apache2 --with-program-name=apache2 --enable-so --enable-mods-shared=all

Artikel ini masih dalam penulisan lebih lanjut. Dari pada tidak dirilis, mungkin lebih baik jika dirilis sambil dikembangkan lebih lanjut.









Bypass Download dengan JDownloader Tanpa Direct Link



Jika mendengar kata Downloader, mungkin yang terbayang pertama kali adalah Internet Download Manager atau sangat familiar sekali dengan sebutan IDM. IDM merupakan aplikasi shareware yang dipergunakan sebagai download manager (pengatur download) yang hanya tersedia untuk sistem operasi Windows.

OpenVPN Client Issue pada MikroTik v6.18




Pada OpenVPN tersedia beberapa arsitektur jaringan (topologi) diantaranya topologi subnet, net30 dan p2p. Secara default OpenVPN server akan menggunakan p2p sebagai topologinya. Mengapa?

Tahapan dalam Membangun Sebuah Jaringan Komputer


1. Pengantar
Kemajuan teknologi memaksa kita untuk memilih mau mengikutinya, atau malah terlindas oleh jaman. Pernyataan tersebut tidak terbatas pada siapapun atau apapun. Termasuk beberapa instansi atau tempat kerja yang mengharuskan mereka untuk terintegrasi satu sama lain. Suatu contoh, perusahaan DEF mempunya 2 kantor yang berbeda lokasi. 2 kantor tersebut harus saling bertukar data selama 24 x 7 non-stop. Nah, disinilah jaringan komputer dapat dimanfaatkan. Atau contoh lain, misalkan sebuah sekolah membuat sebuah laboratorium yang di dalamnya seluruh komputer harus terhubung dengan internet.
Semua contoh di atas mengimplikasikan jaringan internet. Dan tentunya, pasti melibatkan perancang/teknisi/jasa jaringan.

Port Forwarding ke Arah OpenVPN Client


Pada artikel sebelumnya, telah dijelaskan bagaimana caranya mengkonfigurasi OpenVPN server (Debian) dengan OpenVPN client (MikroTik). Tujuan akhir dari konfigurasi tersebut adalah akses MikroTik secara remote.

Mencari Selisih Jumlah Hari Antara Dua Tanggal pada Bash Scripting

Beberapa waktu lalu lagi bikin projek yang melibatkan protokol HTTPS. Seperti yang kita tahu bahwa HTTPS merupakan protokol yang melindungi ...