FreeRadius + Captive Portal Kullanıcı Günlük Süre Kısıtı çalışmıyor.
-
Sayın Incsence,
Öncelikle yanıtınız için teşekkür ederim. Aslında belli bir aşama kaydettim. Login Time kısıtlamasından ziyade belli periyotlarda süre kısıtlamalı giriş istiyorum. Bununla alakalı amount time işimi görecek şekilde çalışıyor. Ancak freeRadius'a SQL veritabanından kullanıcı okuyacak şekilde ayar yaptığımda amount time değeri girilmemiş gibi hareket ediyor. Oysaki SQL özelliğini disable yaptığımda bu özellik tam istediğim gibi çalışıyor. Bunu çözmenin bir yolu var mı? -
Amount time tam olara nasıl çalışıyor. Tam olarak ne yapmak istiyorsunuz. Günde 1 saat internet kullan gibi mi yapmak istiyorsunuz? Attributeler ile alakalı radius check ve radius reply diye 2 tip var. Bunların bir de op'ları var onları ona göre kullanmak lazım. Belki bu yüzden çalışmıyordur.
-
Evet, tam olarak yapmak istediğim günlük 1 saat internet kullansın. Bunu yapmak için attribute ve op ifadelerini kullanıyorum. Örneğin Max-Daily-Session:=3600 gibi. Bunun kullanımı ile ilgili sıkıntı yok. Ama freeradius bunu hiç yokmuş gibi algılıyor. Bir önceki mesajımda da belirttiğim gibi SQL sunucudan okumayı aktiflediğimde SQL kullanıcıları ve freeradius kullanıcıları giriş yapabiliyor ama günlük kısıtlama her iki tarafta tanımlı olan kullanıcılar için de çalışmıyor. SQL sunucudan okumayı pasife aldığımda ise sadece freeradius'a tanımlı kullanıcılar giriş yapabiliyor ve kısıtlama düzgün çalışıyor.
-
Bu attribute'yi Sql'deki Radius check tablosuna denedin mi?
-
Radius Check tablosu derken eğer MySql veri tabanındaki kullanıclar için kullanılan radcheck tablosunu kastediyorsanız evet o tabloda bu attribute ilgili kullanıcıya ekli.
-
Sorunu çözdüm. Aynı sorunla karşılaşanlar için çözüm şu adreste.
https://forum.netgate.com/topic/139132/need-help-on-max-daily-session-attribute -
Sağlıklı çalışan yapılandırmaları burada paylaşabilirseniz sizin gibi sorun yaşayan arkadaşlara faydası olur.
-
Konunun tek yerden takip edilebilmesi adına orijinal çözüme yönlendirdim. Ancak aynı sorunla karşılaşanlar için özetlemek gerekirse:
Öncelikle freeradiusu manuel olarak durduruyoruz.
Aşağıdaki adreste belirtilen dosyayı ( usr/local/pkg/freeradius.inc ) pfsense üzerinde bulup 1989. satırınadailycounter
ifadesini ekliyoruz ve kaydediyoruz.
https://github.com/pfsense/FreeBSD-ports/blob/c7573f5cc64254c17250adaf555d3e7cf64010e8/net/pfSense-pkg-freeradius3/files/usr/local/pkg/freeradius.inc#L1989
Kodun ilgili bölümü aşağıdaki gibi görünmelidir:
{$varsqlconf2failover} sql { sql1 {$varsqlconf2authorize} } dailycounter EOD;
Pfsenseyi restart ediyoruz.
Uyarı 1: Belirtilen işlemler çalışan sisteminizi çalışmaz duruma getirebilir. Bu yüzden işlemi uygulamadan önce yedek almanız tavsiye edilir. Sorumluluk kabul edilmez.
Uyarı 2: Belirtilen çözüm yöntemi bir üstteki gönderimde belirtilen adresten alınmıştır. Benim sistemimde işe yaradı. Başka sistemlerde çalışıp çalışmayacağı garanti edilmez. -
Teşekkür ederim. Gayet güzel anlatmışsınız. Günlük download limit ile alakalı bir çözüm bulamamıştım. Acaba bu dailycounter neleri sayıyor.
-
Rica ederim. Günlük download limiti ile ilgili bir kısıtlama şuan için kullanmıyorum. Ama yakın zamanda deneyip haber vereceğim.
-
Yukarıda belirtilen ayarlar ile günlük kota özelliği de çalışmaktadır.
-
@pfsense01
Deneyip cevap verdiğin için teşekkür ederim. Günlük limit için Daily-Output-Octets attributesini mi kullanmaktasın? -
Kota sınırlaması için attribute kullanmadım. Services-->FreeRadius-->Users yolunu takip ederek ilgili kullanıcıyı seçtim ve "Amount of Download and Upload Traffic" değerine istediğim miktarı mega bayt cinsinden giriş yaptım. Bu şekilde çalışıyor.