Pasang FreeRADIUS dan Daloradius di Rocky/Alma/CentOS 9|8
Saya ingin menginstal FreeRADIUS dan Daloradius di CentOS 8/RHEL 8. RADIUS, yang merupakan singkatan dari "Remote Authentication Dial-In User Service", adalah protokol jaringan yang digunakan untuk otentikasi pengguna jarak jauh dan akuntansi. Ini menyediakan layanan AAA, yaitu Otorisasi, Otentikasi, dan Akuntansi.
FreeRADIUS adalah server RADIUS sumber terbuka yang memiliki kinerja tinggi, dapat diskalakan, modular, dan kaya fitur. FreeRADIUS mendukung proxy permintaan, fail-over dan load balancing, serta akses ke berbagai backend database.
Fitur Utama FreeRADIUS
- Konfigurasi Fleksibel melalui berbagai metode untuk memilih konfigurasi pengguna.
- Dukungan penuh untuk atribut RFC 2865 dan RFC 2866.
- EAP dengan sub-tipe EAP-MD5, EAP-SIM, EAP-TLS, EAP-TTLS, EAP-PEAP, dan Cisco LEAP EAP
- Atribut Khusus Vendor untuk hampir seratus vendor, termasuk BinTec, Foundry, Cisco, Juniper, Lucent/Ascend, HP ProCurve, Microsoft, USR/3Com, Acc/Newbridge, dan banyak lagi.
Membawa daloRADIUS ke dalam campuran
daloRADIUS adalah platform manajemen web RADIUS canggih yang ditulis dalam PHP dan JavaScript. Platform ini terutama ditujukan untuk mengelola Hotspot dan penerapan ISP untuk tujuan umum yang didukung oleh server FreeRADIUS. Berikut adalah fitur utama dari daloRADIUS:
- Lapisan abstraksi database dengan dukungan untuk banyak sistem database – MySQL, SQLite, PostgreSQL, MsSQL, dan Oracle
- Manajemen pengguna tingkat lanjut
- Laporan dan akuntansi grafis yang kuat
- Terintegrasi dengan GoogleMaps untuk lokasi geografis
- Memiliki mesin penagihan
Ikuti langkah-langkah berikut yang dibahas untuk menginstal FreeRADIUS dan daloRADIUS pada sistem Linux CentOS 8/RHEL 8.
Langkah 1: Perbarui Server Anda
Jangan pernah mempercayai sistem yang tidak diperbarui. Semua paket yang terpasang dapat diperbarui dengan menjalankan perintah di bawah ini di terminal.
sudo dnf -y updateLangkah 2: Instal Apache dan PHP
Kita akan menggunakan server Apache httpd untuk meng-host daloRADIUS di sistem Anda. Instal paket httpd dan PHP dengan perintah berikut.
sudo dnf module reset -y php
sudo dnf module reset -y php && sudo dnf module install -y php:8.0
sudo dnf -y install php-{cli,curl,mysqlnd,devel,gd,pear,mbstring,xml,pear,zip}
sudo pear install DB
sudo pear install MDB2Periksa versi PHP yang terpasang untuk memastikan instalasi berhasil.
$ php -v
PHP 8.0.30 (cli) (built: Aug 3 2023 17:13:08) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend TechnologiesPasang server web apache:
sudo dnf -y install @httpdMulai dan aktifkan layanan php-fpm dan httpd.
sudo systemctl enable --now httpd php-fpmMari kita validasi awal dengan memeriksa status kedua layanan.
systemctl status httpd php-fpmIzinkan port http dan https di firewall.
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reloadReferensi untuk instalasi Apache httpd:
- Instal server Apache httpd di RHEL/CentOS 8
Langkah 3: Instal dan Konfigurasi MariaDB
Kami memiliki panduan terpisah tentang instalasi server basis data MariaDB di RHEL/CentOS 8. Silakan merujuknya menggunakan tautan di bawah ini.
- Instal Server Database MariaDB di CentOS/RHEL 8
Setelah instalasi, akses console MySQL sebagai pengguna root dan buat database/pengguna untuk FreeRADIUS/daloRADIUS.
$ mysql -u root -p
CREATE DATABASE radius;
GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "StrongradIusPass";
FLUSH PRIVILEGES;
\qLangkah 4: Menginstal FreeRADIUS
Paket FreeRADIUS tersedia di repositori modular.
$ sudo dnf module list freeradius
Last metadata expiration check: 0:04:00 ago on Thu 10 Oct 2019 05:08:54 PM EAT.
CentOS-8 - AppStream
Name Stream Profiles Summary
freeradius 3.0 [d] server [d] High-performance and highly configurable free RADIUS server
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Untuk menginstal, cukup jalankan perintahnya.
sudo dnf install -y @freeradius freeradius-utils freeradius-mysqlMulai layanan setelah instalasi.
sudo systemctl enable --now radiusd.serviceSekarang Anda bisa memeriksa statusnya:
$ systemctl status radiusd.service
● radiusd.service - FreeRADIUS high performance RADIUS server.
Loaded: loaded (/usr/lib/systemd/system/radiusd.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2023-11-23 01:53:42 UTC; 3s ago
Process: 14781 ExecStart=/usr/sbin/radiusd -d /etc/raddb (code=exited, status=0/SUCCESS)
Process: 14778 ExecStartPre=/usr/sbin/radiusd -C (code=exited, status=0/SUCCESS)
Process: 14732 ExecStartPre=/bin/sh /etc/raddb/certs/bootstrap (code=exited, status=0/SUCCESS)
Process: 14731 ExecStartPre=/bin/chown -R radiusd.radiusd /var/run/radiusd (code=exited, status=0/SUCCESS)
Main PID: 14783 (radiusd)
Tasks: 6 (limit: 22612)
Memory: 77.8M
CGroup: /system.slice/radiusd.service
└─14783 /usr/sbin/radiusd -d /etc/raddb
Nov 23 01:53:41 rocky8.mylab.io sh[14769]: URI:http://www.example.com/example_ca.crl
Nov 23 01:53:41 rocky8.mylab.io sh[14769]: Certificate is to be certified until Jan 22 01:53:41 2024 GMT (60 days)
Nov 23 01:53:41 rocky8.mylab.io sh[14769]: Write out database with 1 new entries
Nov 23 01:53:41 rocky8.mylab.io sh[14769]: Data Base Updated
Nov 23 01:53:41 rocky8.mylab.io sh[14741]: openssl pkcs12 -export -in client.crt -inkey client.key -out client.p12 -passin pass:'whatever' -passout pass:'whatever'
Nov 23 01:53:41 rocky8.mylab.io sh[14741]: chmod g+r client.p12
Nov 23 01:53:41 rocky8.mylab.io sh[14741]: openssl pkcs12 -in client.p12 -out client.pem -passin pass:'whatever' -passout pass:'whatever'
Nov 23 01:53:41 rocky8.mylab.io sh[14741]: chmod g+r client.pem
Nov 23 01:53:41 rocky8.mylab.io sh[14741]: cp client.pem '[email '.pem
Nov 23 01:53:42 rocky8.mylab.io systemd[1]: Started FreeRADIUS high performance RADIUS server..Jika layanan Firewalld berjalan, izinkan lalu lintas radius dan http masuk dan keluar. Server Radius menggunakan port udp 1812 dan 1813.
sudo firewall-cmd --add-service=radius --permanent
sudo firewall-cmd --reloadLangkah 5: Konfigurasi FreeRADIUS
Untuk Mengonfigurasi FreeRADIUS agar menggunakan MariaDB, ikuti langkah-langkah di bawah ini.
1 – Impor skema database Radius untuk mengisi database radius
sudo su -
mysql -u root -p radius < /etc/raddb/mods-config/sql/main/mysql/schema.sql2 – Konfigurasikan Radius
Pertama, Anda harus membuat tautan simbolis untuk SQL di /etc/raddb/mods-enabled
sudo ln -s /etc/raddb/mods-available/sql /etc/raddb/mods-enabled/Konfigurasikan modul SQL /raddb/mods-available/sql dan ubah parameter koneksi database sesuai dengan lingkungan Anda:
sudo vi /etc/raddb/mods-available/sql- Bagian sql seharusnya terlihat mirip dengan berikut.
sql {
driver = "rlm_sql_mysql"
dialect = "mysql"
# Connection info:
server = "localhost"
port = 3306
login = "radius"
password = "StrongradIusPass"
# Database table configuration for everything except Oracle
radius_db = "radius"
}
# Set to ‘yes’ to read radius clients from the database (‘nas’ table)
# Clients will ONLY be read on server startup.
read_clients = yes
# Table to keep radius client info
client_table = "nas"Komentari pengaturan SSL MySQL.
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
# }
Kemudian ubah hak akses grup dari /etc/raddb/mods-enabled/sql menjadi radiusd:
sudo chgrp -h radiusd /etc/raddb/mods-enabled/sqlMulai ulang layanan radiusd
sudo systemctl restart radiusdLangkah 6: Instal dan Konfigurasi Daloradius (Opsional)
Anda dapat menggunakan Daloradius untuk mengelola server radius melalui antarmuka web. Ini adalah konfigurasi opsional yang dapat Anda pilih tergantung pada kebutuhan Anda.
Unduh kode daloradius dari Github.
sudo yum -y install git vim
git clone https://github.com/lirantal/daloradius.gitImpor tabel MySQL Daloradius
mysql -u root -p radius < daloradius/contrib/db/fr3-mariadb-freeradius.sql
mysql -u root -p radius < daloradius/contrib/db/mariadb-daloradius.sqlPindahkan folder daloradius ke jalur di /var/www/html
sudo mv daloradius /var/www/Kemudian ubah izin untuk folder http dan atur izin yang sesuai untuk file konfigurasi daloradius.
cd /var/www/daloradius/app/common/includes/
sudo cp daloradius.conf.php.sample daloradius.conf.php
sudo chown -R apache:apache /var/www/daloradius/Sekarang Anda harus memodifikasi file daloradius.conf.php untuk menyesuaikan informasi database MySQL.
sudo vim daloradius.conf.phpTentukan nama database, pengguna, dan kata sandi untuk koneksi.
$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = 'radius';
$configValues['CONFIG_DB_PASS'] = 'StrongradIusPass';
$configValues['CONFIG_DB_NAME'] = 'radius';Untuk memastikan semuanya berjalan dengan baik, restart layanan radiusd dan httpd.
sudo systemctl restart radiusd.service httpd
systemctl status radiusd.service httpdSeharusnya tidak ada kesalahan dalam output status layanan:
Buat direktori tambahan yang diperlukan.
cd /var/www/daloradius/
sudo mkdir -p var/{log,backup}
sudo chown -R apache:apache varPasang modul PHP di bawah ini.
sudo pear install DB
sudo pear install MDB2Konfigurasikan server web Apache
Konfigurasikan Apache untuk mendengarkan di port 80 dan port 8000
$ sudo vim /etc/httpd/conf/httpd.conf
Listen 80
Listen 8000Konfigurasikan host virtual untuk modul operator:
sudo tee /etc/httpd/conf.d/operators.conf<<EOF
<VirtualHost *:8000>
ServerAdmin operators@localhost
DocumentRoot /var/www/daloradius/app/operators
<Directory /var/www/daloradius/app/operators>
Options -Indexes +FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/daloradius>
Require all denied
</Directory>
ErrorLog /var/log/httpd/daloradius/operators/error.log
CustomLog /var/log/httpd/daloradius/operators/access.log combined
</VirtualHost>
EOFSelanjutnya kita membuat host virtual untuk pengguna:
sudo tee /etc/httpd/conf.d/users.conf<<EOF
<VirtualHost *:80>
ServerAdmin users@localhost
DocumentRoot /var/www/daloradius/app/users
<Directory /var/www/daloradius/app/users>
Options -Indexes +FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/daloradius>
Require all denied
</Directory>
ErrorLog /var/log/httpd/daloradius/users/error.log
CustomLog /var/log/httpd/daloradius/users/access.log combined
</VirtualHost>
EOFBuat direktori yang akan menyimpan file log.
sudo mkdir -p /var/log/httpd/daloradius/{operators,users}Nonaktifkan halaman sambutan default server web Apache.
sudo rm /etc/httpd/conf.d/welcome.confJika Anda memiliki SELinux aktif, beri label direktori sesuai.
sudo yum -y install policycoreutils-python-utils
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/daloradius(/.*)?"
sudo restorecon -Rv /var/www/daloradiusJika SELinux sedang menegakkan, tambahkan label ke port 8000 untuk digunakan oleh httpd.
sudo semanage port -m -t http_port_t -p tcp 8000Periksa apakah sudah diterapkan dengan benar.
# semanage port -l | grep -w http_port_t
http_port_t tcp 8000, 80, 81, 443, 488, 8008, 8009, 8443, 9000Izinkan akses port dari firewall.
sudo firewall-cmd --add-service={http,https,radius} --permanent
sudo firewall-cmd --add-port=8000/tcp --permanent
sudo firewall-cmd --reloadMulai ulang layanan untuk memastikan semuanya berfungsi dengan baik.
sudo systemctl restart httpd radiusd.serviceStatus layanan Anda dapat diperiksa menggunakan systemctl:
systemctl status httpd radiusdSekarang akses daloradius dengan URL di bawah ini.
- Aplikasi manajemen RADIUS: http://<ip>:8000/
- Aplikasi portal pengguna RADIUS: http://<ip>
Contoh antarmuka portal aplikasi manajemen RADIUS.
Detail login default adalah:
Username: administrator
Password: radiusTampilan antarmuka manajemen daloRADIUS:
Nikmati menggunakan FreeRADIUS dan daloRADIUS:
- Instal FreeRADIUS & daloRADIUS di Ubuntu

