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

    2.1 release Captiveportal Squid Transparent Problemi

    Scheduled Pinned Locked Moved Turkish
    15 Posts 4 Posters 4.4k 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.
    • E
      Eniqma27
      last edited by

      Hiç kullanma gereksinimin olmadı ama bu konuda freeradius yardımcı olabileceğini düşünüyorum.

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

        2.0.3 versiyonunda Cp de bir dosya degişikligi yapılmıştı. deneyip işe yaramıştı dosyayı bulunca bir upload eder 2.1 de denersiniz.

        1 Reply Last reply Reply Quote 0
        • C
          cenkata
          last edited by

          mendilli arkadaşımın dediğini yaptım ancak hiç bir işe yaramadı. Yalnız ben squid 3' te bunu yaptım. Developer sürümünü kurunca servis çalışmadı. Kaldırıp önce eski sürümü sonra dev' i kurdum.Yine servis durdu. Squid 3' te de patch kısmını tıkladım ama durum aynı.

          Eniqma27 sistemimde freeradius2 kurulu captive portala bağlı, ancak nasıl çözebilirim hiç bir fikrim yok. Nasıl yapabiliriz.

          StrGt valla bulabilirsen çok sevinirim. Zahmet veriyorum.

          İlgilendiğiniz için teşekkürler.

          1 Reply Last reply Reply Quote 0
          • M
            mendilli
            last edited by

            çok ilginç ben squid deki patch captive portal özelliğini sorunsuzca kullanıyorum( squid 2.7.3'e entegre ettim) , neyse şöyle birşey deneyebilirsiniz, bu sorun ilk tespit edildiğinde forumlarda geçen bir tavsiye vardı, eğer lan üzerinde doğrudan squid proxy portuna giden bağlantıları bloklayacak bir firewall kuralı oluşturursanız sorun çözülüyordu.

            Squid3-dev çalışmaması ile ilgili gerekli olan yanılmıyorsam 6 adet dosyanın manuel olarak sisteme eklenmesi gerekiyor, paket ile ilgili şu POST'taki http://forum.pfsense.org/index.php/topic,62256.msg336303.html#msg336303 işlemleri uygulamanız lazım

            http://e-sac.siteseguro.ws/pfsense/8/amd64/All/ldd/ (64 bit için)
            http://e-sac.siteseguro.ws/pfsense/8/All/ldd/ (32 bit için)

            1 Reply Last reply Reply Quote 0
            • C
              cenkata
              last edited by

              mendilli öncelikle kusura bakma sana çok zahmet veriyorum, squid3-dev i çalıştırmayı başarabildim. dediğim patch' işaretledim ve save ettim, sistemide yeniden başlattım. Ama sonuç aynı, browser' a proxy yazınca cp' ı atlatıyor. Bende squid' den Authentication tabından captive portalı seçtim. proxy girince internete çıkarmıyor. Ama benim için önemli olan proxy varken de kullanıcıya captive portal  ekranı gelmesi. Bunu nasıl sağlarız.

              1 Reply Last reply Reply Quote 0
              • M
                mendilli
                last edited by

                captive portal ya da squid için kullandığınız portlar standart portlar mı yoksa kendiniz özel başka port mu belirlediniz, öyleyse standart(default) portları kullanarak bi daha deneyin, bu da çözüm olmazsa artık aklıma tek çözüm olarak 2.0.3 versiyonuna dönmeniz geliyor, ben şu anda sorunsuz olarak browser'a da girsem wpad/pac le de proxy atasam her şekilde login sayfası ile karşılaşıyorum

                1 Reply Last reply Reply Quote 0
                • C
                  cenkata
                  last edited by

                  mendilli sen 2.0.3 mü kullanıyorsun? squid ve squidguard hangi versiyonları kullanıyorsun. paketleri bi yazarsan sevinirim. Sence 2.1 için daha erken mi diyorsun? Birde ben önce freeradiusu kurdum. ardından cp' ı yapılandırdım. squidi sonra kurdum bunun bir etkisi olur mu? Ama squidi kurduktan sonra olmayınca, cp' ı sildim yeniden oluşturup öylede denedim olmadı. Acaba baştan 2.1 kursam ilk önce paketlerin tümünü kursam sonra cp' ı yapılandırsam ne dersin? Olmazsa 2.0.3 e geçim dediğin gibi. Ama her halükarda squid3-dev ve squidGuard-dev mi kurmalıyım, yoksa squid3-dev kurup squidguardı düzmü kurayım?

                  1 Reply Last reply Reply Quote 0
                  • M
                    mendilli
                    last edited by

                    @cenkata:

                    mendilli sen 2.0.3 mü kullanıyorsun? squid ve squidguard hangi versiyonları kullanıyorsun. paketleri bi yazarsan sevinirim. Sence 2.1 için daha erken mi diyorsun? Birde ben önce freeradiusu kurdum. ardından cp' ı yapılandırdım. squidi sonra kurdum bunun bir etkisi olur mu? Ama squidi kurduktan sonra olmayınca, cp' ı sildim yeniden oluşturup öylede denedim olmadı. Acaba baştan 2.1 kursam ilk önce paketlerin tümünü kursam sonra cp' ı yapılandırsam ne dersin? Olmazsa 2.0.3 e geçim dediğin gibi. Ama her halükarda squid3-dev ve squidGuard-dev mi kurmalıyım, yoksa squid3-dev kurup squidguardı düzmü kurayım?

                    ben 2.0.3 ü kullanıyorum açıkçası 2.1 i kurup denedim ama çok stabil gelmedi bana, ben squid 2.7.9 u ve squidguard 1.4_4 paketini kullanıyorum, freeradius şu anda kullanmıyorum ancak onu da daha önce denedim ve herhangi bir sorunla karşılaşmadım, yalnız ben squid 2.7.9 da patch captive portal özelliği olmadığı için squid.xml ve squid.inc dosyaları ile oynayarak bu özelliği ekledim.

                    arayüze seçenek eklemek için squid.xml dosyasının field bölümünde istedğin yere şu satırları ekle

                    <field><fielddescr>Patch captive portal</fielddescr>
                    <fieldname>patch_cp</fieldname>
                    <description>NOTE: You may need to reapply captive portal config after changing this option.]]></description>
                    <type>checkbox</type></field>

                    squid.inc dosyasında ise aşağıdaki alanı bulup kırmızı ile gösterilen kodları ekle

                    function squid_generate_rules($type) {
                    global $config;

                    $squid_conf = $config['installedpackages']['squid']['config'][0];

                    //check captive portal option
                    $cp_file='/etc/inc/captiveportal.inc';
                    $pfsense_version=preg_replace("/\s/","",file_get_contents("/etc/version"));
                    $port = ($settings['proxy_port'] ? $settings['proxy_port'] : 3128);
                    $cp_inc = file($cp_file);
                    $new_cp_inc="";
                    $found_rule=0;
                    foreach ($cp_inc as $line){
                    $new_line=$line;
                    //remove applied squid patch
                    if (preg_match('/skipto 65314 ip/',$line)){
                    $found_rule++;
                    $new_line ="";
                    }
                    if (substr($pfsense_version,0,3) > 2.0){
                    if (preg_match('/255.255.255.255/',$line) && $squid_conf['patch_cp']){
                    $found_rule++;
                    $new_line .= "\n\t".'$cprules .= "add {$rulenum} skipto 65314 ip from any to {$ips} '.$port.' in\n";'."\n";
                    $new_line .= "\t".'$cprules .= "add {$rulenum} skipto 65314 ip from {$ips} '.$port.' to any out\n";'."\n";
                    }
                    }
                    else{
                    //add squid patch option based on current config            
                    if (preg_match('/set 1 pass ip from any to/',$line) && $squid_conf['patch_cp']){
                    $found_rule++;
                    $new_line = "\t".'$cprules .= "add {$rulenum} set 1 skipto 65314 ip from any to {$ips} '.$port.' in\n";'."\n";
                    $new_line .= $line;
                    }
                    if (preg_match('/set 1 pass ip from {/',$line) && $squid_conf['patch_cp']){
                    $found_rule++;
                    $new_line = "\t".'$cprules .= "add {$rulenum} set 1 skipto 65314 ip from {$ips} '.$port.' to any out\n";'."\n";
                    $new_line .= $line;
                    }
                    }
                    $new_cp_inc .= $new_line;
                    }
                    if (!file_exists('/root/'.$pfsense_version.'.captiveportal.inc.backup')) {
                    copy ($cp_file,'/root/'.$pfsense_version.'.captiveportal.inc.backup');
                    }
                    if($found_rule > 0){
                    file_put_contents($cp_file,$new_cp_inc, LOCK_EX);
                    }
                    //normal squid rule check
                    if (($squid_conf['transparent_proxy'] != 'on') || ($squid_conf['allow_interface'] != 'on')) {
                    return;
                    }

                    bu şekilde sende 2.7.9 da patch captive portal özelliğine sahip olacaksın.

                    birde şu hususlar var:

                    1-tarayıcında anasayfan https ie başlıyorsa onu http yap (önrek = https://www.google.com yerine http://www.google.com yaz)
                    2-transparent squid kullanıyorsan lan bacağında doğrudan 3128'e (proxy portu)  giden bağlantıları BLOKLAYAN bir kural oluştur.
                    3-non-transparent proxy kullanıyorsan lan bacağında doğrudan 80 (http) ve 443 (https) portalarına gidiş için BLOK kuralı oluştur.

                    paket kurulum sırasının çok önemli olmadığını düşünüyorum

                    1 Reply Last reply Reply Quote 0
                    • C
                      cenkata
                      last edited by

                      Bunları deneyip bilgi vereceğim. Mendilli çok teşekkür ederim. Daha öncede dns forwerd ile ilgili yardımcı olmuştun. Emeklerin için allah razı olsun.

                      1 Reply Last reply Reply Quote 0
                      • M
                        mendilli
                        last edited by

                        @cenkata:

                        Bunları deneyip bilgi vereceğim. Mendilli çok teşekkür ederim. Daha öncede dns forwerd ile ilgili yardımcı olmuştun. Emeklerin için allah razı olsun.

                        rica ederim inşallah bi tanesi işe yarar

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

                          Selam,
                          2.1 sürümünde cp denemedim ama eski sürümlerde denedim işe yaramıştı.

                          /etc/inc/captiveportal.inc dosyasını yedegini alıp
                          aşagıdaki kod ile değiştirmen yeterlidir..

                          Not: Kodları almadıgı için aşagıdaki linkten alabilirsin.

                          https://github.com/downloads/marcelloc/pfsense-packages/captiveportal_201_amd64.inc

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