Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Captive portal + lightsuid raporlama sorunu

    Scheduled Pinned Locked Moved Turkish
    20 Posts 6 Posters 5.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      kemalgok
      last edited by

      Merhaba,

      Eğer kullanıcıların ip adreslerini biliyorsanız,
      "/usr/pbi/lightsquid-i386/etc/lightsquid/" altındaki "realname.cfg" dosyasını açın ve kullanıcıların ip adres ve isimlerini kaydedin;

      192.168.1.100    Ahmet
      192.168.1.101    Mehmet
      192.168.1.102    Hasan
      192.168.1.103    Huseyin

      Ardından Status > Proxy Report > Lightsquid > Refresh Now dediğinizde artık raporlar ip adresi yerine isim olarak gelecektir.

      İyi çalışmalar dilerim.

      1 Reply Last reply Reply Quote 0
      • E
        en2li2
        last edited by

        kemal bey merhaba kusura bakmayın talebimi yanlış ilettim. benim isedigim ip adresi kalsın fakat Gerçek ad kısmında '?' işareti olan yerde capital portaldaki isimler görünmesini istiyorum.

        1 Reply Last reply Reply Quote 0
        • K
          kemalgok
          last edited by

          Merhaba,

          Öncelikle Lightsquid'de "?" işareti olduğu yere (Real Name kısmına), captive portal daki kişi isimlerini yazdırmanın hali hazırda bir yöntemi bildiğim kadarıyla yok.
          Ancak siz mysql+ghost kullandığınıza göre php de yazacağınız bir script ile bunu yapabilirsiniz.

          Lightsquid, "?" işareti olduğu yeri doldurmak için "/usr/pbi/lightsquid-i386/etc/lightsquid/realname.cfg" dosyasında ip-isim tanımlamaları varmı ona bakıyor.
          Eğer tanımlama yoksa "?" işareti koyuyor.

          captive portal girişleri mysql de "radacct" tablosunda tutuluyor ve bu tabloda hem "kullanıcı adı", hem "ip adresi" gibi bilgiler bulunmaktadır.
          Yazacağınız bir script ile cp kullanıcı adı ve ip adreslerini bu "realname.cfg" dosyasına yazdırabilirseniz, lightsquid "?" işareti kısmına artık cp isimleri gelir.

          İyi çalışmalar dilerim.

          1 Reply Last reply Reply Quote 0
          • E
            en2li2
            last edited by

            Peki bu belirttiginiz çözümü nasıl uygulayabilirim ?

            1 Reply Last reply Reply Quote 0
            • K
              kemalgok
              last edited by

              Açıkçası elimde bu iş için hali hazırda bir script maalesef yok.
              Ancak yazılması iyi olur belki diğer arkadaşlarında işine yarar.
              Yazmaya başlayayım bitince buradan haber veririm.

              1 Reply Last reply Reply Quote 0
              • K
                kemalgok
                last edited by

                Merhaba,

                Lightsquid "Realname" kısmına Captive Portal isimlerini yazdıran script aşağıda eklenmiştir.

                İyi çalışmalar dilerim.

                Kullanımı :
                1 - Script kodlarini kopyalayin.
                2 - "/usr/local/www" altinda "ls_rapor.php" adinda bir dosya olusturun ve kodlari icine yapistirin.
                3 - Sonra Cron'da "/usr/local/bin/php /usr/local/www/ls_rapor.php" olarak 10 dk.da bir çalisacak sekilde ekleyin.
                NOT : Scripti browser dan http://[PFSENSE IP ADRESI]/ls_rapor.php seklinde de calistirabilirsiniz.

                
                ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                // 	Bu script, Hotspot'u Captive Portal+Freeradius+Mysql+Ghost seklinde kullananlar icin, Lightsquid raporlarindaki "Real Name" kismina "Kullanici Adi" yazdirmak için kullanilan scripttir. 
                // 	Kemal GOK | Versiyon : 0.1 | Ekim 2015 | kemalgok.com | kemalgok@gmx.net 
                // 	KULLANIMI : 
                //	1 - Script kodlarini kopyalayin.
                //	2 - "/usr/local/www" altinda ls_rapor.php adinda bir dosya olusturun ve kodlari icine yapistirin. 
                //	3 - Sonra Cron'da "/usr/local/bin/php /usr/local/www/ls_rapor.php" olarak 10 dk.da bir çalisacak sekilde ekleyin.
                //	NOT : Scripti browser dan http://[PFSENSE IP ADRESI]/ls_rapor.php seklinde de calistirabilirsiniz. 
                ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                
                // TANIMLAMALAR...
                $basla = microtime(true);
                $realname="/usr/pbi/lightsquid-i386/etc/lightsquid/realname.cfg";
                $geceoniki=date("Y-m-d 00:00:00", strtotime(now));		
                
                function baglan()
                {
                	$host="localhost"; 		// Mysql hostname
                	$username="radius";  	// Mysql username 	(Varsayilan olarak username : radius)
                	$password="radpass"; 	// Mysql password	(Varsayilan olarak password : radpass)
                	$db_name="radius"; 		// Database name
                
                	$con = mysql_connect($host,$username,$password);
                	if (!$con)die('Baglanamadi : ' . mysql_error());
                	mysql_select_db($db_name, $con);
                }
                
                //////////////// ANA BLOK ///////////////////
                baglan();
                $result=mysql_query("SELECT framedipaddress, username FROM radacct WHERE acctstarttime BETWEEN '$geceoniki' AND NOW() ORDER BY framedipaddress");
                echo "IP ADRES >> KULLANICI ADI 
                ";
                while($row = mysql_fetch_array($result)) 
                {
                	echo "$row[framedipaddress] >> $row[username] 
                ";
                	$user_ip.=$row[framedipaddress]." ".$row[username]."\n";
                	$say+=1;
                }		
                file_put_contents($realname, $user_ip);
                
                echo "$say adet IP ADRES > ISIM eslesmesi LIGHTSQUID dosyasina yazildi...
                ";
                $gecen_zaman = microtime(true) - $basla;
                
                echo "Script calisma zamani : ".$gecen_zaman." saniye
                ";
                mysql_close();
                ?> 
                
                1 Reply Last reply Reply Quote 0
                • E
                  en2li2
                  last edited by

                  Kemal bey merhabalar verdiginiz scripti kullandım fakat lightsquid te real name kısmında hala ? işareti mevcut fakat veridigniz scripti çalıştırdıgımda ip karşısında captive portal kullanıcı isimleri çıkıyor script te

                  1 Reply Last reply Reply Quote 0
                  • K
                    kemalgok
                    last edited by

                    Merhaba,

                    Scripti çalıştırdıktan sonra,
                    1 - "/usr/pbi/lightsquid-i386/etc/lightsquid/realname.cfg" dosyasında isimler ve ip ler gelmis mi ?
                    2 - Lightsquid de "Refresh now" yaptınız mı?

                    1 Reply Last reply Reply Quote 0
                    • S
                      sgtr
                      last edited by

                      Merhabalar,

                      Eğer ki önerdiğiniz çözüm 64bit olduğundaki yolu da yazabilir misiniz. Belki arkadaşımızın sistemi 64bit olduğu için olmayabilir mi?

                      SGTR

                      Bir umut olmasa bile Asla Pes Etme.

                      1 Reply Last reply Reply Quote 0
                      • S
                        sgtr
                        last edited by

                        @en2li2:

                        Sistemde capital portal+ squid+freeradius+mysql+lightsquid+ghost hotspot mevcuttur. sistem stabil çalışmaktadır fakat forumdada aradım bulamadım. Sorunum capital portalda login olan kullanıcılar light squidte görünüyor ama ip yerine capital portaldaki isim ile görünmesini istiyorum bunu nasıl yapabilirim?

                        Merhabalar,

                        Sizlerden de ricamız soru kaydınızı açarken sisteminizin 32bit ya da 64bit olduğunu da belirtirseniz daha hızlı/etkin yanıt alabilirsiniz.

                        SGTR

                        Bir umut olmasa bile Asla Pes Etme.

                        1 Reply Last reply Reply Quote 0
                        • K
                          kemalgok
                          last edited by

                          Merhaba,

                          @SGTR üstad dediğiniz gibi 64 bitte dosya yolu farklı olabilir.
                          Arkadaş sonuç hakkında henüz geri dönüş yapmadı bende merak ediyorum sonuç ne oldu.
                          Eğer 64 bitse, dosyanın nerede olduğunu konsol roottayken "find /  -name realname.cfg" komutuyla öğrenebilir.

                          İyi çalışmalar dilerim.

                          1 Reply Last reply Reply Quote 0
                          • E
                            en2li2
                            last edited by

                            merhabalar kemal bey dediginiz gibi scripti ekledim çalıştı fakat raporlamada bazı isimler de hala "?" işareti kalıyor bazılarında isimleri yazıyor bunun önüne nasıl geçebiliriz?

                            1 Reply Last reply Reply Quote 0
                            • K
                              kemalgok
                              last edited by

                              Merhaba,

                              Script, gece 00:00:00 dan o ana kadar CAPTIVE PORTAL üzerinden KULLANICI ADI ve ŞİFRE ile giren tüm kullanıcıları raporlar.
                              Ancak siz, CAPTIVE PORTAL üzerinden "pass-through mac " yada "allowed ip addresses " kısmında bazı kullanıcılara direk giriş izni veriyorsanız bunlar "?" olarak kalacaktır.
                              Bu soru işareti olan ip leri araştırdığınızda muhtemelen buna benzer bir sonuç ortaya çıkacaktır.

                              İyi çalışmalar dilerim.

                              1 Reply Last reply Reply Quote 0
                              • E
                                en2li2
                                last edited by

                                Bu mac pass toured a tanımladıgım mac adreslerine nasıl isimlendirme yapabilirim Kemal bey,

                                1 Reply Last reply Reply Quote 0
                                • K
                                  kemalgok
                                  last edited by

                                  Merhaba,

                                  Bu işin, sizin tarafınızda yapacağınız kısmı, DHCP den bu mac adreslerine statik ip vermenizdir.
                                  Çünkü lightsqudid mac a göre değil, ip adresine göre rapor oluşturuyor.
                                  Bu mac adreslerinin hepsini bir ip ye bağlamanız lazım.

                                  Script tarafında ise, captive portala uğramadan giriş yapan cihazların lightsquid raporlarında çıkması için scriptte bir revizyon yapılması lazım.
                                  İş durumuna göre bu revizyonu yapabilirim ancak tam bir zaman veremiyorum.

                                  İyi çalışmalar dilerim.

                                  1 Reply Last reply Reply Quote 0
                                  • K
                                    kemalgok
                                    last edited by

                                    Merhaba,

                                    Raporlama scriptte, Captive Portal'dan direk giriş izni verilen kullanıcıların Lightsquid raporlarında gözükmesi için gerekli revizyon yapılmıştır.
                                    Öncelikle, Lightsquid ip adresine göre raporlama yaptığı için, CP dan direk giriş yapan cihazlara DHCP den statik ip tanımlama yapmanız gerekmektedir.

                                    Scriptin içindeki "$cp_ip" değişkenine örnekte belirtildiği gibi ip leri tanımlamanız yeterlidir.
                                    Bu tanımlanan ipler lightsquid "realname.cfg" dosyasına eklenecek ve artık raporlarda soru işareti yerine bu kişiler çıkacaktır.

                                    
                                    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                                    // 	Bu script, Hotspot'u Captive Portal+Freeradius+Mysql+Ghost seklinde kullananlar icin, Lightsquid raporlarindaki "Real Name" kismina "Kullanici Adi" yazdirmak için kullanilan scripttir. 
                                    // 	Kemal GOK | Versiyon : 0.2 | Kasim 2015 | kemalgok.com | kemalgok@gmx.net
                                    // 	KULLANIMI : 
                                    //	1 - Script kodlarini kopyalayin.
                                    //	2 - "/usr/local/www" altinda "ls_rapor.php" adinda bir dosya olusturun ve kodlari icine yapistirin. 
                                    //	3 - Sonra Cron'da "/usr/local/bin/php /usr/local/www/ls_rapor.php" olarak 10 dk.da bir çalisacak sekilde ekleyin.
                                    //	NOT : Scripti browser dan http://[PFSENSE IP ADRESI]/ls_rapor.php seklinde de calistirabilirsiniz. 
                                    //	VERSIYON NOTLARI : 
                                    //	0.2 : Bu versiyonda, Captive Portalda "direk giris yetkisi" verilen iplerin Lightsquid "Realname" kisminda gozukmesini saglayan revizyon yapimistir.
                                    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                                    
                                    // TANIMLAMALAR...
                                    // Bu alttaki kisim, Captive Portaldan direk giris yetkisi verilen cihazlarin lightsquidde raporlanmasi icin kullanilir.
                                    $cp_ip="
                                    192.168.1.200 ALI PC 				
                                    192.168.1.201 VELI IPHONE 		
                                    192.168.1.202 AHMET TELEFON 		
                                    192.168.1.203 GARANTI POS 		 			
                                    192.168.1.204 IP KAMERA
                                    192.168.1.205 KAMERA DVR CIHAZI";
                                    //////////////////////////////////////////////////////////////////////////////////////////////////////
                                    
                                    $basla = microtime(true);
                                    $realname="/usr/pbi/lightsquid-i386/etc/lightsquid/realname.cfg";
                                    $geceoniki=date("Y-m-d 00:00:00", strtotime(now));		
                                    
                                    function baglan()
                                    {
                                    	$host="localhost";		// Mysql hostname
                                    	$username="radius";		// Mysql username 	(Varsayilan olarak username : radius)
                                    	$password="radpass";	        // Mysql password	(Varsayilan olarak password : radpass)
                                    	$db_name="radius";		// Database name
                                    
                                    	$con = mysql_connect($host,$username,$password);
                                    	if (!$con)die('Baglanamadi : ' . mysql_error());
                                    	mysql_select_db($db_name, $con);
                                    }
                                    
                                    //////////////// ANA BLOK ///////////////////////////////////////////////////////////////////////////
                                    baglan();
                                    $result=mysql_query("SELECT framedipaddress, username FROM radacct WHERE acctstarttime BETWEEN '$geceoniki' AND NOW() ORDER BY framedipaddress");
                                    echo "IP ADRES >> KULLANICI ADI 
                                    ";
                                    while($row = mysql_fetch_array($result)) 
                                    {
                                    	echo "$row[framedipaddress] >> $row[username] 
                                    ";
                                    	$user_ip.=$row[framedipaddress]." ".$row[username]."\n";
                                    	$say+=1;
                                    }		
                                    $user_ip.=$cp_ip;		// Bu kisimda yukarida tanimlanan CP den direk giren ip leri ekliyoruz.
                                    file_put_contents($realname, $user_ip);
                                    
                                    echo "$say adet IP ADRES > ISIM eslesmesi LIGHTSQUID dosyasina yazildi...
                                    ";
                                    if ($cp_ip <> "") echo "CP ip leri LIGHTSQUID dosyasina yazildi...
                                    ";
                                    $gecen_zaman = microtime(true) - $basla;
                                    echo "Script calisma zamani : ".$gecen_zaman." saniye
                                    ";
                                    mysql_close();
                                    ?> 
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • H
                                      HasanUnsal
                                      last edited by

                                      @en2li2:

                                      Bu mac pass toured a tanımladıgım mac adreslerine nasıl isimlendirme yapabilirim Kemal bey,

                                      DHCP server üzerinde MAC adreslerine IP eşleme yaparsınız, daha sonra bu kişilerin MAC adreslerini pass through MAC listesinden silerek, IP adreslerini Allowed IP adresses listesine isimlerini belirterek ekleyebilirsiniz.

                                      Eşleme yapacağınız IP adreslerini DHCP dağıtım aralığı haricinde seçmeniz IP çakışması sorunları ile karşılaşmanızı önleyecektir.

                                      1 Reply Last reply Reply Quote 0
                                      • X
                                        xxpl
                                        last edited by

                                        Kemal güzel olmuş teşekkür ederim buna hangi saatte giriş çıkış yapmış onuda ekleyebilir miyiz.

                                        ve lighsquid üzerinde de pfsense de ip2name nasıl entegre ederek çalıştırabiliriz. lighsquid captive portal kullanıcı adı ve şifreyi ekliyorum ama görünmüyor. almıyor. Örnek resim linkinide ekledim.

                                        (ghost paketini kullanıyorum captive portalda)

                                        http://hizliresim.com/81l041

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          SoaL
                                          last edited by

                                          Merhaba

                                          öncelikle çok yararlı bilgileriniz için teşekkürler.

                                          Benimde bir sorum olacak.

                                          Captive Portal ve local user ile internete çıkışlarda kullanıcı denetimi yapıyoruz. Ghost için vermiş olduğunuz kodlar burda da geçerli olacak mıdır?

                                          raporda ip adresi - kullanıcı adı - mac adresi - tarih - zaman dilimlerini görebilir miyiz?

                                          Yardımlarınız için tşkler

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post
                                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.