Daftar isi
Pendahuluan
Pada kesempatan kali ini saya akan membuat tutorial untuk instalasi freeradius dan daloradius di ubuntu 20.04, dimana kedua aplikasi ini akan saya gunakan untuk mac authentikasi pada jaringan wifi di Mikrotik AP. Kenapa saya ingin menggunakan metode mac authentication pada jaringan wifi yaitu agar tidak sembarang orang bisa masuk dalam jaringan kita, yang pastinya lebih aman, soalnya hanya macaddress yang sudah di daftarkan yang bisa terkoneksi ke jaringan wifi. oke langsung aja praktek…
Pembahasan
Alat & Bahan
- Laptop/pc/Server
- Ubuntu 20.04 Focal Fossa
- server dengan minimal ram 2gb dan hdd 30gb
- Internet
Update & Upgrade Repo
Sebelum menginstall freeradiusnya dan daloradius sebaiknya kita update ke repo yang paling baru, kali ini saya menggunakan ubuntu 20.04.
Untuk yang masih fresh install kita update dan upgrade dahulu biar mendapatkan yang library yang plaing baru, dengan perintah
apt-get update && apt-get upgrade
Jika muncul seperti ini maka sudah yang paling baru.
Instalasi PHP dan Apache webserver
Selanjutnya, instalasi php dan juga apache webserver sekaligus dengan mariadb, dengan perintah
sudo apt-get install apache2 mariadb-server php libapache2-mod-php php-mail php-mail-mime php-mysql php-gd php-common php-pear php-db php-mbstring php-xml php-curl unzip wget -y
setelah instalasi selesai akan seperti ini
untuk memastikan webservernya sudah berhasil ke instal atau belum, bisa akses menggunakan browser ke ip server. misalnya saya menggunakan ip http://192.168.1.99 maka akan tampil seperti ini
Instalasi Freeradius di Ubuntu 20.04
Untuk menginstal freeradius dan aplikasi pendukungnya seperti MySQL database backend, bisa menggunakan perintah berikut
apt install freeradius freeradius-mysql freeradius-utils -y
Jika tidak ada error, lanjut step selanjutnya, yaitu debug freeradiusnya apakah sudha berjalan normal atau belum, dengan perintah
Stop service freeradiusnya
systemctl stop freeradius
Selanjutnya masuk ke freeradius debug mode dengan perintah
freeradius -X
} listen {
type = "acct"
ipv6addr = ::
port = 0
limit {
max_connections = 16
lifetime = 0
idle_timeout = 30
}
}
Listening on auth address 127.0.0.1 port 18120 bound to server inner-tunnel
Listening on auth address * port 1812 bound to server default
Listening on acct address * port 1813 bound to server default
Listening on auth address :: port 1812 bound to server default
Listening on acct address :: port 1813 bound to server default
Listening on proxy address * port 58909
Listening on proxy address :: port 47503
Ready to process requests
jika freePendahuluanradiusnya berjalan normal maka pada baris terakhir akan Ready to process requests. untuk stop debug mode dengan memencet tombol ctrl+C
selanjutnya kita akan mengaktifkan freeradius ini ke system boot dengan perintah
systemctl enable --now freeradius
Buka port freeradius di Firewall
Freeradius menggunakan port UDP 1812 untuk authentikasinya dan 1813 untuk accountinnya.
ufw allow to any port 1812 proto udp
ufw allow to any port 1813 proto udp
Untuk memastikan portnya running ketikan perintah
ss -alun4 | grep -E ':1812|:1813'
Jika muncul seperti itu berarti sudah benar.
Membuat FreeRADIUS MySQL Database dan Database User
Untuk membuat database dan database user di freeradius dengan menggunakan perintah berikut
mysql -u root -p
Lalu masukkan password root, selanjutnya create database dulu dengan perintah
create database radiusdb;
create user radiusadmin@localhost identified by 'wasd2020';
grant all on radiusdb.* to radiusadmin@localhost;
flush privileges;
quit
untuk yang saya lingkari dengan warna hijau dan merah bisa di ganti sesuai dengan kemauan kalian.
Selanjutnya import skema database dari schema.sql ke radiusdb, dengan perintah
mysql -u root -p radiusdb < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql
selanjutnya masukkan password yang tadi sudah dibuat di mysql tadi. jika tidak ada error maka akan menjadi seperti ini
Konfigurasi Freeradius agar bisa menggunakan SQL
Selanjutnya kita akan mengedit file sql dengan perintah
nano /etc/freeradius/3.0/mods-available/sql
dan mengedit seperti berikut ini
...
sql {
#
# The dialect of SQL being used.
#
# Allowed dialects are:
#
# mssql
...
dialect = "mysql"
# The driver module used to execute the queries.
#driver = "rlm_sql_null"
driver = "rlm_sql_${dialect}"
...
# Connection info:
#
server = "localhost"
port = 3306
login = "radiusadmin"
password = "wasd2020"
...
# Database table configuration for everything except Oracle
radius_db = "radiusdb"
...
...
mysql {
# If any of the files below are set, TLS encryption is enabled
#tls {
# ca_file = "/etc/ssl/certs/my_ca.crt"
# ca_path = "/etc/ssl/certs/"
# certificate_file = "/etc/ssl/certs/private/client.crt"
# private_key_file = "/etc/ssl/certs/private/client.key"
# cipher = "DHE-RSA-AES256-SHA:AES128-SHA"
#
# tls_required = yes
# tls_check_cert = no
# tls_check_cert_cn = no
#}
...
Untuk search kalian bisa menggunakan ctrl+W, dan jika sudah selesai untuk menyimpannya menggunakan ctrl+x lalu tekan Y lalu enter
Selanjutnya kita membuat symbolic link dari SQL mods-available ke mods-enabled denga perintah
ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/
selanjutnya ganti ownership ke freeradius dengan perintah
chown -h freerad.freerad /etc/freeradius/3.0/mods-enabled/sql
Restart service freeradius
systemctl restart freeradius
Memverifikasi freeradius menggunakan sql database
Untuk memverifikasi bahawa freeradius bisa terkoneksi ke sql database, kita coba membuat data sementara untuk mengetesnya dengan cara
mysql -u radiusadmin -p
lalu pilih database radiusdb
use radiusdb;
buat data sementara hanya untuk mengetes aja
insert into radcheck (id,username,attribute,op,value) values("1", "demouser", "Cleartext-Password", ":=", "demopass");
selanjutnya menampilkan jika data sudah berhasil di input dengan cara
select * from radcheck where id="1";
Jika muncul seperti ini berarti sudah berhasil, lalu keluar dari mysql dengan cara ketik aja quit
Selanjutnya stop service freeradiusnya
systemctl stop freeradius
lalu masuk lagi ke debug mode freeradiusnya dengan cara
freeradius -X
pastikan tidak ada error pada saat masuk ke debug mode, untuk mengetesnya kalian bisa membuak terminal baru lagi dan coba masukkan perintah yang tadi sudah di buat di mysql, misalnya seperti
radtest demouser demopass localhost 10 testing123
dan hasilnya seperti ini maka freeradiusnya sudah berjalan dengan benar
root@ubuntu:~# radtest demouser demopass localhost 10 testing123
Sent Access-Request Id 5 from 0.0.0.0:44681 to 127.0.0.1:1812 length 78
User-Name = "demouser"
User-Password = "demopass"
NAS-IP-Address = 127.0.1.1
NAS-Port = 10
Message-Authenticator = 0x00
Cleartext-Password = "demopass"
Received Access-Accept Id 5 from 127.0.0.1:1812 to 127.0.0.1:44681 length 20
root@ubuntu:~#
jika tidak ada yang error kita stop debug modenya (untuk stop debug mode ctrl+C) dan kita start freeradiusnya
systemctl start freeradius
Install dan konfigurasi daloradius
untkuk menginstal daloradius download dulu daloradiusnya dulu ke https://sourceforge.net/projects/daloradius/
Jika sudah di download kalian transfer file tersebut ke /home/{namauser}/ atau terserah kalian
lalu unzip file yang sudah di download tadi menggunakan unzip, jika belum di instal install dulu dengan perintah
apt install unzip
Jika sudah unzip daloradius tadi ke /var/www/html denga perintah
unzip daloradius-1.1-2.zip 'daloradius/*' -d /var/www/html/
Apabila sukses unzipnya maka semua file akan masuk ke /var/www/html/daloradiu
Langkah selanjutnya import database table ke database freeradius yang sudah di buat tadi dengan perintah
mysql -u root -p radiusdb < /var/www/html/daloradius/contrib/db/fr2-mysql-daloradius-and-freeradius.sql
dan
mysql -u root -p radiusdb < /var/www/html/daloradius/contrib/db/mysql-daloradius.sql
Mengganti ownership ke www-data
chown -R www-data.www-data /var/www/html/daloradius/
atur permission filenya
chmod 664 /var/www/html/daloradius/library/daloradius.conf.php
Konfigurasi database daloradius connectionnya
nano /var/www/html/daloradius/library/daloradius.conf.php
...
$configValues['DALORADIUS_VERSION'] = '1.1-2';
$configValues['DALORADIUS_DATE'] = '08 Aug 2019';
$configValues['FREERADIUS_VERSION'] = '2';
$configValues['CONFIG_DB_ENGINE'] = 'mysqli';
$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = 'radiusadmin';
$configValues['CONFIG_DB_PASS'] = 'wasd2020';
$configValues['CONFIG_DB_NAME'] = 'radiusdb';
...
ganti yang saya cetak tebal dengan konfigurasi yang tadi kalian buat. jika sudah ketik ctrl+x lalu tekan y dan enter
Restart serveice freeradisunya
systemctl restart freeradius
Akses daloradius
Jika instalasi tadi tidak ada error maka ketika kalian akeses ip server/daloradius (misalnya http://192.168.1.99/daloradius) maka akan tampil seperti berikut ini.
user dan password default daloradius adalah sebagai berikut
user : administrator
password : radius
Seharusnya sudah sukses, tetapi untuk memastika bahwa daloradius ini berjalan normal kita coba dengan membuat user baru dan nanti mengetsnya apakah akan statusnya accept-accept atau accept-reject.
Ke Management lalu newuser buat user terserah kalian, jangan lupa klik apply
Lalu ke list user dan klikk pada nama usernya terus edit user lalu cari test connectivity
Setelah itu klik perform test dan pastikan sama seperti gambar berikut ini
Jika yang saya tandai merah itu accept-accept berarti daloradius sudah sepenuhnya terkoneksi dengan freeradiusnya.
Penutup
DaloRadius dan freeradius merupakan kombinasi yang sangat bagus untuk membuat system radius ini dan juga kedua sistem ini open source dimana untuk menggunakannya tidak perlu membayar license nya. Demikain tutorial untuk menginstall freeradius dan dlaoradius, semoga bermanfaat…
Kak… Di doloradius apakah ada template vouchernya kak?
Apa kah freeradius dan doloradius bisa di install di STB amlogic
ada gan, hehe tetapi ya gtu kalau pertama kali mungkin bingung dengan fitur2nya hehe
kalau untuk di instal di STB amlogic harusnya bisa aja gan…
Buat tutoral dong gan install, install di stb amlogic hehehe
Terimakasih
iya mungkin kedepannya saya buat2 lagi
ditunggu kak