Problema em deixar o PROXY transparente.

Iniciado por EuripedesXD, 05 de Junho de 2012, 11:18

tópico anterior - próximo tópico

EuripedesXD

Bom Dia!

Meu proxy funciona perfeitamente se coloco a configuração no navegador,
mas quero deixá-lo transparente.
Sei que o problema é no FireWall, mas estou com muita dificuldade.

Segue abaixo meus arquivos de config.

Interfaces - eth0 esta o modem

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

# The second network interface
auto eth1
iface eth1 inet static
       address 192.168.1.254
       netmask 255.255.255.0
       network 192.168.1.1
       broadcast 192.168.1.255


squid.conf (sei que é muito básico, mas quero deixá-lo assim para depois aplicar as policticas.

http_port 3128 transparent
visible_hostname QUALYPROXY
acl todos src 0.0.0.0/0.0.0.0
http_access allow todos


rc.local - Coloquei a regra do iptables aqui.

iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 80 -j REDIRECT --to-port 3128
iptables -A FORWARD -i eth1 -p tcp --dport 3128 -j ACCEPT
exit 0


Sei que seria melhor criar uma aquivo dentro da pasta /etc/init.d/firewall
Eu ate tentei, mas quando dou um "cat /etc/init.d/firewall" aparece "acesso negado", aceito sugestões.

Obrigado!

zekkerj

Citariptables -A FORWARD -i eth1 -p tcp --dport 3128 -j ACCEPT
O correto seria colocar na cadeia INPUT, já que vc está redirecionando. Mas o mais provável é que simplesmente não seja necessário.

Quando vc executa esses comandos manualmente, o proxy transparente funciona?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

EuripedesXD

Citação de: zekkerj online 06 de Junho de 2012, 09:47
Citariptables -A FORWARD -i eth1 -p tcp --dport 3128 -j ACCEPT
O correto seria colocar na cadeia INPUT, já que vc está redirecionando. Mas o mais provável é que simplesmente não seja necessário.

Quando vc executa esses comandos manualmente, o proxy transparente funciona?

Quando eu faço manualmente também não funciona.
Tem outra sugestão de regra?

Obrigado!

zekkerj

A regra é essa, não tem outra. Ou funciona, ou tem alguma outra coisa te atrapalhando.

Já viu se não é o firewall do ubuntu -- o UFW --- que está ativo?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

EuripedesXD

Citação de: zekkerj online 06 de Junho de 2012, 14:38
A regra é essa, não tem outra. Ou funciona, ou tem alguma outra coisa te atrapalhando.

Já viu se não é o firewall do ubuntu -- o UFW --- que está ativo?

digitei "ufw status" e deu como desativado.
Ai digitei "ufw enable".

Mas ainda continua tendo que configurar o Internet Explorer.

Não estou acredito ...

zekkerj

Mantenha o ufw desativado até segunda ordem. Execute estes comandos e cole o resultado aqui.

sudo iptables -t nat -L -v -n

sudo iptables -L -v -n
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

EuripedesXD

Citação de: zekkerj online 06 de Junho de 2012, 15:43
Mantenha o ufw desativado até segunda ordem. Execute estes comandos e cole o resultado aqui.

sudo iptables -t nat -L -v -n

sudo iptables -L -v -n


iptables -t nat -L -v -n

Chain PREROUTING (policy ACCEPT 66 packets, 4708 bytes)
pkts bytes target     prot opt in     out     source               destination
   0     0 REDIRECT   tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 redir ports 3128

Chain INPUT (policy ACCEPT 4 packets, 208 bytes)
pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 10 packets, 990 bytes)
pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 10 packets, 990 bytes)
pkts bytes target     prot opt in     out     source               destination


iptables -L -v -n

Chain INPUT (policy ACCEPT 655 packets, 248K bytes)
pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
   0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:3128

Chain OUTPUT (policy ACCEPT 686 packets, 267K bytes)
pkts bytes target     prot opt in     out     source               destination

zekkerj

As estações de trabalho são windows? Se forem, execute este comando em uma delas, cole o resultado aqui.

ipconfig /all
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

EuripedesXD

Citação de: zekkerj online 06 de Junho de 2012, 16:32
As estações de trabalho são windows? Se forem, execute este comando em uma delas, cole o resultado aqui.

ipconfig /all

Coloquei ip fix na extação de trabalho (windows).
Pelo resultado do comando que mostrei, esta tudo ok?

Configuração:

Ip : 192.168.1.110
Mascara: 255.255.255.0
Gateway: 192.168.1.254

DNS Preferencial: 192.168.1.254

zekkerj

A estação não está usando o proxy configurado no momento, está?

Eu imaginei que por algum motivo a estação não estivesse saindo por esse gateway. O que aliás é consistente com o fato de vc não ter tráfego nenhum de forward.

Diga uma coisa, por acaso o erro que vc recebe é de que "O navegador não conseguiu localizar <url>"?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

EuripedesXD

Citação de: zekkerj online 06 de Junho de 2012, 17:54
A estação não está usando o proxy configurado no momento, está?

Eu imaginei que por algum motivo a estação não estivesse saindo por esse gateway. O que aliás é consistente com o fato de vc não ter tráfego nenhum de forward.

Diga uma coisa, por acaso o erro que vc recebe é de que "O navegador não conseguiu localizar <url>"?

Sim, eu estava usando a estação com configuração de proxy no Internet Explorer.
HuMmMm ... agora só sexta para eu te passar a mensagem de erro.

Tem alguma solução. Obrigado mais uma vez.

zekkerj

Se o erro for de URL não encontrada, pode ser pq vc está passando um DNS inválido pras estações. Pode fazer um teste, abrir uma janela de comandos na estação e tentar pingar o nome de algum site (tipo, "www.google.com"). Se der erro, com certeza é DNS inválido.

"By the way"... você está apontando o DNS pro gateway. Mas você ativou algum servidor DNS nesse servidor?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

EuripedesXD

Citação de: zekkerj online 06 de Junho de 2012, 23:44
Se o erro for de URL não encontrada, pode ser pq vc está passando um DNS inválido pras estações. Pode fazer um teste, abrir uma janela de comandos na estação e tentar pingar o nome de algum site (tipo, "www.google.com"). Se der erro, com certeza é DNS inválido.

"By the way"... você está apontando o DNS pro gateway. Mas você ativou algum servidor DNS nesse servidor?

O erro é "O Internet Explorer não pode exibir a página da Web".
Realmente não pingou o "www.google.com.br" no Dos, mesmo eu colocando os servidores de DNS da GVT. (200.175.5.139 e 200.175.89.139)

Meu Ubuntu é:
Ubuntu 12.04 LTS  (Server x86)

Squid:
Squid 3.1.19



zekkerj

Você ativou o encaminhamento de pacotes?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

EuripedesXD

Citação de: zekkerj online 08 de Junho de 2012, 11:21
Você ativou o encaminhamento de pacotes?

Como que faz?
Só deixei este comando no arquivo rc.local:
iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 80 -j REDIRECT --to-port 3128
iptables -A FORWARD -i eth1 -p tcp --dport 3128 -j ACCEPT