Verkkosivustohaku

Asenna FreeRADIUS ja Daloradius Rocky/Alma/CentOS 9|8 -järjestelmiin


Haluan asentaa FreeRADIUSin ja Daloradiusin CentOS 8/RHEL 8 -järjestelmään. RADIUS, joka tarkoittaa "Remote Authentication Dial-In User Service" (etäkäyttäjien todennuksen dial-in-palvelu), on verkkoprotokolla, jota käytetään etäkäyttäjien todennukseen ja kirjanpitoon. Se tarjoaa AAA-palveluja; nimittäin valtuutuksen, todennuksen ja kirjanpidon.

FreeRADIUS on avoimen lähdekoodin, suorituskykyinen, skaalautuva, modulaarinen ja ominaisuuksiltaan monipuolinen RADIUS-palvelin. FreeRADIUS tukee pyyntöjen välitystä, vikasietoa ja kuormantasausta sekä pääsyä erilaisiin tietokantataustoihin.

FreeRADIUSin tärkeimmät ominaisuudet

  • Joustava määritys monipuolisten menetelmien avulla käyttäjäasetusten valitsemiseksi.
  • Täysi tuki RFC 2865- ja RFC 2866-attribuuteille.
  • EAP EAP-MD5:n, EAP-SIM:n, EAP-TLS:n, EAP-TTLS:n, EAP-PEAP:n ja Cisco LEAP EAP -alatyyppeineen kanssa
  • Toimittajakohtaiset ominaisuudet lähes sadalle toimittajalle, mukaan lukien BinTec, Foundry, Cisco, Juniper, Lucent/Ascend, HP ProCurve, Microsoft, USR/3Com, Acc/Newbridge ja monet muut.

DaloRADIUSin tuominen mukaan

daloRADIUS on kehittynyt RADIUS-verkkohallinta-alusta, joka on kirjoitettu PHP:llä ja JavaScriptillä. Se on pääasiassa suunnattu hoitamaan Hotspoteja ja yleiskäyttöisiä ISP-järjestelyjä, joita pyörittää FreeRADIUS-palvelin. Alla ovat daloRADIUSin keskeiset ominaisuudet:

  • Tietokanta-abstraktiokerros, joka tukee monia tietokantajärjestelmiä – MySQL, SQLite, PostgreSQL, MsSQL ja Oracle
  • Edistynyt käyttäjähallinta
  • Tehokas graafinen raportointi ja kirjanpito
  • Integroituu GoogleMapsin kanssa sijaintitietoja varten
  • Sisältää laskutusjärjestelmän

Seuraa seuraavia vaiheita asentaaksesi FreeRADIUSin ja daloRADIUSin CentOS 8/RHEL 8 Linux -järjestelmään.

Vaihe 1: Päivitä palvelimesi

Älä koskaan luota järjestelmään, jota ei ole päivitetty. Kaikki asennetut paketit voidaan päivittää suorittamalla seuraava komento terminaalissa.

sudo dnf -y update

Vaihe 2: Asenna Apache ja PHP

Käytämme Apache httpd -palvelinta daloRADIUSin isännöimiseen järjestelmässäsi. Asenna sekä httpd- että PHP-paketit seuraavalla komennolla.

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 MDB2

Tarkista asennettu PHP-versio varmistaaksesi, että asennus onnistui.

$ 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 Technologies

Asenna Apache-verkkopalvelin:

sudo dnf -y install @httpd

Käynnistä ja ota käyttöön php-fpm- ja httpd-palvelut.

sudo systemctl enable --now httpd php-fpm

Varmistetaan alku tarkistamalla kahden palvelun tila.

systemctl status httpd php-fpm

Salli http- ja https-portit palomuurissa.

sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload

Viite Apache httpd:n asennukseen:

  • Asenna Apache httpd -palvelin RHEL/CentOS 8:aan

Vaihe 3: Asenna ja määritä MariaDB

Meillä on erillinen opas MariaDB-tietokantapalvelimen asentamiseen RHEL/CentOS 8:aan. Viittaa siihen alla olevan linkin kautta.

  • Asenna MariaDB-tietokantapalvelin CentOS/RHEL 8:aan

Asennuksen jälkeen käytä MySQL-konsolia root-käyttäjänä ja luo tietokanta/käyttäjä FreeRADIUSille/daloRADIUSille.

$ mysql -u root -p
CREATE DATABASE radius;
GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "StrongradIusPass";
FLUSH PRIVILEGES;
\q

Vaihe 4: FreeRADIUSin asentaminen

FreeRADIUS-paketit ovat saatavilla modulaarisessa arkistossa.

$ 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

Asentaaksesi, suorita vain komento.

sudo dnf install -y @freeradius freeradius-utils freeradius-mysql

Käynnistä palvelu asennuksen jälkeen.

sudo systemctl enable --now radiusd.service

Nyt voit tarkistaa tilan:

$ 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..

Jos sinulla on Firewalld-palvelu käynnissä, salli radius- ja http-liikenne sisään ja ulos. Radius-palvelin käyttää udp-portteja 1812 ja 1813.

sudo firewall-cmd --add-service=radius --permanent
sudo firewall-cmd --reload

Vaihe 5: Määritä FreeRADIUS

