«

»

Oca 24

FreeRADIUS birden çok LDAP sunucusu ile nasıl yapılandırılır?

sistemi 2 tane ubuntu 20.04 server master slave olarak kurguladık.

master – 129.168.40.251
slave – 192.168.40.252

Neden 2 tane diyecek olursak yedekli olsun diye, neden loadbalancer veya keepalived gibi vrrp kullanmadık, çünkü sistemlere 2 tane radius ipsi tanımlayabiliyoruz bu nedenle gerek yok.
Master ve slave side tarafında yapılanlar:

Sistem güncellemelerini al.
apt update
apt upgrade

LAMP için gerekli bileşenleri yükle.
apt install php-gd php-mail php-mail-mime php-mysql php-ldap php-pear php-db php-mbstring php-xml php-curl

Radius için gerekli bileşenleri yükle.
apt install freeradius freeradius-mysql freeradius-ldap freeradius-utils

Radius servisini durdur.
systemctl stop freeradius

Radius’u debug modta çalıştır.
freeradius -X

Aşağıdaki gibi bir çıktı varsa radius hazır.
max_connections = 16
lifetime = 0
idle_timeout = 30
}
}
Listening on auth address 127.0.0.1 port 18120 bound to server inner-tunnel
Listening on auth address * port 1812 bound to server default
Listening on acct address * port 1813 bound to server default
Listening on auth address :: port 1812 bound to server default
Listening on acct address :: port 1813 bound to server default
Listening on proxy address * port 59191
Listening on proxy address :: port 33772
Ready to process requests

Portları kontrol et.
ss -alun4 | grep -E ‘:1812|:1813’

Radius config dosyaları /etc/freeradius/3.0/ dizini altındadır.
clients.conf dosyasında doğrulama yapacak clientler ve erişim ip ve passwordleri belirlenir.
users dosyasında ise yetkili kullanıcılar ve test kullanıcıları tanımlanır. ben test amacıyla abc kullanıcısına xyz123 şifresi ile doğrulama hakkı tanımladım ve aşağıdaki komutla test ettim.

radtest abc xyz123 localhost 1 testing123

Ldap doğrulama için bazı referans kaynaklarda sites-available/default ve sites-available/inner-tunnel dosyalarında Auth_Type { ldap} girdisini aktif etmemizi öneriyordu fakat bizde gerek kalmadı.

Eski freeradius sürümlerinde modules dizini altındaki ldap dosyasına ldap.attrmap i import ediyoduk şimdi değiştirmişler ve dizin olarak mods-available/ldap kullanılıyor.
pico mods-available/ldap üzerinde 2 tane ldap server ayarı yaptım ve yukarıdaki gibi gecos kısmını reply a ekledim ve bu dosyayı mods-enabled/ldap’ada aktardım.

Bu dosyalarda ldap için eklenen ayarlar:
server = ‘masterldap.xyz.edu.tr’
server = ‘slaveldap.xyz.edu.tr’

identity = ‘cn=root,dc=xyz,dc=edu,dc=tr’
password = ‘mypass’
base_dn = ‘dc=xyz,dc=edu,dc=tr’

aynı dosyanın içinde eduroam vs bileşenlerde vlan tanımına ihtiyaç duyulursa biz ldap için gecos alanını kullanmayı tercih ettik:
update {
control:Password-With-Header += ‘userPassword’
control: += ‘radiusControlAttribute’
request: += ‘radiusRequestAttribute’
reply: += ‘radiusReplyAttribute’
reply:Aruba-User-Vlan += ‘gecos’ # bu alanı ekledik ve aşağıdaki ldap testinde reply olarak gecos bilgisini almamız lazım.
}

ldap backend testi:
radtest uid password 127.0.0.1 2 testing123

ilgili timezone ayarı:
timedatectl set-timezone Europe/Istanbul

ve son olarak master ve slave senkronizasyonu için:
http://web.bilecik.edu.tr/huseyin-parmaksiz/2021/01/22/iki-sunucu-arasindaki-dizinleri-senkron-etme/ sayfadaki ayarlar yapılacak.
Senkron işlemi sonrası slave sidetaki file yetkileri kontrol edilmelidir:
chown -R freerad:freerad /etc/freeradius/3.0/*

1 yorum

  1. Website

    Çok teşekkür ederim. Uzun zamandır arıyordum.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

AlphaOmega Captcha Classica  –  Enter Security Code
     
 

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>