• Şuradasınız
  • Anasayfa
  • pfSense
  • pfSense FreeRADIUS – Simultaneous-Use Kullanımı (Eş zamanlı kullanıcı)

pfSense FreeRADIUS – Simultaneous-Use Kullanımı (Eş zamanlı kullanıcı)

Sorun aslında FreeRadius’a özgü olsa da aslında sorun demeyelimde ipucu demek daha sağlıklı olur.Eğer sizlerde benim gibi pfSense üzerinde freeradius manyağı olduysanız günün birinde bu konuya uğrayacağınız kesin .

pfSense üzerinde eğer Freeradius’a nas olarak CaptivePortal kullanacaksanız default olarak Simultaneous-Use kullanımına izin vermiyor.Yani siz CaptivePortal üzerinde eş zamanlı kontrol değil de freeradius üzerinde yapmak isterseniz bu işlev çalışmayacaktır.

Senaryo : Disable Corcurrent işaretli olduğundan bir kullanıcı hesabiyla sadece 1 kişi sisteme giriş yapabiliyordu.Ama konferans düzenleyen yerlerde her katılımcıya ayrı şifre vermek oldukça zahmetli ve kabul edilebilirliği olmuyordu.Sadece belirli hesaplara birden fazla eş zamanlı erişim yetkisini freeradius ile vermek isterseniz aşağıdaki şekilde bir konfigurasyon yapmanız gerekir.

Öncelikle pfSense üzerindeki Simultaneous-Use kullanabilmek için biraz işin kod tarafına inmeniz gerekiyor.Çünkü default olarak Simulataneous sql query yorum satırı olarak gelmektedir.İsteğe bağlı olarak aktif ediliyor.Aktif etmek için pfSense üzerindeki dialup.conf dosyasını bulmamız gerekir.Aşağıdaki şekilde aratmanız gerekir.

find / -name dialup.conf

Arama sonuçlarında birden fazla dialup.conf dosyası çıkacaktır.Ben freeradius’u MySQL üzerinde koşturduğum için mysql dizini altındaki dialup.conf dosyasında değişiklik yapacağım.Zaten diğerleri example olarak gelmektedir.Örnek dosyalar yani.

dialup.conf location :

/usr/pbi/freeradius-amd64/etc/raddb/sql/mysql/dialup.conf

İlgili dosyanın hangi dizinde olduğunu bulduktan sonra vi editorümüz ile dosyayı açalım.

vi /usr/pbi/freeradius-amd64/etc/raddb/sql/mysql/dialup.conf

Dosyayı açtıktan sonra 290-293 satırlarındaki # (yorum satırı) işaretlerini kaldırarak çalışmasını sağlayalalım.

Orjinal Kod :

#simul_count_query = "SELECT COUNT(*) \
#FROM ${acct_table1} \
#WHERE username = '%{SQL-User-Name}' \
 #AND acctstoptime IS NULL"

Değişiklikten sonraki hali :

simul_count_query = "SELECT COUNT(*) \
FROM ${acct_table1} \
WHERE username = '%{SQL-User-Name}' \
AND acctstoptime IS NULL"

CaptivePortal’da değiştirmeniz gereken ayarlar :

Disable Corcurrent seçeneği işaretliyse işaretini kaldırın.
Reauthenticate connected users every minute seçeneğini işaretliyse işaretini kaldırın.
send RADIUS accounting packets seçeneğinin işaretli olduğundan emin olun ve 1813 portuna paketleri gönderdiğiniden emin olun.

Freeradius üzerinde Simultaneous-Use bu ayarlardan sonra çalışacaktır.

Kullanıcıya eş zamanlı erişim tanımlama :

tablo : radcheck

username | attribute | op | value
samet | Simultaneous-Use | := | 1

Yukarıdaki şekilde bir kayıt girerseniz samet kullanıcısına eş zamanlı 1 kullanıcı hakkı tanımış olursunuz.

Grup bazlı tanımlama yapmak için

tablo : radgroupcheck
groupname | attribute | op | value
grupadi | Simultaneous-Use | := | 5

Grup’a üye olan bütün kullanıcı hesaplarıyla 5 erişim hakkı sağlanır.

Dezavantajları : Disable Corcurrent seçeneği işaretli olduğunda içeride bir kullanıcı varsa sonradan girecek olan kullanıcı içeriye sokar, içerde varolan kullanıcıyı dışarıya atıyor.Ama Simulataneous-Use ile ben bunu beceremedim böyle birşeyin mümkün olmadığını gördüm.Ama biraz kodlarla oynanarak yapılabilecek birşey ama uğraş ister: )

Daha farklı kafanızda algoritmalar üreterekte bu tarz sorunları aşabilirsiniz. : )

Selametle…

Benzer Yazılar

Henüz yorum yapılmamış

Yorum Yazın

Su elementleri kullanabilirsiniz : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


üç + = dokuz

Arama
RSS
Beni yukari isinla