Substituindo Fw linux por Pfsense
-
Nos teste que fiz, rodei o New domain wizard duas vezes, com dois dominios diferentes e criou todas as entradas no registro (Add/Edit record)
Se os registros não se misturam, pode configura tranquilo então.
Parece que nao misturaram nao…fiz o teste.com com os ips 100 e novoteste.net com 200 e parece tudo certo....o print da tela.
-
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.passwdEDITANDO:
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 -
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.
-
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 -
/usr/local/pkg/squid.inc
-
/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.
- 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.
-
Você alterou o squid.inc ou squid.conf?
Alterando o inc, o squid.conf sempre terá suas modificações/inclusões. -
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...
-
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 ? -
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. -
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); }
-
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); }
-
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 ….. :-\ -
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.
-
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.
-
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.
-
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.
-
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) -
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? -
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.