[FUG-BR] [OT?] Firewall em uma máquina, Squid em outra (transparente)
Alexandre Silva Nano
alexnanow em gmail.com
Sexta Junho 11 18:02:28 BRT 2010
Em 11 de junho de 2010 17:36, Matheus Weber da Conceição <
matheuswcon em gmail.com> escreveu:
> 2010/6/11 Welkson Renny de Medeiros <welkson em focusautomacao.com.br>:
> > Boa tarde/noite senhores!
> >
> > Já dei uma olhada no histórico da lista, testei algumas soluções, mas
> > sem muito sucesso.
> >
> > Estou migrando um FreeBSD 7/i386 para o 8/amd64 (máquina nova, ambiente
> > ESXi, etc)... percebi que a versão do Squid que uso no 7 (2.6) não
> > existe no ports do 8 (>= 2.7)... de qualquer forma fiz a instalação da
> > 2.7, rodei antes o make config, marquei a opção para "proxy transparente
> > PF", etc.
> >
> > Já integrei o Squid ao Dansguardian... tudo funcionando certinho se for
> > configurado proxy no navegador...
> >
> > No momento que ativo o proxy transparent no firewall (que fica em OUTRA
> > máquina), o squid não funciona... (estou certo que é alguma frescura
> > com o 2.7, pois já passei por isso a alguns meses, e acabei deixando o
> > 2.6 que funcionou perfeito)... o problema é que no 8 não tem essa versão
> > antiga (2.6)...
> >
> > Alguém conseguiu fazer proxy transparente no freebsd 8 com squid 2.7 e
> pf?
> >
> > Pode postar as primeiras linhas do squid.conf, e a regra no firewall que
> > faz o rdr?
> >
> > E por último... proxy transparente funciona quando existe uma máquina
> > para firewall e OUTRA para proxy?
> >
> > [root em services:/usr/local/squid/logs] # pkg_info | grep squid
> > squid-2.7.9 HTTP Caching Proxy
> >
> > [root em services:/usr/local/squid/logs] # pkg_info | grep dans
> > dansguardian-2.10.1.1
> >
> > [root em services:/usr/local/squid/logs] # cat
> /usr/local/etc/squid/squid.conf
> > # escutar na porta 3128 e localhost
> > http_port 127.0.0.1:3128 transparent
> >
> > [root em services:/usr/local/etc/dansguardian] # cat dansguardian.conf
> > # the port that DansGuardian listens to.
> > filterport = 8080
> >
> > # the ip of the proxy (default is the loopback - i.e. this server)
> > proxyip = 127.0.0.1
> >
> > # the port DansGuardian connects to proxy on
> > proxyport = 3128
> >
> > [root em services:/usr/local/etc/dansguardian] # sockstat -4
> > USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
> > nobody dansguardi 74751 6 tcp4 *:8080 *:*
> > squid squid 74533 13 tcp4 127.0.0.1:3128 *:*
> >
> > [root em services:/usr/local/etc/dansguardian] # uname -a
> > FreeBSD services.xxx.com.br 8.0-RELEASE FreeBSD 8.0-RELEASE #2: Thu Jun
> > 10 11:54:50 BRT 2010
> > root em services.xxx.com.br:/usr/obj/usr/src/sys/ZEPEQUENO amd64
> >
> > # rdr feito no firewall (OUTRO servidor = 192.168.0.254 jogando o
> > tráfego da porta 80 para o proxy que está no 192.168.0.250):
> > # proxy transparent (correcao, pois somente com from any nao funcionava
> > para as lojas diferentes de 0)
> > rdr inet proto tcp from any to any port www -> 192.168.0.250 port 8080
> >
> > Não existe qualquer regra bloqueando tráfego...
> >
> > Dicas?
> >
>
> Cara, tem um erro no teu rdr, pois no from, tem que ser todos menos o
> IP do proxy, se não os pacotes entram em loop.
>
> Testei essa situação aqui esses tempos (só que com o squid 3.1), e
> além do rdr, tive que fazer um nat:
>
> # Faz o nat para a máquina do proxy (depois do nat geral)
> nat on $int_if proto tcp from $int_if:network to 192.168.1.109 port
> 3128 -> $int_if
>
> # Proxy Transparente (Squid)
> rdr pass on $int_if proto tcp from !192.168.1.109 to any port 80 ->
> 192.168.1.109 port 3128
>
>
> --
> ============================
> Matheus Weber da Conceição
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
Boa noite Welkson,
Tentou mudar o IP no http_port de localhost para o IP de rede da máquina?
--
Att, Alexandre Silva Nano
Mais detalhes sobre a lista de discussão freebsd