Pasang FreeRADIUS dan Daloradius pada Rocky/Alma/CentOS 9|8
Saya ingin memasang FreeRADIUS dan Daloradius di CentOS 8/RHEL 8?. RADIUS, yang merupakan singkatan bagi "Remote Authentication Dial-In User Service", adalah protokol rangkaian yang digunakan untuk pengesahan pengguna jauh dan perakaunan. Ia menyediakan perkhidmatan AAA; iaitu Authorisasi, Pengesahan, dan Perakaunan.
FreeRADIUS adalah pelayan RADIUS sumber terbuka yang berprestasi tinggi, boleh skala, modular dan kaya dengan ciri. FreeRADIUS menyokong proksi permintaan, pemulihan automatik dan pengimbangan beban, serta akses kepada pelbagai pangkalan data backend.
Ciri-ciri Utama FreeRADIUS
- Konfigurasi Fleksibel melalui pelbagai kaedah untuk memilih konfigurasi pengguna.
- Sokongan penuh untuk atribut RFC 2865 dan RFC 2866.
- EAP dengan sub-jenis EAP-MD5, EAP-SIM, EAP-TLS, EAP-TTLS, EAP-PEAP, dan Cisco LEAP
- 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 pengurusan web RADIUS yang canggih yang ditulis dalam PHP dan JavaScript. Ia terutamanya bertujuan untuk mengurus Hotspot dan pengembangan ISP untuk kegunaan umum yang dikuasakan oleh pelayan FreeRADIUS. Berikut adalah ciri-ciri utama daloRADIUS:
- Lapisan abstraksi pangkalan data dengan sokongan untuk pelbagai sistem pangkalan data – MySQL, SQLite, PostgreSQL, MsSQL dan Oracle
- Pengurusan pengguna lanjutan
- Laporan grafik dan perakaunan yang berkuasa
- Boleh diintegrasikan dengan GoogleMaps untuk lokasi geografi
- Mempunyai enjin pengebilan
Ikuti langkah-langkah berikut yang dibincangkan untuk memasang FreeRADIUS dan daloRADIUS pada sistem Linux CentOS 8/RHEL 8.
Langkah 1: Kemas kini Pelayan anda
Jangan sesekali mempercayai sistem yang tidak dikemas kini. Semua pakej yang dipasang boleh dikemas kini dengan melaksanakan arahan di bawah dalam terminal.
sudo dnf -y updateLangkah 2: Pasang Apache dan PHP
Kami akan menggunakan pelayan Apache httpd untuk menghos daloRADIUS pada sistem anda. Pasang kedua-dua pakej httpd dan PHP dengan arahan 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 dipasang untuk mengesahkan bahawa pemasangan berjaya.
$ 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 pelayan web apache:
sudo dnf -y install @httpdMulakan dan aktifkan perkhidmatan php-fpm dan httpd.
sudo systemctl enable --now httpd php-fpmMari kita sahkan permulaan dengan memeriksa status kedua-dua perkhidmatan itu.
systemctl status httpd php-fpmBenarkan port http dan https pada firewall.
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reloadRujukan untuk pemasangan Apache httpd:
- Pasang pelayan Apache httpd pada RHEL/CentOS 8
Langkah 3: Pasang dan Konfigurasikan MariaDB
Kami mempunyai panduan berasingan mengenai pemasangan pelayan pangkalan data MariaDB pada RHEL/CentOS 8. Rujuk ia menggunakan pautan di bawah.
- Pasang Pelayan Pangkalan Data MariaDB pada CentOS/RHEL 8
Selepas pemasangan, akses konsol MySQL sebagai pengguna root dan cipta pangkalan data/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: Memasang FreeRADIUS
Pakej FreeRADIUS tersedia dalam 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 memasang, hanya jalankan arahan tersebut.
sudo dnf install -y @freeradius freeradius-utils freeradius-mysqlMulakan perkhidmatan selepas pemasangan.
sudo systemctl enable --now radiusd.serviceSekarang anda boleh menyemak 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..Jika anda mempunyai perkhidmatan Firewalld yang berjalan, benarkan trafik radius dan http masuk dan keluar. Pelayan Radius menggunakan port udp 1812 dan 1813.
sudo firewall-cmd --add-service=radius --permanent
sudo firewall-cmd --reloadLangkah 5: Konfigurasi FreeRADIUS
Untuk Mengkonfigurasi FreeRADIUS supaya menggunakan MariaDB, ikut langkah-langkah di bawah.
1 – Import skema pangkalan data Radius untuk mengisi pangkalan data radius
sudo su -
mysql -u root -p radius < /etc/raddb/mods-config/sql/main/mysql/schema.sql2 – Konfigurasikan Radius
Pertama, anda perlu membuat pautan lembut untuk SQL di bawah /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 sambungan pangkalan data supaya sesuai dengan persekitaran anda:
sudo vi /etc/raddb/mods-available/sql- Bahagian sql sepatutnya kelihatan serupa seperti di bawah.
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"Huraikan tetapan 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 tukar hak kumpulan /etc/raddb/mods-enabled/sql kepada radiusd:
sudo chgrp -h radiusd /etc/raddb/mods-enabled/sqlMulakan semula perkhidmatan radiusd
sudo systemctl restart radiusdLangkah 6: Pasang dan Konfigurasikan Daloradius (Pilihan)
Anda boleh menggunakan Daloradius untuk menguruskan pelayan radius melalui antara muka web. Ini adalah konfigurasi pilihan yang boleh anda pilih bergantung pada kes penggunaan anda.
Muat turun kod daloradius dari Github.
sudo yum -y install git vim
git clone https://github.com/lirantal/daloradius.gitImport jadual 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 laluan di /var/www/html
sudo mv daloradius /var/www/Kemudian ubah kebenaran untuk folder http dan tetapkan kebenaran yang betul untuk fail 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/Anda kini harus mengubah suai fail daloradius.conf.php untuk menyesuaikan maklumat pangkalan data MySQL.
sudo vim daloradius.conf.phpTetapkan nama pangkalan data, pengguna dan kata laluan untuk sambungan.
$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 berfungsi, mulakan semula perkhidmatan radiusd dan httpd.
sudo systemctl restart radiusd.service httpd
systemctl status radiusd.service httpdTiada sebarang ralat sepatutnya dalam output status perkhidmatan:
Cipta direktori tambahan yang diperlukan.
cd /var/www/daloradius/
sudo mkdir -p var/{log,backup}
sudo chown -R apache:apache varPasang modul PHP di bawah.
sudo pear install DB
sudo pear install MDB2Konfigurasikan pelayan web Apache
Konfigurasikan Apache untuk mendengar pada port 80 dan port 8000
$ sudo vim /etc/httpd/conf/httpd.conf
Listen 80
Listen 8000Konfigurasikan hos maya untuk modul pengendali:
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>
EOFSeterusnya kita membuat hos maya 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 fail log.
sudo mkdir -p /var/log/httpd/daloradius/{operators,users}Lumpuhkan halaman sambutan pelayan web Apache lalai.
sudo rm /etc/httpd/conf.d/welcome.confJika anda mempunyai SELinux aktif, labelkan direktori dengan sewajarnya.
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 menguatkuasakan, tambahkan label pada port 8000 untuk digunakan oleh httpd.
sudo semanage port -m -t http_port_t -p tcp 8000Periksa jika telah digunakan dengan betul.
# semanage port -l | grep -w http_port_t
http_port_t tcp 8000, 80, 81, 443, 488, 8008, 8009, 8443, 9000Benarkan akses pelabuhan dari firewall.
sudo firewall-cmd --add-service={http,https,radius} --permanent
sudo firewall-cmd --add-port=8000/tcp --permanent
sudo firewall-cmd --reloadMulakan semula perkhidmatan untuk memastikan semuanya berfungsi.
sudo systemctl restart httpd radiusd.serviceStatus perkhidmatan anda boleh diperiksa menggunakan systemctl:
systemctl status httpd radiusdSekarang akses daloradius dengan URL di bawah.
- Aplikasi pengurusan RADIUS: http://<ip>:8000/
- Aplikasi portal pengguna RADIUS: http://<ip>
Contoh antara muka portal aplikasi pengurusan RADIUS.
Maklumat log masuk lalai ialah:
Username: administrator
Password: radiusPaparan antaramuka pengurusan daloRADIUS:
Nikmati penggunaan FreeRADIUS dan daloRADIUS:
- Pasang FreeRADIUS & daloRADIUS di Ubuntu

