CaptivePortal não direciona Pagina de Autenticação Fixando proxy
-
Boa noite.
Eu tinha o ambiente abaixo funcionando no pfsense 2.03 e na versão 2.1 estou tendo problemas que resume no seguinte.
WAN
LAN -> 192.168.1.5/24
WIRELESS -> 10.9.9.5/24O Serviço do squid3 autenticando em base openldap esta rodando na interface LAN
O Freeradius que tambem autentica no openldap e o captive portal que utiliza o freeradius para validar a autenticação roda na interface wireless.O problema ocorre quando eu seto no navegador do cliente que esta atraz na rede wireless o proxy 192.168.1.5 porta 3128 não aparece a pagina de autenticação do captive portal.
Se eu retirar o proxy ai sim, aparece a tela de autenticação do captive portal e funciona a validação no freeradius que consulta o openldap.
Quando eu seto o proxy 192.168.1.5 eu informo no navegador para não usar proxy para o 10.9.9.5 porem mesmo assim não funciona.
Antes na versão 2.03 funcionava normalmente.
Obs. tentei marcando a opçao do path do squid para o captive portal e tambem não funcionou. mas vi no arquivo captiveportal.inic que esta aplicando o path corretamente.
Eu tenho este ambiente pois tenho usuarios que tem momento q estão na lan e momentos la wireless e a maneira melhor foi deixando um proxy para amas as redes.
eu utilizo o WPAD para entregar o GW, mas como não tinha funcionado tentei indicando a conf manual no navegador.
Desde já agradeço -
tente substituir o loop das linhas 1666 até 1685 no squid.inc da versão 3.1 por este aqui:
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; }
-
Marcello muito obrigado pela ajuda.
Fiz o que você informou acima porem o problema ainda continua.
Eu fiz uma analise pegando o squid.inc da versão 2.03 que estava funcionando e comparei com o squid.inc da versão 2.1 e ambos estava iguais.
Não estava com esta alteração que você pediu para fazer das linhas do squid.inc -
Esta alteração é o fix do captive portal para o squid3-dev
-
Obrigado novamente marcello.
Então no meu caso não ira funcionar.
Pois o squid3-dev não funciona se o suporte a ipv6 tiver desabilitado.
Encontrei mais um comportamento estranho na openvpn.
Quando tem failover após o retorno do link principal a lan atraz do servidor pfsense não pinga nas lan dos clientes mas os clientes pinga na lan atraz do servidor pfsense.
E notei que a openvpn do pfsense 2.1 carrega suporte a ipv6 em sua configuraçao automaticamente.
Irei voltar para o pfsense 2.0.3 e deixar este pfsense 2.1 mais para frente pois encontrei alguns bugs que não consegui resolve-los ou contorna-los.
Desde já agradeço -
O fix que coloquei aqui com a explicação é o fix para o captive portal para ser aplicado no squid3.
Este fix já esta no squid3-dev.
Consegui me explicar agora?