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
Website
26 Ocak 2021, 00:53 (UTC 3) Bu yoruma bağlantı
Çok teşekkür ederim. Uzun zamandır arıyordum.