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

    Substituindo Fw linux por Pfsense

    Scheduled Pinned Locked Moved Portuguese
    72 Posts 4 Posters 17.6k 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.
    • marcosjostM Offline
      marcosjost
      last edited by

      @marcelloc:

      Você pode configurar qualquer coisa do squid usando o campo custom options na interface web.

      Arquivos customizados podem ser configurados usando o pacote filer, para mante-los no backup do pfsense.

      Posso editar diretamente o arquivo squid.conf que fica em /usr/pbi/squid-i386/etc/squid e ajustar as opcoes que preciso?
      por exemplo:
      onde agora tem:

      # Custom options
      redirect_program /usr/pbi/squidguard-i386/bin/squidGuard -c /usr/pbi/squidguard-i386/etc/squidGuard/squidGuard.conf
      redirector_bypass off
      url_rewrite_children 5
      auth_param basic program /usr/pbi/squid-i386/libexec/squid/ncsa_auth /var/etc/squid.passwd
      auth_param basic children 5
      auth_param basic realm Please enter your credentials to access the proxy
      auth_param basic credentialsttl 60 minutes
      acl password proxy_auth REQUIRED
      http_access allow password localnet
      http_access allow password allowed_subnets
      
      

      queria mudar para o meusquid.passwd, que tem todos usuarios e senhas que uso autalmente, copiando ele na mesma pasta e mudando a linha para :
      auth_param basic program /usr/pbi/squid-i386/libexec/squid/ncsa_auth /var/etc/meusquid.passwd

      EDITANDO:
      Tentei copiar e colocar o conteudo do meu arquivo no squid.passwd, mas ele so pega os usuarios que sao cadastrados pela interface web ( aba local users)
      Tentei pelo filer, apontando o caminho para o /var/etc/squid.passwd e copiando o conteudo, dae funcionou. O unico porem é que se preciso editar a senha do usuario, dae tenho que tirar ele do arquivo la no filer e cadastrar novamente pela interface web. Na interface web do pfsense só são listados os usuarios que foram criados por la

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

        altere o arquivo squid.inc para pesquisar seu arquivo em outro lugar. É ele quem gera o arquivo de configuração do squid.

        Como alternativa, você pode instalar o pacote filer para editar o arquivo. Desta forma suas alterações ficam no backup.

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

        Help a community developer! ;D

        1 Reply Last reply Reply Quote 0
        • marcosjostM Offline
          marcosjost
          last edited by

          @marcelloc:

          altere o arquivo squid.inc para pesquisar seu arquivo em outro lugar. É ele quem gera o arquivo de configuração do squid.

          Como alternativa, você pode instalar o pacote filer para editar o arquivo. Desta forma suas alterações ficam no backup.

          Nao consegui achar o arquivo…
          dei um find / "squid.inc" e o resultado: find: squid.inc: No such file or directory  :P

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

            /usr/local/pkg/squid.inc

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

            Help a community developer! ;D

            1 Reply Last reply Reply Quote 0
            • marcosjostM Offline
              marcosjost
              last edited by

              @marcelloc:

              /usr/local/pkg/squid.inc

              Obrigado marcelo, acabei testando com o filer e parece que deu certo… como eu fiz:

              • Pelo filer alterei o arquivo /var/etc/squid.passwd com a minha lista de usuarios e senhas criptografadas. Depois pela interface grafica adicionei novos usuarios e funcionou tanto os que eu coloquei pelo filer quanto os cadastrados depois na interface web.
                Mas depois que crio ou altero um usuario na interface web, tenho que abrir o filer, abrir o arquivo novamente e fechar. Senao o squid pega somente os usuarios que estao configurados na interface web.
                Os grupos acabei criando manualmente na interface web e colocando os usuarios.... nao leveou mais que 1 hora para ajustar tudo.
                Aparentemente a parte do squid ficou ok agora. Vou fazer alguns testes hoje de navegação.
              1 Reply Last reply Reply Quote 0
              • marcellocM Offline
                marcelloc
                last edited by

                Você alterou o squid.inc ou squid.conf?
                Alterando o inc, o squid.conf sempre terá suas modificações/inclusões.

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

                Help a community developer! ;D

                1 Reply Last reply Reply Quote 0
                • marcosjostM Offline
                  marcosjost
                  last edited by

                  @marcelloc:

                  Você alterou o squid.inc ou squid.conf?
                  Alterando o inc, o squid.conf sempre terá suas modificações/inclusões.

                  Nao alterei nenhum….somente o squid.passwd no filer. Esse teste fiz antes de voce colocar o caminho do squid.inc....agora nesse momento estou olhando o squid.inc...

                  1 Reply Last reply Reply Quote 0
                  • marcosjostM Offline
                    marcosjost
                    last edited by

                    @marcosjost:

                    @marcelloc:

                    Você alterou o squid.inc ou squid.conf?
                    Alterando o inc, o squid.conf sempre terá suas modificações/inclusões.

                    Nao alterei nenhum….somente o squid.passwd no filer. Esse teste fiz antes de voce colocar o caminho do squid.inc....agora nesse momento estou olhando o squid.inc...

                    Bom….no squid.in a linha que faz referencia ao arquivo de senhas é essa aqui? define('SQUID_PASSWD', '/var/etc/squid.passwd');
                    alterando ela para: define('SQUID_PASSWD', '/var/etc/meusquid.passwd'); deve funcionar ?

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

                      Não,  dessa forma o pfsense vai sobrescrever seu arquivo.

                      Altere na parte que le este define e gera o conf.
                      Você pode até incrementar para unir os dois arquivos.

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

                      Help a community developer! ;D

                      1 Reply Last reply Reply Quote 0
                      • marcosjostM Offline
                        marcosjost
                        last edited by

                        @marcelloc:

                        Não,  dessa forma o pfsense vai sobrescrever seu arquivo.

                        Altere na parte que le este define e gera o conf.
                        Você pode até incrementar para unir os dois arquivos.

                        Seria nessa função aqui ?

                        
                        function squid_resync_users() {
                                global $config;
                        
                                $users = $config['installedpackages']['squidusers']['config'];
                                $contents = '';
                                if (is_array($users)) {
                                        foreach ($users as $user)
                                                $contents .= $user['username'] . ':' . crypt($user['password'], base64_encode($user['password'])) . "\n";
                                }
                                file_put_contents(SQUID_PASSWD, $contents);
                                chown(SQUID_PASSWD, 'proxy');
                                chmod(SQUID_PASSWD, 0600);
                        }
                        
                        
                        1 Reply Last reply Reply Quote 0
                        • marcellocM Offline
                          marcelloc
                          last edited by

                          Sim, a grosso modo pode ficar parecido com isso:

                          function squid_resync_users() {
                                  global $config;
                          
                                  $users = $config['installedpackages']['squidusers']['config'];
                                 //No lugar de criar o $contents vazio, coloque o conteudo do seu outro arquivo
                                 //$contents= '';
                                  $contents=file_get_contents("/var/etc/meusquid.passwd')."\n";
                                  if (is_array($users)) {
                                          foreach ($users as $user)
                                                  $contents .= $user['username'] . ':' . crypt($user['password'], base64_encode($user['password'])) . "\n";
                                  }
                                  file_put_contents(SQUID_PASSWD, $contents);
                                  chown(SQUID_PASSWD, 'proxy');
                                  chmod(SQUID_PASSWD, 0600);
                          }
                          
                          

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

                          Help a community developer! ;D

                          1 Reply Last reply Reply Quote 0
                          • marcosjostM Offline
                            marcosjost
                            last edited by

                            @marcelloc:

                            Sim, a grosso modo pode ficar parecido com isso:

                            function squid_resync_users() {
                                    global $config;
                            
                                    $users = $config['installedpackages']['squidusers']['config'];
                                   //No lugar de criar o $contents vazio, coloque o conteudo do seu outro arquivo
                                   //$contents= '';
                                    $contents=file_get_contents("var/etc/meusquid.passwd')."\n";
                                    if (is_array($users)) {
                                            foreach ($users as $user)
                                                    $contents .= $user['username'] . ':' . crypt($user['password'], base64_encode($user['password'])) . "\n";
                                    }
                                    file_put_contents(SQUID_PASSWD, $contents);
                                    chown(SQUID_PASSWD, 'proxy');
                                    chmod(SQUID_PASSWD, 0600);
                            }
                            
                            

                            Bom…acho que estou fazendo alguma coisa errada.....o que eu fiz:
                            No squid.inc
                            Deixei o ('SQUID_PASSWD', '/var/etc/squid.passwd'); com o padrao.
                            Alterei a linha que voce colocou, deixando assim:

                            
                             //$contents= '';
                                    $contents = file_get_contents("var/etc/meusquid.passwd")."\n";
                            
                            

                            Criei o arquivo com o filer /var/etc/meusquid.passwd e coloei o conteudo de usuarios e senhas.
                            Pelo console ajustei as permissoes e dono do meusquid.passwd para as mesmas do squid.passwd ( dono proxy).
                            Reiniciei o pfsense, porem so acesso com os usuarios que cadastro na interfaceweb ( e sao salvos no squid.passwd). Com os que tao no meusquid.conf nao vai.
                            Não sei, mas acho que to deixando de fazer alguma coisa ainda …..  :-\

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

                              ok, tá faltando um "/" antes do var.

                              Já acertei meu post para mostrar a informação correta.

                              Aquele foi só um exemplo de código, não testei por não ter este tipo de situação.

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

                              Help a community developer! ;D

                              1 Reply Last reply Reply Quote 0
                              • marcosjostM Offline
                                marcosjost
                                last edited by

                                @marcelloc:

                                ok, tá faltando um "/" antes do var.

                                Já acertei meu post para mostrar a informação correta.

                                Aquele foi só um exemplo de código, não testei por não ter este tipo de situação.

                                Eu acabei nao percebendo isso tambem…. agora funcionou  :), so que os usuarios que cadastro depois na interface web e apago por la, so sao efitivamente removidos apos reiniciar o firewall.

                                1 Reply Last reply Reply Quote 0
                                • marcosjostM Offline
                                  marcosjost
                                  last edited by

                                  Buenas…
                                  O bind usei o pacote que saiu a pouco...aqui nesses dois topicos tem as referencias da instalacao e configuracao:
                                  http://forum.pfsense.org/index.php/topic,67673.0.html
                                  http://forum.pfsense.org/index.php/topic,67867.0.html


                                  Sobre os links:
                                  Lembrando
                                  Link 1 - link usado para srv de e-mails e acesso ts
                                  Link 2 - usado para acessar a internet
                                  Configurei as regras de firewal, os direcionamentos NAT das portas 25,110,583,etc... para o ip do servidor de e-mails pelo link1.

                                  Defino o gateway do link2 como o defaul em System - Routing - Gateways, para que a navegacao sai por padro por ele?
                                  Lembrano que tenho a maioria das maquinas que usam proxy autenticado, definido no navegador, e tambem algumas que nao passam pelo proxy ( definidas na aba lan para liberar o acesso para o ip).

                                  O faillover de link vou fazer mais para frente, e sera basicamente: se parar o link2 (navegacao) redirecionar a navegacao para o link1 tambem.

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

                                    Isso. Deixe o link da navegação como padrão e hhabilite o default gateway switch em system advanced para fazer o fail over em caso de falha.

                                    Não esqueça de criar na lan a regra para forçar a saída de email pelo link 1.

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

                                    Help a community developer! ;D

                                    1 Reply Last reply Reply Quote 0
                                    • marcosjostM Offline
                                      marcosjost
                                      last edited by

                                      @marcelloc:

                                      Isso. Deixe o link da navegação como padrão e hhabilite o default gateway switch em system advanced para fazer o fail over em caso de falha.

                                      Não esqueça de criar na lan a regra para forçar a saída de email pelo link 1.

                                      Certo, mais um esclarecimento: como nao estou usando loadbalance….. Entao nao preciso configurar grupos de gateways e regras flutuantes correto?

                                      Hum...criar regra na lan para os e-mails? Agora me confundi um pouco...
                                      Acho que funciona assim com os e-maisl ( porta 25,110,587 e afins):
                                      Maquinas da lan conectam ao srv de email na dmz, nao saem direto por um dos links, e o servidor de email na dmz dae sai pelo link.
                                      As maquinas tao com os clientes de e-mails configuradas para conectar ao: mail.meudominio.com.br que responde ( na rede interna) pelo ip da dmz 192.168.10.2 ( por ex)

                                      1 Reply Last reply Reply Quote 0
                                      • marcosjostM Offline
                                        marcosjost
                                        last edited by

                                        Outra duvida…
                                        Meu link1 tem 3 ips validos:
                                        ex 177.43.12.101, 177.43.12.102 e 177.43.12.103
                                        Configurei o 177.43.12.101 na interface WAN LINK1,  o gateway default dele ( 177.43.12.100 que esta no modem).
                                        Os 2 restantes devo configurar como Virtual IP - Tipo IP Alias - interface LINK1 ... ip adress 177.43.12.102 / 29 ( correspondente a masca 255.255.248 passada pelo provedor). Esta certo?

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

                                          Se o servidor de email está na dmz, então a regra fica na dmz. Esta regra força o gateway dos emails para o link 1.

                                          Não precisa criar tiers ou grupo de gateways.

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

                                          Help a community developer! ;D

                                          1 Reply Last reply Reply Quote 0
                                          • marcosjostM Offline
                                            marcosjost
                                            last edited by

                                            @marcelloc:

                                            Se o servidor de email está na dmz, então a regra fica na dmz. Esta regra força o gateway dos emails para o link 1.

                                            Não precisa criar tiers ou grupo de gateways.

                                            Ok, ficaria algo como ( na aba DMZ)isso, entao?
                                            Id
                                            Proto: IPV4
                                            source: Id d0 srv de e-mail
                                            Port: 25, 110.587…(todas configuradas no NAT para o serv de e-mail) ( uma regra por porta)
                                            Destination: *
                                            Port: *
                                            Gateway: Gatewaylink1

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