2.1 release Captiveportal Squid Transparent Problemi



  • Merhaba Arkadaşlar,

    2.1 üzerinde cp ve squid transparent modda kullanmak istiyorum. Bunun nedeni transparent mod olmadan cepten internete girilememesi. Bu modu kullanınca bilgisayarlarda proxy girince cp' a uğramadan nete çıkıyor. Cp' a nasıl yönlendirebilirim. bununla ilgili araştırma yaptım ancak kayda değer bir şey bulamadım. Belki versiyon farkından olabilir diye düşünüyorum. Yardım ederseniz sevinirim.

    Kolay Gelsin



  • Bu problemin çözümü var mı arkadaşlar, 2.0.2 versiyonunda Harun bey bir çözüm bulduğunu yazmış ancak işe yaramadı. http://forum.pfsense.org/index.php?topic=39834.0
    Burada çözüm browsera proxy yazanı bloklama yapmak olmamalı,  squid' in işlevini yaparak 80 yada 443 portuna değil cp' ın 8000 portuna yönlendirme yapması olmalıdır. Ancak hiç bir yol bulamadım. Konuyla ilgili bilgisi olan var mı?

    Teşekkürler.



  • konu ile ilgili bilgi sahibi olan yokmu acaba, yani ya squidi kullanma yada cp kullanma , bunu diyecek biride mi yok.



  • squid3-dev de patch captive portal seçeneği bu amaçla konulmuştur



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



  • 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.



  • 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.



  • ç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)



  • 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.



  • 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



  • 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?



  • @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



  • 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.



  • @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



  • 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


Log in to reply