Proxy Transparente no Virtuabox [RESOLVIDO]

1. Proxy Transparente no Virtuabox [RESOLVIDO]

Augusto Silva
rockmusic26

(usa Outra)

Enviado em 21/11/2012 - 08:03h

Olá galera, tenho algum conhecimento em Linux e um pouco de conhecimento para me virar nas configurações do Squid e Iptables, criei uma máquina virtual no virtualbox e quero fazer um proxy transparente, consigo rodar este proxy informando a porta no navegador das máquinas, no entanto a configuração que fiz deveria já estar rodando como proxy transparente sem a necessidade de informar o proxy no navegador e isso não ocorre, o que devo ter feito de errado?
Fiz uma configuração bem simples somente para iniciar testes mesmo.
Este é meu squid:
--------------------------------------------------------------------
http_port 3128 intercept
visible_hostname servidorlinux
#acl all src 0.0.0.0/0.0.0.0
#acl localhost src 127.0.0.1/255.255.255.255

acl bloqueadas url_regex -i "/etc/squid/bloqueadas"
http_access deny bloqueadas
--------------------------------------------------------------------

--------------------------------------------------------------------
E esta é minha regra do iptables
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.2.0/255.255.255.0 -p tcp --dport 80 -j REDIRECT --to-port 3128
--------------------------------------------------------------------


  


2. MELHOR RESPOSTA

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 21/11/2012 - 09:26h

rockmusic26 escreveu:

Deixei a interface do virtualbox em modo bridge, a internet funciona corretamente na máquina virtual.
O ip do servidor está informado como 192.168.2.5
O ip da estação com windows 7 está setado com ip 192.168.2.6
O gateway dessa estação setei como 192.168.2.5 apontando o servidor com Squid.

Deixei apenas esta regra:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 REDIRECT --to-port 3128
A estação navega normalmente se eu informar o IP do proxy no navegador, mas se eu remover o proxy para que ele trabalhe de forma transparente simplesmente o sistema acusa conexão não disponível.


Hum, para usar essa vm como gateway e proxy da rede, cria outra interface na vm como NAT e faz a regra iptables que compartilha conexão mascarando via NAT na rede.

1 interface deixa como NAT (receberá o ip automático do modem)
1 interface deixa como Bridge (define ip fixo)

Se baseado na sua rede 192.168.2.0/24, segue o script básico que compartilha conexão com NAT e com proxy.

ifaceExt="eth0" #internet
ifaceInt="eth1" #intranet (LAN)
LAN = 192.168.2.0/14
#roteamento de pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward
#compartilhamento de conexão
iptables -t nat -A POSTROUTING -s $LAN -o $ifaceExt -j MASQUERADE
#redirecionamento da porta 80(HTTP) para 3128(Squid)
iptables -t nat -A PREROUTING -i $ifaceInt -p tcp --dport 80 -j REDIRECT --to-port 3128


Se quiser saber mais sobre regras iptables, veja em: http://mundodacomputacaointegral.blogspot.com.br/2012/05/entendendo-o-funcionamento-de-um.html

3. Re: Proxy Transparente no Virtuabox [RESOLVIDO]

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 21/11/2012 - 08:31h

A interface de rede da máquina virtual deve estar em Bridge para receber o endereço IP na mesma faixa do host hospedeiro.

Define um IP fixo nessa VM na mesma faixa IP do hospedeiro com o DNS e gateway setados corretamente.

Depois aplique a regra abaixo que faz o redirecionamento de tráfego da porta 80(HTTP) para porta 3128(Squid-proxy).

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128


Maiores esclarecimentos veja em: http://mundodacomputacaointegral.blogspot.com.br/2011/11/configurando-servidor-proxy-com-squid.html

e sobre regras iptables http://mundodacomputacaointegral.blogspot.com.br/2012/05/entendendo-o-funcionamento-de-um.html


4. Re: Proxy Transparente no Virtuabox [RESOLVIDO]

Augusto Silva
rockmusic26

(usa Outra)

Enviado em 21/11/2012 - 09:17h

Deixei a interface do virtualbox em modo bridge, a internet funciona corretamente na máquina virtual.
O ip do servidor está informado como 192.168.2.5
O ip da estação com windows 7 está setado com ip 192.168.2.6
O gateway dessa estação setei como 192.168.2.5 apontando o servidor com Squid.

Deixei apenas esta regra:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 REDIRECT --to-port 3128
A estação navega normalmente se eu informar o IP do proxy no navegador, mas se eu remover o proxy para que ele trabalhe de forma transparente simplesmente o sistema acusa conexão não disponível.


5. Re: Proxy Transparente no Virtuabox [RESOLVIDO]

Augusto Silva
rockmusic26

(usa Outra)

Enviado em 21/11/2012 - 09:47h

Resolvido meu amigo, muito obrigado pela sua ajuda.

Tive que fazer só uma correção colocar o -j antes do REDIRECT pois senão o iptables acusava erro de bad argument.
ficou assim a regra:
iptables -t nat -A PREROUTING -i $ifaceInt -p tcp --dport 80 -j REDIRECT --to-port 3128

Já estou navegando através do proxy transperente.
Obrigado pela ajuda novamente.


6. Re: Proxy Transparente no Virtuabox [RESOLVIDO]

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 21/11/2012 - 09:50h

rockmusic26 escreveu:

Resolvido meu amigo, muito obrigado pela sua ajuda.

Tive que fazer só uma correção colocar o -j antes do REDIRECT pois senão o iptables acusava erro de bad argument.
ficou assim a regra:
iptables -t nat -A PREROUTING -i $ifaceInt -p tcp --dport 80 -j REDIRECT --to-port 3128

Já estou navegando através do proxy transperente.
Obrigado pela ajuda novamente.


Bom então que resolveu, pode encerrar o tópico como resolvido e escolher a melhor resposta.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts