Instalirajte FreeRADIUS i Daloradius na Rocky/Alma/CentOS 9|8
Želim instalirati FreeRADIUS i Daloradius na CentOS 8/RHEL 8. RADIUS, što znači „Remote Authentication Dial-In User Service“, je mrežni protokol koji se koristi za udaljenu autentifikaciju korisnika i obračun. Pruža AAA usluge, a to su Autorizacija, Autentikacija i Obračun.
FreeRADIUS je open source, visokih performansi, skalabilan, modularan i bogat značajkama RADIUS poslužitelj. FreeRADIUS podržava prosljeđivanje zahtjeva, prebacivanje u slučaju kvara i balansiranje opterećenja, kao i pristup raznim bazama podataka.
Najbolje značajke FreeRADIUS-a
- Fleksibilna konfiguracija kroz širok raspon metoda za odabir korisničkih postavki.
- Potpuna podrška za RFC 2865 i RFC 2866 atribute.
- EAP s EAP-MD5, EAP-SIM, EAP-TLS, EAP-TTLS, EAP-PEAP i Cisco LEAP EAP podvrstama
- Pojedinačne značajke za gotovo sto dobavljača, uključujući BinTec, Foundry, Cisco, Juniper, Lucent/Ascend, HP ProCurve, Microsoft, USR/3Com, Acc/Newbridge i mnoge druge.
Uvođenje daloRADIUS-a u igru
daloRADIUS je napredna RADIUS web platforma za upravljanje napisana u PHP-u i JavaScriptu. Namijenjena je prvenstveno za upravljanje hotspotovima i općim ISP rješenjima koja koristi FreeRADIUS server. Ispod su ključne značajke daloRADIUS-a:
- Sloj apstrakcije baze podataka s podrškom za mnoge sustave baza podataka – MySQL, SQLite, PostgreSQL, MsSQL i Oracle
- Napredno upravljanje korisnicima
- Moćno grafičko izvještavanje i računovodstvo
- Integrira se s Google Maps za geolokaciju
- Ima sustav za naplatu
Slijedite sljedeće opisane korake za instalaciju FreeRADIUS i daloRADIUS na CentOS 8/RHEL 8 Linux sustavu.
Korak 1: Ažurirajte svoj poslužitelj
Nikada ne vjerujte sustavu koji nije ažuriran. Sve instalirane pakete možete ažurirati izvođenjem dolje navedenog naredbenog retka u terminalu.
sudo dnf -y updateKorak 2: Instalirajte Apache i PHP
Koristit ćemo Apache httpd poslužitelj za hostanje daloRADIUS-a na vašem sustavu. Instalirajte pakete httpd i PHP pomoću sljedeće naredbe.
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 MDB2Provjerite verziju instaliranog PHP-a kako biste potvrdili da je instalacija bila uspješna.
$ 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 TechnologiesInstalirajte Apache web poslužitelj:
sudo dnf -y install @httpdPokrenite i omogućite php-fpm i httpd servise.
sudo systemctl enable --now httpd php-fpmProvjerimo početak provjerom statusa dviju usluga.
systemctl status httpd php-fpmDopustite HTTP i HTTPS portove na vatrozidu.
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reloadReferenca za instalaciju Apache httpd-a:
- Instalirajte Apache httpd poslužitelj na RHEL/CentOS 8
Korak 3: Instalirajte i konfigurirajte MariaDB
Imamo poseban vodič za instalaciju MariaDB poslužitelja baza podataka na RHEL/CentOS 8. Pogledajte ga koristeći donju poveznicu.
- Instalirajte MariaDB poslužitelj baze podataka na CentOS/RHEL 8
Nakon instalacije, pristupite MySQL konzoli kao root korisnik i kreirajte bazu podataka/korisnika za FreeRADIUS/daloRADIUS.
$ mysql -u root -p
CREATE DATABASE radius;
GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "StrongradIusPass";
FLUSH PRIVILEGES;
\qKorak 4: Instaliranje FreeRADIUS-a
FreeRADIUS paketi su dostupni u modularnom spremištu.
$ 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
Za instalaciju, samo pokrenite naredbu.
sudo dnf install -y @freeradius freeradius-utils freeradius-mysqlPokrenite servis nakon instalacije.
sudo systemctl enable --now radiusd.serviceSada možete provjeriti status:
$ 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..Ako imate pokrenutu Firewalld uslugu, dopustite radius i http promet dolazno i odlazno. Radius poslužitelj koristi udp portove 1812 i 1813.
sudo firewall-cmd --add-service=radius --permanent
sudo firewall-cmd --reloadKorak 5: Konfigurirajte FreeRADIUS
Za konfiguriranje FreeRADIUS-a da koristi MariaDB, slijedite korake u nastavku.
1 – Uvezite shemu baze podataka Radius kako biste popunili bazu podataka radius
sudo su -
mysql -u root -p radius < /etc/raddb/mods-config/sql/main/mysql/schema.sql2 – Konfiguriraj Radius
Prvo morate stvoriti simboličku vezu za SQL unutar /etc/raddb/mods-enabled
sudo ln -s /etc/raddb/mods-available/sql /etc/raddb/mods-enabled/Konfigurirajte SQL modul /raddb/mods-available/sql i promijenite parametre veze s bazom podataka kako bi odgovarali vašem okruženju:
sudo vi /etc/raddb/mods-available/sql- Odsječak sql trebao bi izgledati slično kao dolje.
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"Komentirajte MySQL SSL postavke.
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
# }
Zatim promijenite grupu prava datoteke /etc/raddb/mods-enabled/sql u radiusd:
sudo chgrp -h radiusd /etc/raddb/mods-enabled/sqlPonovno pokreni radiusd servis
sudo systemctl restart radiusdKorak 6: Instalirajte i konfigurirajte Daloradius (opcionalno)
Možete koristiti Daloradius za upravljanje RADIUS serverom putem web sučelja. Ovo je opcionalna konfiguracija koju možete odabrati ovisno o vašem slučaju uporabe.
Preuzmite daloradius kod s GitHuba.
sudo yum -y install git vim
git clone https://github.com/lirantal/daloradius.gitUvezi Daloradius MySQL tablice
mysql -u root -p radius < daloradius/contrib/db/fr3-mariadb-freeradius.sql
mysql -u root -p radius < daloradius/contrib/db/mariadb-daloradius.sqlPremjesti mapu daloradius na putanju u /var/www/html
sudo mv daloradius /var/www/Zatim promijenite dozvole za HTTP mapu i postavite ispravne dozvole za konfiguracijsku datoteku daloradiusa.
cd /var/www/daloradius/app/common/includes/
sudo cp daloradius.conf.php.sample daloradius.conf.php
sudo chown -R apache:apache /var/www/daloradius/Sada biste trebali izmijeniti datoteku daloradius.conf.php kako biste prilagodili informacije o MySQL bazi podataka.
sudo vim daloradius.conf.phpPostavite naziv baze podataka, korisnika i lozinku za povezivanje.
$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';Da biste bili sigurni da sve radi, ponovno pokrenite radiusd i httpd usluge.
sudo systemctl restart radiusd.service httpd
systemctl status radiusd.service httpdNe bi smjelo biti grešaka u izlazu statusa usluge:
Stvorite dodatne potrebne direktorije.
cd /var/www/daloradius/
sudo mkdir -p var/{log,backup}
sudo chown -R apache:apache varInstalirajte dolje navedene PHP module.
sudo pear install DB
sudo pear install MDB2Konfigurirajte Apache web poslužitelj
Konfigurirajte Apache da sluša na portu 80 i portu 8000
$ sudo vim /etc/httpd/conf/httpd.conf
Listen 80
Listen 8000Konfigurirajte virtualni poslužitelj za modul operatora:
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>
EOFZatim kreiramo virtualni poslužitelj za korisnike:
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>
EOFKreirajte direktorije koji će pohranjivati log datoteke.
sudo mkdir -p /var/log/httpd/daloradius/{operators,users}Onemogući zadanu početnu stranicu Apache web poslužitelja.
sudo rm /etc/httpd/conf.d/welcome.confAko imate aktivan SELinux, označite direktorije u skladu s tim.
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/daloradiusAko je SELinux u režimu provedbe, dodajte oznaku portu 8000 za upotrebu od strane httpd-a.
sudo semanage port -m -t http_port_t -p tcp 8000Provjeri je li primijenjeno ispravno.
# semanage port -l | grep -w http_port_t
http_port_t tcp 8000, 80, 81, 443, 488, 8008, 8009, 8443, 9000Dopustite pristup portovima s vatrozida.
sudo firewall-cmd --add-service={http,https,radius} --permanent
sudo firewall-cmd --add-port=8000/tcp --permanent
sudo firewall-cmd --reloadPonovno pokrenite usluge kako biste osigurali da sve radi.
sudo systemctl restart httpd radiusd.serviceStatus vaših usluga može se provjeriti pomoću systemctl:
systemctl status httpd radiusdSada pristupite daloradiusu putem donjih URL-ova.
- Aplikacija za upravljanje RADIUS-om: http://<ip>:8000/
- Aplikacija korisničkog portala RADIUS-a: http://<ip>
Primjer sučelja portala za upravljanje RADIUS aplikacijom.
Zadani podaci za prijavu su:
Username: administrator
Password: radiusIzgled upravljačkog sučelja daloRADIUS-a:
Uživajte u korištenju FreeRADIUS-a i daloRADIUS-a:
- Instalirajte FreeRADIUS i daloRADIUS na Ubuntu

