[FUG-BR] RES: RES: RES: Cacheboy Free 8.0 + Tproxy
Marcelo Gondim
gondim em linuxinfo.com.br
Sexta Abril 30 11:01:50 BRT 2010
Oi Modesto,
Alterei para as regras abaixo onde a sis0 é onde chega o link do router e a
rl0 é a interface de rede que liga meu notebook à bridge e mesmo assim
nadinha, to começando à achar que o TProxy em si não funciona em bridge no
freebsd.
rdr on rl0 inet proto tcp from 192.168.10.0/24 to any port 80 ->
192.168.10.200 port 3128
rdr on sis0 inet proto tcp from any port 80 to 192.168.10.0/24 ->
192.168.10.200
Parece que fica tentando, tentando e no final dá o erro:
While trying to retrieve the URL: http://www.uol.com.br/
The following error was encountered:
Connection to 200.147.3.142 Failed
The system returned:
(60) Operation timed out
The remote host or network may be down. Please try the request
again.
Your cache administrator is webmaster.
Generated Fri, 30 Apr 2010 13:57:23 GMT by freeba.localdomain.net
(Lusca/LUSCA_HEAD-r14535).
Ou seja tá saindo por time out. Se eu ponho o Proxy configurado no navegador
e tiro o transparent tproxy, funciona normal.
-----Mensagem original-----
De: freebsd-bounces em fug.com.br [mailto:freebsd-bounces em fug.com.br] Em nome
de Modesto
Enviada em: sexta-feira, 30 de abril de 2010 10:49
Para: Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)
Assunto: Re: [FUG-BR] RES: RES: Cacheboy Free 8.0 + Tproxy
Detalhe, cuidado com as regras de Firewall pois na primeira vez errei
pois estava esquecendo a interface de entrada e saida.
On Fri, 2010-04-30 at 10:31 -0300, Marcelo Gondim wrote:
> Opa Renato,
>
> Sabe se eu conseguiria fazer funcionar também em uma bridge? A máquina
> fazendo forward foi de boa mas ainda estou penando tentando fazer em
bridge.
> Meu teste está assim: meu notebook(192.168.10.177) passando pela bridge
> freebsd(192.168.10.200) e indo pro router(192.168.10.254). Coloquei as
> seguintes confs:
>
> /etc/rc.conf
> ============
> cloned_interfaces="bridge0"
> ifconfig_bridge0="inet 192.168.10.200 netmask 255.255.255.0 addm sis0 addm
> rl0 up"
> ifconfig_sis0="up"
> ifconfig_rl0="up"
> defaultrouter="192.168.10.254"
> hostname="freeba.localdomain.net"
> keymap="br275.iso.acc"
> sshd_enable="YES"
> squid_enable="YES"
> squid_user="root"
> pf_enable="YES"
> pf_rules="/etc/pf.conf"
>
> /etc/pf.conf
> ============
> rdr pass on bridge0 inet proto tcp from 192.168.10.0/24 to any port 80 ->
> 192.168.10.200 port 3128
> rdr pass on bridge0 inet proto tcp from any port 80 to 192.168.10.0/24 ->
> 192.168.10.200
>
> No squid.conf:
> ==============
> http_port 192.168.10.200:3128 transparent tproxy
>
> No kernel adicionei o seguinte:
> ===============================
> device pf
> device pflog
> device pfsync
> device if_bridge
> options MSGMNB=8192
> options MSGSSZ=64
> options MSGTQL=2048
> options SHMSEG=16
> options SHMALL=4096
> options LIBALIAS
>
> A questão acho que é, ele vai funcionar em bridge ou existe essa
limitação?
>
> Grande abraço e obrigado pela ajuda
>
>
> -----Mensagem original-----
> De: freebsd-bounces em fug.com.br [mailto:freebsd-bounces em fug.com.br] Em nome
> de Renato Frederick
> Enviada em: quinta-feira, 29 de abril de 2010 21:11
> Para: Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)
> Assunto: Re: [FUG-BR] RES: Cacheboy Free 8.0 + Tproxy
>
> Marcelo,
>
> qual é a sua dificuldade?
>
> Vamos lá, sei que dá para usar o lusca-head também, mas como usei
> cacheboy16, vou colocar os passos que fiz hj, OK?
>
> 0 - instalar o freebsd 8, atualizar o sistema/ports/compilar kernel, etc
etc
>
> :)
> 1 - cd /usr/ports/www/cacheboy16/
> 2 - make extract
> 3 - vi /usr/ports/www/cacheboy16/work/cacheboy-1.6-r13601/src/main.c
> 4 - apagar tudo isto(senão ele não vai poder rodar como root):
>
> if (geteuid() == 0) {
> debug(0, 0) ("Squid is not safe to run as root! If you must\n");
> debug(0, 0) ("start Squid as root, then you must configure\n");
> debug(0, 0) ("it to run as a non-priveledged user with the\n");
> debug(0, 0) ("'cache_effective_user' option in the config file.\n");
> fatal("Don't run Squid as root, set 'cache_effective_user'!");
> }
>
> 5 - alterar a função do TPROXY nome, já que no Free8 ela foi renomeada:
vi
>
>
/usr/ports/www/cacheboy16/work/cacheboy-1.6-r13601/libiapp/comm_ips_freebsd.
> c
> 6 - alterar a linha:
> if (setsockopt(fd, IPPROTO_IP, IP_NONLOCALOK, (char *)&on, sizeof(on)) !=
0)
>
> para
> if (setsockopt(fd, IPPROTO_IP, IP_BINDANY, (char *)&on, sizeof(on)) != 0)
>
> 7 - compilar o cacheboy16: make (se não der erro nenhum, tudo OK)
> 8 - instalar: make install
> 9 - editar o /usr/local/etc/squid/squid.conf e colocar/alterar:
> cache_effective_user root
> cache_effective_group wheel
> 10 - editar o /etc/rc.conf e colocar:
> squid_enable="YES"
> squid_user="root"
> 11 - configurar o squid.conf para permitir acesso a sua rede, criar o
cache,
>
> etc,etc(o básico que vocÊ sempre faz).
> 12 - lembrar que para rodar em modo tproxy, a linha do squid.conf tem que
> ser: http_port 3128 transparent tproxy
> 13 - iniciar o squid: /usr/local/etc/rc.d/squid start
> 14 - confirmar se o squid está rodando como root: ps auxm|grep squid:
> root 35632 0.0 0.0 21572 2196 ?? Is 12:42PM 0:00.00
> /usr/local/sbin/squid -D
> root 35634 9.8 3.3 288056 277464 ?? S 12:42PM 50:23.61 (squid)
-D
>
> (squid)
> 15 - agora basta configurar as regras ipfw, por exemplo:
> ipfw fwd 187.X.X.X,3128 tcp from 200.0.0.0/24 to any dst-port 80 in via
> igb1
> ipfw fwd 187.X.X.X tcp from any 80 to 200.0.0.0/24 in via bce0
> Estas regras consideram que o firewall que tem squid tem IP 187.X.X.X, que
> seus clientes internos tem IP 200.0.0.0/24 e que a placa externa(ligada á
> internet) é bce0 e a placa ligada ás rede dos clientes(200.0.0.0/24) é
igb1.
> 16 - Acessar da rede interna www.meuip.com.br e ver se o IP que aparece é
o
> do proxy ou o do cliente. Se for o do cliente, tudo OK. Se for do
proxy,tem
> algo errado, dai...
> 17 - verificar no log do squid : /usr/local/squid/logs/cache.log
> se aparecer uma linha assim: comm_fdopen6: FD 52: TPROXY comm_ips_bind
> failed? Why? é porque o cacheboy não conseguiu fazer o bind "fake" usando
o
> IP do cliente como se fosse local address. Isto normalmente ocorre quando
o
> cacheboy não rodou como root ou quando o freebsd não tem suporte a
> tproxy(versão 7.x).
> 18 - por fim, pode-se também dar um "netstat -na" e ver se na coluna
"local
> address" aparece IP dos clientes, conectados á porta 80 remota. Isto
indica
> que o TPROXY está OK:
>
> tcp4 0 651 187.X.X.13.51121 174.120.182.195.80
ESTABLISHED
> tcp4 0 0 187.X.X.104.51111 74.125.47.138.80
> ESTABLISHED
>
> Acho que o email ficou meio confuso, vale a pena postar tutorial no site
da
> FUG.. :)
>
>
> --------------------------------------------------
> From: "Marcelo Gondim" <gondim em linuxinfo.com.br>
> Sent: Thursday, April 29, 2010 6:44 PM
> To: "'Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)'"
> <freebsd em fug.com.br>
> Subject: [FUG-BR] RES: Cacheboy Free 8.0 + Tproxy
>
> > Pessoal,
> >
> > Aproveitando o assunto do Lusca. Alguém tem algum tutorial ou link de
> > documentação sobre instalação do Lusca funcionando com o TProxy no
FreeBSD
> > 8? Porque já tentei de várias formas e não consegui. Tenho a solução
> > funcionando perfeito em CentOS 5.4 em bridge + squid 3.1.1 + TProxy mas
> > estou querendo fazer algo semelhante com FreeBSD 8.0 e o Lusca. Estou
> > querendo fazer uma solução como esta que fiz:
> > http://www.linuxinfo.com.br/squid_tproxy.htm
> > Se alguém tiver alguma doc pra ajudar ou indicação, agradeço.
> >
> > Grande abraço a todos.
> >
> > -----Mensagem original-----
> > De: freebsd-bounces em fug.com.br [mailto:freebsd-bounces em fug.com.br] Em
nome
> > de sergio
> > Enviada em: quinta-feira, 29 de abril de 2010 18:16
> > Para: Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)
> > Assunto: Re: [FUG-BR] Cacheboy Free 8.0 + Tproxy
> >
> > Estou pra testar o Lusca com 4 HD's SCSI com FreeBSD 8 e ZFS, nós
ultimos
> > testes o Lusca com ZFS e HD SAS foi quem se comportou melhor.
> >
> >
> >> -----Original Message-----
> >> From: renato em frederick.eti.br
> >> Sent: Thu, 29 Apr 2010 14:28:02 -0300
> >> To: freebsd em fug.com.br
> >> Subject: [FUG-BR] Cacheboy Free 8.0 + Tproxy
> >>
> >> Pessoal, para contar no histórico da lista, fiz o procedimento
abaixo[1]
> >> com o cacheboy(já que o lusca-head não tem diskd) e está funcionando
> >> corretamente com o Free 8.0 AMD64.
> >>
> >> Também adicionei algumas sysctl como já citei no passado[2]
> >>
> >> [1] http://www.fug.com.br/historico/html/freebsd/2010-04/msg00308.html
> >> [2] http://www.mail-archive.com/freebsd@fug.com.br/msg48652.html
> >>
> >> A propósito, falando em sysctl, apesar desta máquina não rodar BGP,
> >> ativei a sysctl
> >>
> >> net.inet.flowtable.enable=0
> >>
> >> pois com aumento do tráfego os pings estavam variando de 1s até uns
30s.
> >>
> >> o Servidor tem interfaces bce e igb.
> >>
> >> Abraços
> >>
> >>
> >> -------------------------
> >> Histórico: http://www.fug.com.br/historico/html/freebsd/
> >> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> > -------------------------
> > Histórico: http://www.fug.com.br/historico/html/freebsd/
> > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> >
> > -------------------------
> > Histórico: http://www.fug.com.br/historico/html/freebsd/
> > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> >
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
-------------------------
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Mais detalhes sobre a lista de discussão freebsd