Navigation

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

    [Resolvido] WPAD + Captive Portal

    Portuguese
    1
    2
    690
    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.
    • marciosouzajunior
      marciosouzajunior last edited by marciosouzajunior

      Pessoal, eu até pesquisei e encontrei algo sobre o assunto no fórum, mas são mensagens antigas e creio que não se aplicam na versão atual do pfSense. Estou utilizando o pfSense 2.4.4-RELEASE-p2 com Squid e SquidGuard. Não uso proxy transparente e estou distribuindo as configurações de proxy via WPAD, que fica hospedado em um outro servidor web da minha rede:

      function FindProxyForURL (url, host)
      {
      	return "PROXY 10.0.0.1:3128";
      }
      

      O problema é que ao ativar o Captive Portal em uma interface, eu não consigo acessar mais nada, nem o próprio pfSense. Como posso trabalhar com esses 2 recursos juntos? Obrigado!

      1 Reply Last reply Reply Quote 0
      • marciosouzajunior
        marciosouzajunior last edited by

        Acabei conseguindo implementar depois de testar algumas configurações no arquivo WPAD, que ficou da seguinte forma:

        function FindProxyForURL(url,host)
        {
        	
        	// Se o site estiver na rede interna, manda direto
        	if (isPlainHostName(host) ||
        		shExpMatch(host, "*.local") ||
        		isInNet(dnsResolve(host), "10.0.0.0", "255.255.255.0") ||
        		isInNet(dnsResolve(host), "20.0.0.0", "255.255.255.0") ||
        		isInNet(dnsResolve(host), "30.0.0.0", "255.255.255.0") ||
        		isInNet(dnsResolve(host), "127.0.0.0", "255.255.255.0"))
        			return "DIRECT";
        
        	// Proxy da rede 1
        	if (isInNet(myIpAddress(), "10.0.0.0", "255.255.255.0"))
        		return "PROXY 10.0.0.1:3128";
        
        	// Proxy da rede 2
        	if (isInNet(myIpAddress(), "20.0.0.0", "255.255.255.0"))
        		return "PROXY 20.0.0.1:3128";
        
        	// Proxy da rede 3
        	if (isInNet(myIpAddress(), "30.0.0.0", "255.255.255.0"))
        		return "PROXY 30.0.0.1:3128";
        
        	// Caso não esteja em nenhuma das redes, bloqueia
        	return "PROXY 127.0.0.1:48890";
        	
        }
        

        Meu principal problema era que o proxy serve outras subredes, então cada uma precisa do endereço correto para funcionar.
        Uma dificuldade foi testar as modificações no arquivo, pois os navegadores fazem cache deste arquivo. No caso do Internet Explorer, é possível desabilitar esse cache. No Chrome não consegui desabilitar, mas após alguns minutos testando ele atualizou.

        1 Reply Last reply Reply Quote 0
        • First post
          Last post

        Products

        • Platform Overview
        • TNSR
        • pfSense
        • Appliances

        Services

        • Training
        • Professional Services

        Support

        • Subscription Plans
        • Contact Support
        • Product Lifecycle
        • Documentation

        News

        • Media Coverage
        • Press
        • Events

        Resources

        • Blog
        • FAQ
        • Find a Partner
        • Resource Library
        • Security Information

        Company

        • About Us
        • Careers
        • Partners
        • Contact Us
        • Legal
        Our Mission

        We provide leading-edge network security at a fair price - regardless of organizational size or network sophistication. We believe that an open-source security model offers disruptive pricing along with the agility required to quickly address emerging threats.

        Subscribe to our Newsletter

        Product information, software announcements, and special offers. See our newsletter archive to sign up for future newsletters and to read past announcements.

        © 2021 Rubicon Communications, LLC | Privacy Policy