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

    Schedule Squid Transparente

    Scheduled Pinned Locked Moved Portuguese
    10 Posts 5 Posters 1.2k 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.
    • A
      alexandroinfor
      last edited by

      Bom dia a todos!

      Recebi uma solicitação de um cliente e estou com dificuldades para resolver.
      O mesmo quer que realize a liberação da internet em toda a rede em determinados horário. O ambiente atual está configurado com Squid HTTP/HTTPS e certificados instalados nas estações de trabalho (não configurei o SquidGuard pois tive problemas com o bloqueio do SSL).

      Pois bem, como o Scheduler do pfSense trabalha a nivel de regra e o proxy transparente cria um NAT "interno" redirecionando as conexẽs HTTP e HTTPS para localhost, pensei em criar um script desabilitando esse nat "interno" e liberando assim o acesso a internet.

      Queria a opinião de vocês de como resolver esse problema, a solução do script acho que daria certo, porém não consegui fazer isso os comandos do pfctl, alguém poderia me ajudar ?

      Obrigado a todos!

      1 Reply Last reply Reply Quote 0
      • G
        guitarcleiton
        last edited by

        Você pode trabalhar com regras e alises.
        Crie uma blacklist  com ips e urls bloqueadas durante o periodo que deseja
        Crei uma regra acima de todas as bloqueando tudo para essa blacklist, dentro desta regra você define a squedule.

        Ou usar custom acl no squid

        
        acl Libera dstdomain  facebook.com
        acl WORKING time MTWHF 11:30-12:30
        http_access allow Libera WORKING
        http_access deny Libera
        
        

        Analista de Sistemas
        Bacharel em Sistemas de Informação

        https://cleiton.tech.blog/

        1 Reply Last reply Reply Quote 0
        • A
          alexandroinfor
          last edited by

          Amigo, muito obrigado pelo retorno vou fazer aqui e posto o resultado aqui no forum. ;)

          1 Reply Last reply Reply Quote 0
          • A
            alexandroinfor
            last edited by

            Amigo, não deu certo não. Adicionei a regra mencionada, alterando o domínio e horário, porém o proxy continuou bloqueando. Lembrando que não estou utilizando autenticação no squid.

            Em relação a regra de filtragem, mesmo eu liberando todo o acesso, o pfSense cria automaticamente o NAT de redirecionamento de porta, pois estou trabalhando com proxy transparente, e encaminha a requisição para o firewall.

            se conseguisse desabilitar as duas regras abaixo, acredito que daria certo

            rdr pass on xl0 inet proto tcp from any to ! (xl0) port = http -> 127.0.0.1 port 3128
                                rdr pass on xl0 inet proto tcp from any to ! (xl0) port = https -> 127.0.0.1 port 3129

            ai eu criaria um script desabilitando tais regras e parando o serviço do squid.

            Só que não sei ainda como desabilitar a regra de NAT via cli.

            1 Reply Last reply Reply Quote 0
            • andrezaomacA
              andrezaomac
              last edited by

              @alexandroinfor:

              Bom dia a todos!

              Recebi uma solicitação de um cliente e estou com dificuldades para resolver.
              O mesmo quer que realize a liberação da internet em toda a rede em determinados horário. O ambiente atual está configurado com Squid HTTP/HTTPS e certificados instalados nas estações de trabalho (não configurei o SquidGuard pois tive problemas com o bloqueio do SSL).

              Pois bem, como o Scheduler do pfSense trabalha a nivel de regra e o proxy transparente cria um NAT "interno" redirecionando as conexẽs HTTP e HTTPS para localhost, pensei em criar um script desabilitando esse nat "interno" e liberando assim o acesso a internet.

              Queria a opinião de vocês de como resolver esse problema, a solução do script acho que daria certo, porém não consegui fazer isso os comandos do pfctl, alguém poderia me ajudar ?

              Obrigado a todos!

              1º crie os hoarios que vc vai utilizar em Regras>>Agendas.
              2º Em Regras do Firewall, crie uma nova regra e coloque o range de IP da sua rede e não esquece de apontar essa regra para sua Agenda criada no item acima.
              Se vc quer abrir a internet apenas para alguns IP, inves de colocar o Range de IP, (cria uma nova Aliases  e dentro dela vc coloca os IP) depois vc aponta esse nova Aliases no lugar do Range de IP.

              Consultoria em Servidores Linux/Windows.
              contato@andrenetwork.com.br

              Tecnólogo em Redes de Computadores.
              Bacharel em Sistemas da Informação.


              http://www.andrenetwork.com.br

              Limeira - SP

              1 Reply Last reply Reply Quote 0
              • G
                guitarcleiton
                last edited by

                @alexandroinfor:

                Amigo, não deu certo não. Adicionei a regra mencionada, alterando o domínio e horário, porém o proxy continuou bloqueando. Lembrando que não estou utilizando autenticação no squid.

                Se você optou por criar as definições via regra deve remover o site da blacklist do squid e manter apenas nas aliases.

                Analista de Sistemas
                Bacharel em Sistemas de Informação

                https://cleiton.tech.blog/

                1 Reply Last reply Reply Quote 0
                • A
                  alexandroinfor
                  last edited by

                  Bom dia amigo.

                  Muito obrigado pelo retorno!

                  Estou trabalhando com proxy transparente, nesse caso, essas regras serão ignoradas pelo proxy, uma vez que ele redireciona automaticamente as conexões da porta 80 e 443 para 3128 e 3129 respectivamente.

                  Talvez a solução seja trabalhar com proxy ativo mesmo, oque acha ?

                  1 Reply Last reply Reply Quote 0
                  • danilosv.03D
                    danilosv.03
                    last edited by

                    Crie uma schedules depois adiciona essa mesma regra nas portas: 80, 443 ou 53 (DNS). Acho melhor você só apontar para a porta DNS que resolve seu problema.


                    :)
                    |E-mail: danilosv.03@gmail.com
                    |Skype: danilosv.03


                    1 Reply Last reply Reply Quote 0
                    • A
                      alexandroinfor
                      last edited by

                      Muito obrigado a todos que me auxiliaram com o problema, consegui resolver a situação da seguinte maneira;

                      Criei dois arquivos;

                      1 /etc/rc.d/agenda_inicio.sh

                      #!/bin/sh
                      cat /tmp/rules.debug | grep -v "rdr pass on xl0 proto tcp from any to !(xl0) port 80 -> 127.0.0.1 port 3128" | grep -v "rdr pass on xl0 proto tcp from any to !(xl0) port 443 -> 127.0.0.1 port 3129" > /t
                      mp/rules.agenda
                      /sbin/pfctl -f /tmp/rules.agenda
                      
                      

                      2 /etc/rc.d/agenda_fim.sh

                      #!/bin/sh
                      /sbin/pfctl -f /tmp/rules.debug
                      
                      

                      O primeiro arquivo faz um cat nas regras atuais do firewall e exclui com o grep -v os dois NATs que redirecionam o trafego HTTP/HTTPS para o squid
                      O Segundo arquivo volta as regras salvas do arquivo /tmp/rules.debug

                      Por ultimo, agendei uma rotina no cron

                      ;) ;)

                      1 Reply Last reply Reply Quote 0
                      • marcellocM
                        marcelloc
                        last edited by

                        Boa alternativa sem programar.

                        Só lembrando que o /tmp/rules.debug é alterado sempre que qualquer regra é aplicada e ainda tem uns agendamentos internos do pfSense que podem gerar o arquivo novamente.

                        Treinamentos de Elite: http://sys-squad.com

                        Help a community developer! ;D

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