Rocky/Alma/CentOS 9|8 üzerinde FreeRADIUS ve Daloradius Kurulumu
CentOS 8/RHEL 8 üzerine FreeRADIUS ve Daloradius kurmak istiyorum. RADIUS, açılımı ile “Uzak Kimlik Doğrulama Çevirici Kullanıcı Servisi” olan bir ağ protokolüdür ve uzaktan kullanıcı kimlik doğrulama ve muhasebe için kullanılır. Yetkilendirme, Kimlik Doğrulama ve Muhasebe olmak üzere AAA servisleri sağlar.
FreeRADIUS, açık kaynaklı, yüksek performanslı, ölçeklenebilir, modüler ve özellik açısından zengin bir RADIUS sunucusudur. FreeRADIUS, istek vekilliği, yedekleme ve yük dengeleme desteğine sahip olup, çeşitli veritabanı arka uçlarına erişim sağlar.
FreeRADIUS'in Öne Çıkan Özellikleri
- Kullanıcı yapılandırmalarını seçmek için geniş bir yöntem yelpazesiyle esnek yapılandırma.
- RFC 2865 ve RFC 2866 öznitelikleri için tam destek.
- EAP-MD5, EAP-SIM, EAP-TLS, EAP-TTLS, EAP-PEAP ve Cisco LEAP EAP alt türleriyle EAP
- Vendor Neredeyse yüz farklı satıcıya özgü özellikler, bunlar arasında BinTec, Foundry, Cisco, Juniper, Lucent/Ascend, HP ProCurve, Microsoft, USR/3Com, Acc/Newbridge ve daha birçokları bulunmaktadır.
daloRADIUS'ı işin içine katmak
daloRADIUS, PHP ve JavaScript ile yazılmış gelişmiş bir RADIUS web yönetim platformudur. Genellikle Hotspot'ları ve FreeRADIUS sunucusu ile çalışan genel amaçlı ISS dağıtımlarını yönetmek için tasarlanmıştır. Aşağıda daloRADIUS'un temel özellikleri bulunmaktadır:
- Birçok veritabanı sistemini destekleyen veritabanı soyutlama katmanı – MySQL, SQLite, PostgreSQL, MsSQL ve Oracle
- Gelişmiş kullanıcı yönetimi
- Güçlü grafiksel raporlama ve muhasebe
- Coğrafi konum için Google Haritalar ile entegre olur
- Faturalama motoruna sahiptir
FreeRADIUS ve daloRADIUS'u CentOS 8/RHEL 8 Linux sistemine kurmak için tartışılan sonraki adımları izleyin.
Adım 1: Sunucunuzu Güncelleyin
Güncellenmeyen bir sisteme asla güvenmeyin. Yüklü tüm paketler, terminalde aşağıdaki komut çalıştırılarak güncellenebilir.
sudo dnf -y updateAdım 2: Apache ve PHP'yi Yükleyin
daloRADIUS'ı sisteminizde barındırmak için Apache httpd sunucusunu kullanacağız. Aşağıdaki komut ile hem httpd hem de PHP paketlerini yükleyin.
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 MDB2Kurulumun başarılı olup olmadığını doğrulamak için yüklü PHP sürümünü kontrol edin.
$ 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 TechnologiesApache web sunucusunu kurun:
sudo dnf -y install @httpdphp-fpm ve httpd servislerini başlatın ve etkinleştirin.
sudo systemctl enable --now httpd php-fpmİki servisin durumunu kontrol ederek başlangıcı doğrulayalım.
systemctl status httpd php-fpmGüvenlik duvarında http ve https portlarına izin verin.
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reloadApache httpd kurulumu için referans:
- RHEL/CentOS 8 üzerine Apache httpd sunucusunu kurun
Adım 3: MariaDB'yi Kur ve Yapılandır
RHEL/CentOS 8 üzerine MariaDB veritabanı sunucusunun kurulumu ile ilgili ayrı bir kılavuzumuz bulunmaktadır. Aşağıdaki bağlantıyı kullanarak ona başvurabilirsiniz.
- CentOS/RHEL 8 Üzerine MariaDB Veri Tabanı Sunucusu Kurulumu
Kurulumdan sonra, mysql konsoluna root kullanıcısı olarak giriş yapın ve FreeRADIUS/daloRADIUS için bir veritabanı/kullanıcı oluşturun.
$ mysql -u root -p
CREATE DATABASE radius;
GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "StrongradIusPass";
FLUSH PRIVILEGES;
\qAdım 4: FreeRADIUS Kurulumu
FreeRADIUS paketleri modüler depoda mevcuttur.
$ 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
Kurmak için, sadece komutu çalıştırın.
sudo dnf install -y @freeradius freeradius-utils freeradius-mysqlKurulumdan sonra servisi başlatın.
sudo systemctl enable --now radiusd.serviceŞimdi durumu kontrol edebilirsiniz:
$ 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..Eğer Firewalld servisi çalışıyorsa, radius ve http trafiğine içeri ve dışarı izin verin. Radius sunucusu udp portlarını 1812 ve 1813 kullanır.
sudo firewall-cmd --add-service=radius --permanent
sudo firewall-cmd --reloadAdım 5: FreeRADIUS'ı Yapılandırın
FreeRADIUS'ı MariaDB kullanacak şekilde yapılandırmak için aşağıdaki adımları izleyin.
1 – Radius veritabanını doldurmak için Radius veritabanı şemasını içe aktarın
sudo su -
mysql -u root -p radius < /etc/raddb/mods-config/sql/main/mysql/schema.sql2 – Radius'ı Yapılandır
Öncelikle /etc/raddb/mods-enabled altında SQL için bir yumuşak bağlantı oluşturmanız gerekiyor.
sudo ln -s /etc/raddb/mods-available/sql /etc/raddb/mods-enabled/SQL modülünü /raddb/mods-available/sql yapılandırın ve veritabanı bağlantı parametrelerini ortamınıza uygun şekilde değiştirin:
sudo vi /etc/raddb/mods-available/sql- sql bölümü aşağıdakine benzer olmalıdır.
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"MySQL SSL ayarlarını yorumlayın.
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
# }
Sonra /etc/raddb/mods-enabled/sql dosyasının grup hakkını radiusd olarak değiştirin:
sudo chgrp -h radiusd /etc/raddb/mods-enabled/sqlradiusd servisini yeniden başlat
sudo systemctl restart radiusdAdım 6: Daloradius'u Yükleyin ve Yapılandırın (İsteğe Bağlı)
Daloradius'ı web arayüzü üzerinden radius sunucusunu yönetmek için kullanabilirsiniz. Bu, kullanım durumunuza bağlı olarak seçebileceğiniz isteğe bağlı bir yapılandırmadır.
Daloradius kodunu Github'dan indir.
sudo yum -y install git vim
git clone https://github.com/lirantal/daloradius.gitDaloradius MySQL tablolarını içe aktar
mysql -u root -p radius < daloradius/contrib/db/fr3-mariadb-freeradius.sql
mysql -u root -p radius < daloradius/contrib/db/mariadb-daloradius.sqlDaloradius klasörünü /var/www/html yoluna taşıyın
sudo mv daloradius /var/www/Sonra http klasörünün izinlerini değiştirin ve daloradius yapılandırma dosyası için doğru izinleri ayarlayın.
cd /var/www/daloradius/app/common/includes/
sudo cp daloradius.conf.php.sample daloradius.conf.php
sudo chown -R apache:apache /var/www/daloradius/Artık MySQL veritabanı bilgilerini ayarlamak için daloradius.conf.php dosyasını değiştirmeniz gerekiyor.
sudo vim daloradius.conf.phpBağlantı için veritabanı adını, kullanıcıyı ve şifreyi ayarlayın.
$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';Her şeyin doğru çalıştığından emin olmak için radiusd ve httpd servislerini yeniden başlatın.
sudo systemctl restart radiusd.service httpd
systemctl status radiusd.service httpdHizmet durumu çıktısında hiçbir hata olmamalıdır:
Gerekli ek dizinleri oluşturun.
cd /var/www/daloradius/
sudo mkdir -p var/{log,backup}
sudo chown -R apache:apache varAşağıdaki PHP modüllerini yükleyin.
sudo pear install DB
sudo pear install MDB2Apache web sunucusunu yapılandır
Apache'i 80 ve 8000 portlarında dinleyecek şekilde yapılandırın
$ sudo vim /etc/httpd/conf/httpd.conf
Listen 80
Listen 8000Operatörler modülü için sanal sunucu yapılandırın:
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>
EOFSonraki adımda kullanıcılar için sanal sunucu oluşturuyoruz:
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>
EOFGünlük dosyalarını saklayacak dizinler oluşturun.
sudo mkdir -p /var/log/httpd/daloradius/{operators,users}Varsayılan Apache web sunucusu karşılama sayfasını devre dışı bırak.
sudo rm /etc/httpd/conf.d/welcome.confEğer SELinux aktifse, dizinleri buna göre etiketleyin.
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/daloradiusEğer SELinux etkinse, httpd tarafından kullanılması için 8000 numaralı porta etiketi ekleyin.
sudo semanage port -m -t http_port_t -p tcp 8000Doğru bir şekilde uygulanıp uygulanmadığını kontrol edin.
# semanage port -l | grep -w http_port_t
http_port_t tcp 8000, 80, 81, 443, 488, 8008, 8009, 8443, 9000Güvenlik duvarından portlara erişime izin ver.
sudo firewall-cmd --add-service={http,https,radius} --permanent
sudo firewall-cmd --add-port=8000/tcp --permanent
sudo firewall-cmd --reloadHer şeyin düzgün çalıştığından emin olmak için servisleri yeniden başlatın.
sudo systemctl restart httpd radiusd.serviceHizmetlerinizin durumu systemctl kullanılarak kontrol edilebilir:
systemctl status httpd radiusdŞimdi aşağıdaki URL'lerle Daloradius'a erişin.
- RADIUS yönetim uygulaması: http://<ip>:8000/
- RADIUS kullanıcı portalı uygulaması: http://<ip>
RADIUS yönetim uygulaması portal arayüzü örneği.
Varsayılan giriş bilgileri şunlardır:
Username: administrator
Password: radiusdaloRADIUS yönetim arayüzü görünümü:
FreeRADIUS ve daloRADIUS kullanmanın keyfini çıkarın:
- Ubuntu'ya FreeRADIUS ve daloRADIUS Kurulumu

