Proxy Transparente

Iniciado por EuripedesXD, 11 de Fevereiro de 2011, 21:16

tópico anterior - próximo tópico

EuripedesXD

Olá!
Instalei o Squid 2.7 no meu Ubuntu Server 10.04 x86.
Na interface de rede eth1 conectei no modem (deixei obter configuração por DHCP),
e na eth2 configurei com:
    address 192.168.1.200
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255

Rodei o proxy já configura com bloquei e foi tudo ok, mas quando tento usá-lo transparente não funciona.
Para funcionar transparente coloquei no squid.conf "http_port 3128 transparent".
Depois executei o seguinte comando de firewall:

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

reiniciei o serviço do squid ( etc/init.d/squid restart ),
mas não funcionou.

Tenho que liberar a porta 3389 do meu Windows Server.

Tenho que liberar 3 porta para o mesmo endereço IP do opnto eletrônico.

Vi também que tem que colocar as regras de firewall em um arquivo que rode sempre quando o sistema linux for reiniciado. To certo?

obrigado!

bryan

post aqui sua tabela filter ???

você habilitou o ip_forward ???

EuripedesXD

Citação de: bryan online 11 de Fevereiro de 2011, 21:25
post aqui sua tabela filter ???

você habilitou o ip_forward ???


hã? ekaoeaoeakoea
Sou leigo. Como vejo a tabela filter?

zekkerj

Citação de: EuripedesXD online 11 de Fevereiro de 2011, 21:16
Olá!
Instalei o Squid 2.7 no meu Ubuntu Server 10.04 x86.
Na interface de rede eth1 conectei no modem (deixei obter configuração por DHCP),
e na eth2 configurei com:
    address 192.168.1.200
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255

Rodei o proxy já configura com bloquei e foi tudo ok, mas quando tento usá-lo transparente não funciona.
Para funcionar transparente coloquei no squid.conf "http_port 3128 transparent".
Depois executei o seguinte comando de firewall:

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

reiniciei o serviço do squid ( etc/init.d/squid restart ),
mas não funcionou.

Tenho que liberar a porta 3389 do meu Windows Server.

Tenho que liberar 3 porta para o mesmo endereço IP do opnto eletrônico.

Vi também que tem que colocar as regras de firewall em um arquivo que rode sempre quando o sistema linux for reiniciado. To certo?

obrigado!

O proxy transparente só funciona se sua máquina for o gateway da rede 192.168.1.0/24, onde vc ligou a interface eth2. Confirme a configuração das estações, pra verificar isso.

Outra coisa, o proxy transparente exige que a estação consiga fazer consultas DNS normalmente; isso significa que:
1. O encaminhamento de pacotes tem que estar ativado;
2. O seu firewall (a tal tabela filter que o bryan perguntou) esteja liberando a passagem de consultas DNS; e
3. Se o servidor DNS for externo, vc tem que estar com o MASQUERADE configurado e ativo.

Minha sugestão... esqueça o proxy transparente. Por enquanto. ;)
Faça a conexão funcionar sem ele.

Quando estiver funcionando sem ele, vc o ativa. Assim vc resolve um problema de cada vez. ;D
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

Bemm ... ate agora não meu ajudou.
Aguardo outra dica.

bryan

Continuando com a explicação do zekerj.........


1 - Nos micros da rede interna você deverá confirma as configurações de rede:

ip :
mask:
gateway:
DNS:


2 - o encaminhamento de pacote:  execute esse comando e post o resultado: "cat /proc/sys/net/ipv4/ip_forward"


3 - execute esse comando:  "iptables -nL" post o resultado




libonati

Citação de: EuripedesXD online 11 de Fevereiro de 2011, 21:16

...reiniciei o serviço do squid ( etc/init.d/squid restart ),
mas não funcionou.


A forma correta no ubuntu é:
sudo service squid stop
sudo service squid start
  ou
sudo service squid stop && sudo service squid start

fagundes

Bom levando em consideração que você acessou a internet na estação com os bloqueios e squid escutando na porta 3128, vou deixar umas dicas:
1-
No seu firewall coloque estas regras
# === COM PROXY ====
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o $wan -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
a "wan" referida é uma variavel dentro firewall "wan=etho ou wan=PPP0 se for o proxy que disca"

No squid.conf fica assim
http_port 3128 transparent
Qunato a liberar a porta 3389 e direcionar as requisicoes para um determinado ip eu faco assim;
# redirecionamento de porta
# iptables -A FORWARD -p tcp -d 192.168.1.xx --dport 3389 -j ACCEPT
# iptables -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to-destination 192.168.1.xx:3389
# iptables -A FORWARD -s 192.168.1.xx -m state --state ESTABLISHED,RELATED -j ACCEPT


Aabracos

EuripedesXD

Citação de: fagundes online 14 de Fevereiro de 2011, 11:53
Bom levando em consideração que você acessou a internet na estação com os bloqueios e squid escutando na porta 3128, vou deixar umas dicas:
1-
No seu firewall coloque estas regras
# === COM PROXY ====
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o $wan -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
a "wan" referida é uma variavel dentro firewall "wan=etho ou wan=PPP0 se for o proxy que disca"

No squid.conf fica assim
http_port 3128 transparent
Qunato a liberar a porta 3389 e direcionar as requisicoes para um determinado ip eu faco assim;
# redirecionamento de porta
# iptables -A FORWARD -p tcp -d 192.168.1.xx --dport 3389 -j ACCEPT
# iptables -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to-destination 192.168.1.xx:3389
# iptables -A FORWARD -s 192.168.1.xx -m state --state ESTABLISHED,RELATED -j ACCEPT


Aabracos

Boa fagundes ... deu tudo certo cara, ate mesmo o liberamento da porta para o terminal service.

Outra dica, vou ter que bloquiar todos os sites das maquinas de vendedores, e liberar apenas o messenger e o hotmail.

estou pensando fazer assim:

acl vendedores src 192.168.0.20-192.168.0.27
acl msn url_regex -i "/etc/squid/msn"

http_access allow vendedores msn
http_access deny vendedores

agora não sei se coloco "http_access deny vendedores all"

nem sei ao bem o que colocar no arquivo "msn" keaokokeaokeaok

Já me ajudaram demais, se poder ajudar nisso.

abraçoWww

libonati

Terá que unir as regras "msn" "vendedores" antes de negar "vendedores"

http_access allow msn vendedores
...<aqui negue vendedores>...
..prossegue oll...