Captive portal Hard timeout sonunda kullanıcı atmıyor



  • captival portal Hard timeout sonunda kullanıcı atmıyor.
    sistemim de captival portal + domain active directory entegre şekilde çalışıyor.
    internete girmek isteyen kullanıcı domain şifresi ile giriş yapıyor ancak giriş yapan kullanıcıyı captival portal hard timeout 120 dk verdiğim halde denemelerimde 24 saat sonra bile kullanıcı captival portal status kısmında gözüküyor.
    neden captival portal bu kullanıcıları 120 dk sonra atmıyor…
    Yardımlarınız için şimdiden teşekkür ederim.



  • atıyodur ama siz active directory den kullanıcı tanımı yaparak izin verdiyseniz kullanıcı tekrar auth oluyodur yani kopup tekrar bağlanıyodur.

    loglardan portal auth kısmından bi kontrol edip sonucunu yazarmısınız ?



  • logları inceledim ama benim manual disconect yaptıklarımda loglarda gözüküyor tam sonuca ulaşamadım.
    ama sanırım haklı olabilirsiniz. logları temizledim.
    logları daha detaylı inceleyip sonucunu buradan yazacağım. teşşekkür ederim



  • portal auth loglarına baktım ancak login olduğumu söyluyor. 4 saat sonra yine hala aynı kayıt var disconect hakkında hiç bir bilgi yok.
    hard timeout 120 olarak yazdım. acaba bundamı sorun var. Disconect zamanı benim için çok önemli. lütfen yardım.



  • sistemimde kullanıcıları freeradius2 paketi ile yönetiyorum

    sistemdeki örnek log

    idle timeout 15 dakika ayarlı.

    Jun 12 13:53:49 firewall.localhost logportalauth[2727]: USER LOGIN: selim, g8:d1:dd:1d:42:10, 10.50.3.106
    Jun 12 14:18:22 firewall.localhost logportalauth[18874]: TIMEOUT: selim, g8:d1:dd:1d:42:10, 10.50.3.106



  • Captive Portal'da 60 saniyede bir çalışan ve hardtime out süresi dolan istemcileri disconnect yapan
    /var/run dizininde bulunan cp_prunedb.pid prosesi vardır. Eğer minicron olarak bu proses çalışmıyorsa, o zaman bu işlem gerçekleşmez.

    Bunu anlamak için
    pfsense web arayüzünde Diagnostics->Command Prompt kısmına gelip, burada Execute Shell command kısmında
    ps ax | grep prune yazın.
    Eğer minicron 60 /var/run/cp_prunedb.pid /etc/rc.prunecaptiveportal benzeri bir şey göremiyorsanız,
    demek ki bu proses çalışmıyor demektir. minicron'da bende de bu tarz sorunlar olabiliyordu.

    Tavsiyem şudur:
    /etc/inc/captiveportal.inc dosyasındaki captiveportal_prune_old() fonksiyonu, hardtimeout süresi dolan istemcileri atan bir fonksiyondur.
    pfsense 'e WinSCP ile bağlanın /usr/sbin dizininde captiveportal_close_timedout_sessions.php adına bir script oluşturun.

    Bu scriptin içine aşağıdakileri yazın.

    
    require_once("captiveportal.inc");
    captiveportal_prune_old();
    ?>
    
    

    Sonra Paketlerden Cron paketini kurun. Cron paketine istediğiniz zaman aralığında, ister dakikada bir ister saatte bir (tercih size kalmış)
    /usr/local/bin/php  /usr/sbin/captiveportal_close_timedout_sessions.php   komutunu çalışacak şekilde düzenleyin.

    Ben , /etc/inc/captiveportal.inc dosyasındaki captiveportal_prune_old fonksiyonunun içindeki kodu kendi ihtiyaçlarıma göre sadeleştirip cron'a ekledim ve bu şekilde bu sorunu çözdüm.

    Kolay Gelsin



  • Tüm yardımlarınız için teşşekkür ederim. en kısa zamanda deneyeceğim.