[Project] Mikrotik Hotspot Login dengan Database (MySQL / MariaDB) FreeRadius di Debian 9 “Stretch”

project_radius_server_klb_0

Salah satu dari fitur yang menarik di mikrotik adalah Hotspot Login, dengan fitur ini maka pengguna harus ter autentikasi dulu sebelum bisa terhubung ke jaringan (misal untuk terhubung ke internet). Yang lebih menarik lagi adalah dukungan terhadap Radius Server, Fitur dari Hotspot Login ini menyediakan opsi untuk pengembangan lebih jauh lagi untuk manajemen user. Data user dapat di simpan di server yang terpisah, artinya pengembangan aplikasi akan semakin mudah. Seperti Project yang beberapa waktu lalu dibuat atas permintaan salah satu Sekolah Menengan Kejuruah (SMK) yang ada di Kabupaten Banyumas, untuk lebih jelasnya dapat melihat penjelasan berikut

1. Permintaan Fitur

Pihak admin jaringan sekolah ingin membuat sistem agar, permintaan pembuatan user dan password untuk login ke jaringan tidak harus meminta ke Admin, karena dapat merepotkan kedua belah pihak, melihat kondisi geografis Sekolah yang memang terdapat jarak yang lumayan jauh. Nantinya siswa, dapat meminta user dan password ke perwakilan admin di masing-masing gedung program keahlian (karena berjauhan dengan kantor dan ruang admin). pewakilan admin ini tidak memiliki akses ke Router Mikrotik (karena berbagai alasan keamanan), perwakilan admin ini yang akan diberikan Akses ke Sistem Radius yang telah terhubung ke Router Mikrotik.

2. Kebutuhan Sistem

Pihak sekolah telah menyediakan akses Internet, Router Mikrotik Cloud Core Router CCR1016-12G. Lalu untuk koneksi ke masing-masing gedung Program Keahlian menggunakan media koneksi Fiber Optic. Untuk Server sendiri di “Nyawai” oleh Sistem Operasi Debian 9 “Stretch”.

https://www.instagram.com/p/BYKoyJwA4cr/

3. Instalasi dan Konfigurasi FreeRadius

Sebagai alternatif Radius Server yang tersedia Free adalah FreeRadius, instalasinya juga cukup mudah pada Sistem Operasi Debian 9. Pastikan telah terinstall Paket-paket Web Server sebelumnya, berikut adalah langkah-langkahnya :

Install FreeRadius dan FreeRadius-Mysql :

# apt install freeradius freeradius-mysql

Buat Database untuk FreeRadius (bisa lewat phpMyAdmin) :

mysql -u root -p

CREATE DATABASE radius;

Import database :

# mysql -u root -p radius < /etc/freeradius/*/mods-config/sql/main/mysql/schema.sql

Untuk koneksi database, edit file berikut :

# nano /etc/freeradius/*/mods-available/sql

Uncomment dan Sesuaikan beberapa baris berikut agar sesuai settingan Server Mysql / MariaDB

driver = “rlm_sql_mysql”

dialect = “mysql”

server = “localhost”
port = 3306
login = “root”
password = “*****”

radius_db = “radius”

Simpan dan Keluar

Buat Link agar Mod sql dapat di load oleh FreeRadius Server

# ln -s /etc/freeradius/*/mods-available/sql /etc/freeradius/*/mods-enabled

Konfigurasikan agar dapat diakses oleh Client (Mikrotik), Edit file berikut :

# nano /etc/freeradius/*/clients.conf

Tambahkan baris berikut pada bagian bawah file (sesuaikan dengan konfigurasi jaringan yang ada)

client jaringan_lokal {
                     ipaddr   =  192.168.20.0/24
                     secret    =  1234
}

Simpan dan Keluar

Restart Service FreeRadius :

# systemctl restart freeradius

Untuk menambahkan User dan password, jalankan perintah SQL berikut pada Console MySQL / MariaDB :

Misal akan menambahkan username : aaa, dan password : bbb

INSERT INTO radcheck (username,attribute,op,value) VALUES (‘aaa’, ‘Cleartext-Password’, ‘:=’, ‘bbb’);

4. Konfigurasi Mikrotik Hotspot – FreeRadius

Pastikan Konfigurasi Routing dan Hotspot telah berfungsi dengan baik terlebih dahulu, Buka Winbox, Pilih Menu Radius, lalu Tambahkan Radius Server Baru

Isikan sesuai dengan konfigurasi RADIUS Server diatas.

project_radius_server_klb_1

Masuk ke Menu Hotspot, Buka Server Profile yang dipakai

project_radius_server_klb_2

Pada Tab RADIUS, checklist pada pilihan use RADIUS

project_radius_server_klb_3

5. Aplikasi Berbasis Web

Agar mudah dioperasikan orang awam sekalipun, maka dibuatlah Aplikasi berbasis web untuk manajemen user dan password hotspot.

Tampilan User Siswa

project_radius_server_klb_4

Menambahkan User Siswa

project_radius_server_klb_5

6. Hotspot Login

Username dan Password yang dibuat tadi (baik lewat Console maupun lewat Aplikasi berbasis Web) sudah dapat digunakan untuk Login Hotspot Internet.

project_radius_server_klb_6

Sekian, Terimakasih, dan Semoga Bermanfaat.

 

35 pemikiran pada “[Project] Mikrotik Hotspot Login dengan Database (MySQL / MariaDB) FreeRadius di Debian 9 “Stretch”

  1. saya web developer… dan saya ingin bertanya,, cara menanam aplikasi berbasis web pada sebuah router jaringan, biasanya saya menggunakan komputer server untuk mengaksesnya namun IP server akan selalu berubah

    Suka

    1. kalo menanam yg dimaksud adalah memasukan aplikasi ke routerboard mikrotik sepertinya belum bisa.

      Untuk masalah IP server selalu berubah, bisa gunakan / langganan ISP yg Dedicated / IP publik Statik.

      Terimaksih

      Suka

  2. maaf mau menanyakan, untuk misalnya ada 2 router atau lebih dan dimasukan ke free-radius, apakah di confignya ip_addressnya ditambahkan 2 ?

    Suka

      1. misal topologinya

        (internet)
        |
        |
        (mikrotik Utama)—->(server radius )
        |
        |
        (mikrotik 2)
        |
        |
        (access-point)
        |
        |
        (client)

        untuk mikrotik 2nya berarti dimasukan ipnya ke server radius ?

        Suka

      1. Belum bisa juga, karena ini aplikasi komersial.

        tapi jika membutuhkan sharing dan diskusi, silahkan gratis…

        Tapi untuk source code Mohon maaf tidak bisa

        Suka

Tinggalkan komentar