Install FreeRadius 2.x dengan database MySQL

Dec 12, 2017 Install FreeRadius 2.x dengan database MySQL

RADIUS (Remote Authentication Dial-In User Service) merupakan protokol keamanan komputer yang digunakan untuk melakukan autentikasi, autorisasi, dan pendaftaran akun pengguna secara terpusat untuk mengakses jaringan.
Radius sering diterapkan pada mikrotik yang mana dapat digunakan untuk autentikasi user hotspot, ppp, login router, dan sebagainya. Dimana user tersebut ada di dalam database radius, sehingga tidak perlu membuat user pada tiap router mikrotik.

Pada kesempatan kali ini saya mau membaginkan cara setting radius pada Linux dengan menggunakan FreeRadius dan MySQL

Persiapan Instalasi

Pada kesempatan kali ini menggunakan debian 8.x atau bisa juga pakai Ubuntu 16.04 atau dibawahnya.

Konfigurasi IP Server secara statik. misal: 10.100.0.10 (ip private, jadi hanya bisa diakses lewat jaringan lokal)

Install Package

 apt-get install mysql-server freeradius freeradius-utils freeradius-mysql

Konfigurasi MySQL

mysql -u root -pPassword

Setelah masuk ke mysql kemudian buat database dan user beserta akses ke database nya
create database radius;
grant all on radius.* to radius@'%' identified by "radiusPassword";
flush privileges;

Import schema database dari free radius

mysql -u radius -pradiusPassword radius < /etc/freeradius/sql/mysql/schema.sql

 Dari skema database diatas ada beberapa table diantaranya

  • radacct - menampung log login pada radius
  • radcheck - menampung data user untuk login radius
  • radgroupcheck
  • radgroupreply - menampung data group untuk user
  • radpostauth
  • radreply - digunakan menampung data ip pppoe
  • radusergroup - menampung data user dan group biar saling terrelasi

Menambah user untuk radius

mysql -u radius -pradiusPassword radius -e "INSERT INTO radcheck (username, attribute, op, value) VALUES ('user', 'Cleartext-Password', ':=', 'radpassword123');"

Untuk menambah group dan usergroup bisa tambahkan ke table radgroupreply dan radusergroup

Konfig FreeRadius

 Atur file sql.conf untuk koneksi ke database

nano /etc/freeradius/sql.conf

Install Freeradius with MySQL

Atur sites-enable agar menggunakan sql sebagai koneksi ke database nya

 nano /etc/freeradius/sites-enabled/default

 Temukan kata sql.conf , kalau pada editor nano bisa bakai ctrl + w. Kemudian uncomment semua sql di bawahnya dengan menghilangkan hastag/tanda pagar

 Install Freeradius dengan MySQL sebagai Database

Atur Radius agar terhubung dengan konfigurasi database mysql

nano /etc/freeradius/radiusd.conf

Uncomment pada $INCLUDE sql.conf

$INCLUDE sql.conf

 Setting clients.conf untuk memperbolehkan radius di akses dari perangkat lain

nano /etc/freeradius/clients.conf

Atur koneksi yang akan di terima untuk akses dengan beserta secret key nya

client 10.0.0.0/8 {
        secret          = radius
        shortname       = local-network
}
client 172.16.0.0/16 {
        secret          = radius
        shortname       = local-network
}
client 192.168.0.0/16  {
        secret          = radius
        shortname       = local-network
}

Finishing Setup

Sebagai langkah terakhir, kita restart service freeradius dan test apakah radius sudah dapat digunakan atau belum

/etc/init.d/freeradius restart

radtest user radpassword123 localhost 1812 testing123

Install FreeRadius dengan MySQL

 Jika pada hasil test mendapatkan output rad_recv: Access-Accept .......... berarti radius sudah berjalan dengan baik.

Jika belum mendapat output tersebut bisa dicoba trace error menggunakan :

freeradius -X

 

Jika masih ada kendala dalam setting tersebut bisa menghubungi saya, sebisa mungkin saya bantu. :)