Instalează FreeRADIUS și Daloradius pe Rocky/Alma/CentOS 9|8
Vreau să instalez FreeRADIUS și Daloradius pe CentOS 8/RHEL 8. RADIUS, care reprezintă „Remote Authentication Dial-In User Service”, este un protocol de rețea utilizat pentru autentificarea și contabilizarea utilizatorilor la distanță. Oferă servicii AAA; și anume Autorizare, Autentificare și Contabilizare.
FreeRADIUS este un server RADIUS open source, de înaltă performanță, scalabil, modular și bogat în funcționalități. FreeRADIUS oferă suport pentru proxy de cereri, fail-over și echilibrarea încărcării, precum și acces la diverse baze de date.
Caracteristici principale ale FreeRADIUS
- Configurare flexibilă printr-o gamă largă de metode pentru selectarea configurațiilor utilizatorului.
- Suport complet pentru atributele RFC 2865 și RFC 2866.
- EAP cu subtipurile EAP-MD5, EAP-SIM, EAP-TLS, EAP-TTLS, EAP-PEAP și Cisco LEAP
- Atribute specifice furnizorului pentru aproape o sută de furnizori, inclusiv BinTec, Foundry, Cisco, Juniper, Lucent/Ascend, HP ProCurve, Microsoft, USR/3Com, Acc/Newbridge și mulți alții.
Introducerea daloRADIUS în mix
daloRADIUS este o platformă avansată de gestionare RADIUS prin web, scrisă în PHP și JavaScript. Este destinată în principal gestionării hotspoturilor și implementărilor ISP cu scop general, alimentate de serverul FreeRADIUS. Mai jos sunt principalele caracteristici ale daloRADIUS:
- Strat de abstractizare a bazei de date cu suport pentru multe sisteme de baze de date – MySQL, SQLite, PostgreSQL, MsSQL și Oracle
- Gestionare avansată a utilizatorilor
- Raportare și contabilitate grafică puternică
- Se integrează cu Google Maps pentru geolocalizare
- Are un motor de facturare
Urmărește pașii următori discutați pentru a instala FreeRADIUS și daloRADIUS pe sistemul Linux CentOS 8/RHEL 8.
Pasul 1: Actualizează-ți serverul
Nu aveți încredere niciodată într-un sistem neactualizat. Toate pachetele instalate pot fi actualizate executând comanda de mai jos în terminal.
sudo dnf -y updatePasul 2: Instalează Apache și PHP
Vom folosi serverul Apache httpd pentru a găzdui daloRADIUS pe sistemul dumneavoastră. Instalați ambele pachete, httpd și PHP, cu următoarea comandă.
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 MDB2Verifică versiunea de PHP instalată pentru a confirma că instalarea a fost realizată cu succes.
$ 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 TechnologiesInstalează serverul web Apache:
sudo dnf -y install @httpdPorniți și activați serviciile php-fpm și httpd.
sudo systemctl enable --now httpd php-fpmSă validăm începutul verificând starea celor două servicii.
systemctl status httpd php-fpmPermite porturile http și https pe firewall.
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reloadReferință pentru instalarea Apache httpd:
- Instalați serverul Apache httpd pe RHEL/CentOS 8
Pasul 3: Instalarea și configurarea MariaDB
Avem un ghid separat pentru instalarea serverului de baze de date MariaDB pe RHEL/CentOS 8. Consultați-l folosind linkul de mai jos.
- Instalați serverul de baze de date MariaDB pe CentOS/RHEL 8
După instalare, accesați consola MySQL ca utilizator root și creați baza de date/utilizator pentru FreeRADIUS/daloRADIUS.
$ mysql -u root -p
CREATE DATABASE radius;
GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "StrongradIusPass";
FLUSH PRIVILEGES;
\qPasul 4: Instalarea FreeRADIUS
Pachetele FreeRADIUS sunt disponibile în depozitul 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
Pentru a instala, pur și simplu rulează comanda.
sudo dnf install -y @freeradius freeradius-utils freeradius-mysqlPorniți serviciul după instalare.
sudo systemctl enable --now radiusd.serviceAcum poți verifica starea:
$ 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..Dacă aveți serviciul Firewalld activ, permiteți traficul radius și http1812 și 1813.
sudo firewall-cmd --add-service=radius --permanent
sudo firewall-cmd --reloadPasul 5: Configurarea FreeRADIUS
Pentru a configura FreeRADIUS să folosească MariaDB, urmați pașii de mai jos.
1 – Importați schema bazei de date Radius pentru a popula baza de date radius
sudo su -
mysql -u root -p radius < /etc/raddb/mods-config/sql/main/mysql/schema.sql2 – Configurare Radius
Mai întâi trebuie să creezi un link simbolic pentru SQL în /etc/raddb/mods-enabled
sudo ln -s /etc/raddb/mods-available/sql /etc/raddb/mods-enabled/Configurează modulul SQL /raddb/mods-available/sql și schimbă parametrii de conectare la baza de date pentru a se potrivi cu mediul tău:
sudo vi /etc/raddb/mods-available/sql- Secțiunea sql ar trebui să arate similar cu cea de mai jos.
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"Comentează setările 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
# }
Apoi schimbă dreptul de grup al /etc/raddb/mods-enabled/sql în radiusd:
sudo chgrp -h radiusd /etc/raddb/mods-enabled/sqlReporniți serviciul radiusd
sudo systemctl restart radiusdPasul 6: Instalează și configurează Daloradius (Opțional)
Poți folosi Daloradius pentru a gestiona serverul radius printr-o interfață web. Aceasta este o configurație opțională pe care o poți selecta în funcție de cazul tău de utilizare.
Descarcă codul daloradius de pe Github.
sudo yum -y install git vim
git clone https://github.com/lirantal/daloradius.gitImportați tabelele MySQL Daloradius
mysql -u root -p radius < daloradius/contrib/db/fr3-mariadb-freeradius.sql
mysql -u root -p radius < daloradius/contrib/db/mariadb-daloradius.sqlMută folderul daloradius în calea /var/www/html
sudo mv daloradius /var/www/Apoi schimbă permisiunile pentru folderul http și setează permisiunile corecte pentru fișierul de configurare 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/Ar trebui să modificați acum fișierul daloradius.conf.php pentru a ajusta informațiile bazei de date MySQL.
sudo vim daloradius.conf.phpSetați numele bazei de date, utilizatorul și parola pentru conectare.
$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';Pentru a fi sigur că totul funcționează, reporniți serviciile radiusd și httpd.
sudo systemctl restart radiusd.service httpd
systemctl status radiusd.service httpdNu ar trebui să existe nicio eroare în ieșirea stării serviciului:
Creează directoarele suplimentare necesare.
cd /var/www/daloradius/
sudo mkdir -p var/{log,backup}
sudo chown -R apache:apache varInstalează modulele PHP de mai jos.
sudo pear install DB
sudo pear install MDB2Configurează serverul web Apache
Configurează Apache să asculte pe portul 80 și pe portul 8000
$ sudo vim /etc/httpd/conf/httpd.conf
Listen 80
Listen 8000Configurează gazda virtuală pentru modulul operatori:
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>
EOFUrmătorul pas este să creăm un host virtual pentru utilizatori:
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>
EOFCreează directoare care vor stoca fișierele de jurnal.
sudo mkdir -p /var/log/httpd/daloradius/{operators,users}Dezactivați pagina de întâmpinare implicită a serverului web Apache.
sudo rm /etc/httpd/conf.d/welcome.confDacă ai SELinux activ, etichetează directoarele corespunzător.
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/daloradiusDacă SELinux este activat, adaugă eticheta pentru portul 8000 pentru utilizare de către httpd.
sudo semanage port -m -t http_port_t -p tcp 8000Verifică dacă a fost aplicat corect.
# semanage port -l | grep -w http_port_t
http_port_t tcp 8000, 80, 81, 443, 488, 8008, 8009, 8443, 9000Permite accesul la porturi din firewall.
sudo firewall-cmd --add-service={http,https,radius} --permanent
sudo firewall-cmd --add-port=8000/tcp --permanent
sudo firewall-cmd --reloadReporniți serviciile pentru a vă asigura că totul funcționează.
sudo systemctl restart httpd radiusd.serviceStarea serviciilor dvs. poate fi verificată folosind systemctl:
systemctl status httpd radiusdAccesează acum daloradius folosind URL-urile de mai jos.
- Aplicație de gestionare RADIUS: http://<ip>:8000/
- Aplicația portalului utilizatorului RADIUS: http://<ip>
Exemplu de interfață a portalului pentru aplicația de gestionare RADIUS.
Detaliile implicite pentru conectare sunt:
Username: administrator
Password: radiusAspectul interfeței de administrare daloRADIUS:
Bucură-te de utilizarea FreeRADIUS și daloRADIUS:
- Instalează FreeRADIUS și daloRADIUS pe Ubuntu

