๐ 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! ๐ป๐ฅ