Konfiguroidaksesi FreeRADIUSin käyttämään MariaDB:tä, seuraa alla olevia ohjeita.

1 – Tuo Radius-tietokannan kaavio täyttääksesi radius-tietokannan

sudo su -
mysql -u root -p radius < /etc/raddb/mods-config/sql/main/mysql/schema.sql

2 – Määritä Radius

Ensin sinun täytyy luoda pehmeä linkki SQL:lle sijaintiin /etc/raddb/mods-enabled

sudo ln -s /etc/raddb/mods-available/sql /etc/raddb/mods-enabled/

Määritä SQL-moduuli /raddb/mods-available/sql ja muuta tietokantayhteyden asetukset vastaamaan ympäristöäsi:

sudo vi /etc/raddb/mods-available/sql
  • sql-osio tulisi näyttää suunnilleen tältä.
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"

Kommentoi MySQL:n SSL-asetuksia.

 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
#               }

Vaihda sitten ryhmä /etc/raddb/mods-enabled/sql tiedostolle radiusd:

sudo chgrp -h radiusd /etc/raddb/mods-enabled/sql

Käynnistä radiusd-palvelu uudelleen

sudo systemctl restart radiusd

Vaihe 6: Asenna ja konfiguroi Daloradius (Valinnainen)

Voit käyttää Daloradiusta hallitaksesi RADIUS-palvelinta selainpohjaisesta käyttöliittymästä. Tämä on valinnainen asetuskokonaisuus, jonka voit valita käyttötapauksesi mukaan.

Lataa daloradius-koodi GitHubista.

sudo yum -y install git vim
git clone https://github.com/lirantal/daloradius.git

Tuo Daloradiusin MySQL-taulut

mysql -u root -p radius < daloradius/contrib/db/fr3-mariadb-freeradius.sql
mysql -u root -p radius < daloradius/contrib/db/mariadb-daloradius.sql

Siirrä daloradius-kansio polkuun /var/www/html

sudo mv daloradius /var/www/

Sitten muuta http-kansion käyttöoikeuksia ja aseta oikeat käyttöoikeudet daloradiusin kokoonpanotiedostolle.

cd /var/www/daloradius/app/common/includes/
sudo cp daloradius.conf.php.sample daloradius.conf.php
sudo chown -R apache:apache /var/www/daloradius/

Sinun tulisi nyt muokata daloradius.conf.php-tiedostoa säätääksesi MySQL-tietokantatiedot.

sudo vim daloradius.conf.php

Aseta tietokannan nimi, käyttäjä ja salasana yhteydelle.

$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';

Varmistaaksesi, että kaikki toimii, käynnistä uudelleen radiusd- ja httpd-palvelut.

sudo systemctl restart radiusd.service httpd
systemctl status radiusd.service httpd

Palvelun tilan tulosteessa ei saisi olla virheitä:

Luo tarvittavat lisähakemistot.

cd /var/www/daloradius/
sudo mkdir -p var/{log,backup}
sudo chown -R apache:apache var

Asenna alla olevat PHP-moduulit.

sudo pear install DB
sudo pear install MDB2

Määritä Apache-verkkopalvelin

Määritä Apache kuuntelemaan porttia 80 ja porttia 8000

$ sudo vim /etc/httpd/conf/httpd.conf
Listen 80
Listen 8000

Määritä virtuaalipalvelin operaattorimoduulille:

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>
EOF

Seuraavaksi luomme virtuaalisen isännän käyttäjille:

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>
EOF

Luo hakemistoja, jotka tallentavat lokitiedostoja.

sudo mkdir -p /var/log/httpd/daloradius/{operators,users}

Poista oletusarvoinen Apache-verkkopalvelimen tervetulosivu käytöstä.

sudo rm /etc/httpd/conf.d/welcome.conf

Jos sinulla on SELinux käytössä, merkitse hakemistot sen mukaisesti.

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/daloradius

Jos SELinux on pakotettu tilaan, lisää tunniste portille 8000 httpd:n käyttöä varten.

sudo semanage port -m -t http_port_t -p tcp 8000

Tarkista, onko se levitetty oikein.

# semanage port -l | grep -w http_port_t
http_port_t                    tcp      8000, 80, 81, 443, 488, 8008, 8009, 8443, 9000

Salli porttien pääsy palomuurista.

sudo firewall-cmd --add-service={http,https,radius} --permanent
sudo firewall-cmd --add-port=8000/tcp --permanent
sudo firewall-cmd --reload

Käynnistä palvelut uudelleen varmistaaksesi, että kaikki toimii.

sudo systemctl restart httpd radiusd.service

Palvelujesi tilan voi tarkistaa käyttämällä systemctl-komentoa:

systemctl status httpd radiusd

Nyt voit käyttää daloradiusta alla olevien URL-osoitteiden kautta.

  • RADIUS-hallintasovellus: http://<ip>:8000/
  • RADIUS-käyttäjäportaalisovellus: http://<ip>

Esimerkki RADIUS-hallintasovelluksen portaalin käyttöliittymästä.

Oletuskirjautumistiedot ovat:

Username: administrator
Password: radius

daloRADIUS-hallintaliittymän ulkoasu:

Nauti FreeRADIUSin ja daloRADIUSin käytöstä:

  • Asenna FreeRADIUS ja daloRADIUS Ubuntulle