Cara Install FreeRADIUS pada Ubuntu Server dengan MySQL: Panduan Lengkap!


๐Ÿš€ Pengantar

Kamu ingin mengatur sistem autentikasi jaringan dengan FreeRADIUS di Ubuntu Server menggunakan database MySQL? Tenang, kamu berada di tempat yang tepat! Di artikel ini, kita akan membahas cara menginstall dan mengkonfigurasi FreeRADIUS agar bekerja dengan MySQL serta cara melakukan pengujian koneksi. Yuk, langsung kita mulai! ๐Ÿš€


๐Ÿ“Œ Apa Itu FreeRADIUS?

FreeRADIUS adalah server otentikasi jaringan yang mendukung berbagai metode autentikasi, seperti username-password dan sertifikat digital. Dengan integrasi ke database MySQL, FreeRADIUS bisa menyimpan informasi user dengan lebih fleksibel dan terstruktur.


๐Ÿ›  Persiapan Sebelum Install

Sebelum kita mulai, pastikan kamu menggunakan sistem operasi berbasis Ubuntu/Debian dan memiliki akses root. Pastikan juga MySQL/MariaDB sudah terinstal. Disini saya menggunakan user root agar lebih mudah saja. Jika ingin membuat user mysql khusus untuk radius, dipersilahkan.

๐Ÿ’ก Username dan password MySQL yang akan kita gunakan dalam tutorial ini:

  • Username: root
  • Password: root

๐Ÿ“ฅ 1. Instalasi FreeRADIUS dan MySQL

Pertama, update sistem dan install paket yang diperlukan:

sudo apt update
sudo apt install freeradius freeradius-mysql mariadb-server -y

Pastikan MySQL berjalan:

sudo systemctl start mariadb
sudo systemctl enable mariadb

Lalu, masuk ke MySQL:

mysql -u root -p

Masukkan password (root), lalu buat database untuk FreeRADIUS:

CREATE DATABASE radius;
GRANT ALL PRIVILEGES ON radius.* TO 'root'@'127.0.0.1' IDENTIFIED BY 'root';
FLUSH PRIVILEGES;
EXIT;

๐Ÿ“œ 2. Import Skema Database FreeRADIUS

Sekarang kita import skema database FreeRADIUS ke MySQL:

sudo mysql -u root -proot radius < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql

Jika ada error izin akses, jalankan:

sudo chmod 644 /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql

Lalu coba ulangi perintah importnya.


โš™๏ธ 3. Konfigurasi FreeRADIUS Agar Terhubung ke MySQL

Edit file konfigurasi SQL:

sudo nano /etc/freeradius/3.0/mods-available/sql

Cari bagian berikut dan sesuaikan:

driver = "rlm_sql_mysql"

dialect = "mysql"

server = "127.0.0.1"
port = 3306
login = "root"
password = "root"

radius_db = "radius"

Simpan perubahan lalu keluar (CTRL+X, Y, ENTER).

Aktifkan modul SQL:

sudo ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/

๐Ÿ”‘ 4. Konfigurasi Shared Secret FreeRADIUS

Edit file clients.conf:

sudo nano /etc/freeradius/3.0/clients.conf

Tambahkan konfigurasi ini:

client 127.0.0.1 {
    ipaddr = 127.0.0.1
    secret = testing123
    require_message_authenticator = no
    nastype = other
}

Edit file default di site-enabled untuk keperluan redirect after login

sudo nano /etc/freeradius/3.0/sites-enabled/default 
update reply {
    WISPr-Redirection-URL := "https://namasitus.com/sukses"
}

Simpan dan keluar.


๐Ÿ”„ 5. Restart FreeRADIUS

Jalankan perintah berikut untuk menerapkan perubahan:

sudo systemctl restart freeradius
sudo systemctl enable freeradius

Pastikan FreeRADIUS berjalan:

sudo systemctl status freeradius

Jika statusnya active (running), berarti sukses! ๐ŸŽ‰


๐Ÿ‘ค 6. Tambah User ke Database

Masuk ke MySQL dan tambahkan user baru:

mysql -u root -proot radius

Tambahkan user ke tabel radcheck:

INSERT INTO radcheck (username, attribute, op, value) VALUES ('testuser', 'Cleartext-Password', ':=', 'password123');
EXIT;

๐Ÿ” 7. Pengujian dengan radtest

Untuk mengetes apakah FreeRADIUS sudah bisa melakukan autentikasi, jalankan perintah berikut:

radtest testuser password123 127.0.0.1 0 testing123

Jika berhasil, akan muncul output dengan Access-Accept yang menandakan user berhasil diautentikasi. ๐ŸŽฏ


โŒ Troubleshooting

Jika ada error, coba jalankan FreeRADIUS dalam mode debugging:

sudo freeradius -X

Mode ini akan menampilkan log secara real-time sehingga lebih mudah mencari penyebab error.

Bila menggunakan mikrotik, Pada section login di menu server profile hotspot, ceklist CHAP dan PAP


๐ŸŽฏ Kesimpulan

Selamat! Kamu telah berhasil menginstall dan mengkonfigurasi FreeRADIUS dengan MySQL. Sekarang FreeRADIUS sudah bisa menangani autentikasi user berbasis database. ๐Ÿš€

Jika kamu ingin mengintegrasikannya dengan captive portal atau sistem autentikasi lainnya, kamu bisa mengembangkan konfigurasi ini lebih lanjut.

Jangan lupa share artikel ini ke teman-temanmu yang membutuhkan! ๐Ÿ’ก

Happy coding! ๐Ÿ’ป๐Ÿ”ฅ

Leave a Reply

Your email address will not be published. Required fields are marked *