Proxy transparente nao funciona - Resolvido

Iniciado por weltonpba, 19 de Agosto de 2009, 15:47

tópico anterior - próximo tópico

weltonpba

Bom pessoal ja vasculhei na internet ja olhei meus scripts e nao acho a solução favor me ajudem
to tentando fazer proxy transparent no meu servidor ubuntu 8.4.03 modo texto, ta tudo funcionando normal mas tenho que configurar no internet explorer o enderço 192.168..1.1 3128, quando eu tiro ele nao entra na internet nem com base a cacetada
deixo minhas configuraçoes abaixo

Squid

http_port 3128 transparent
visible_hostname ubuntu

cache_mem 128 MB
maximum_object_size_in_memory 128 MB
maximum_object_size 1204 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 2048 16 256
cache_access_log /var/squid/access.log
refresh_pattern ^ftp:15 20% 2280
refresh_pattern ^gopher:15 0% 2280
refresh_pattern . 15 20% 2280

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object

acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # swat
acl Safe_ports port 1025-65535 # portas altas
acl purge method PURGE
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

acl site dstdomain cmt.caixa.gov.br
always_direct allow site

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

acl extensao dstdom_regex "/etc/squid/extensao"
http_access deny extensao

acl redelocal src 192.168.1.0/24
http_access allow localhost
http_access allow redelocal

http_access deny all

-------------------------------------------------------------------------------------------
ARQUIVO: /etc/rc.local
-------------------------------------------------------------------------------------------

modprobe iptables_nat
echo 1> /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE-

iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP

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

Qual sera o problema ???

diegocananea


weltonpba


diegocananea

Se vc colocando o proxy no navegador consegue navegar tranquilo, entao o proxy está ok.. o iptables também está... a estação está pegando o gateway da rede correto ? (ou seja, o ip do seu servidor)

weltonpba

diegocananea

acredito que sim

Ip da maquina cliente "Manual"

Endereço de Ip: 192.168.1.61
Mascara de rede: 255.255.255.0
gateway padrão: 192.168.1.1
dns 192.168.1.1

Configuração do servidor ubuntu /etc/network/interfaces

auto lo eth0 eth1
iface lo inet loopback

iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.1
broadcast 192.168.1.255
------------------------------------------------------------------

outro detalha quando eu coloco no navegador em configurações o ip 192.168.1.1 e a porta 80 funciona minha internet, agora quando eu tiro ele não acessa achei muito estranho isso

diegocananea

o campo "network" aí no interfaces acho q tá errado, nao seria network 192.168.1.0? mas também nao sei se isso influenciaria muito.. mas muda aí pra ver...

weltonpba

já mudei aki tbm não funcionou...

estranho demais da conta não funcionar!!

weltonpba

acho que eu descobri o meu erro

pra estar funcionando assim, soh pode ser meu compartilhamento da internet que não ta rodando?? sera que pode ser isso ?

diegocananea

Pode ser sim.. faz o seguinte, coloca apenas as regras de nat e o redirecionamento do squid;

iptables -F # limpa as regras

modprobe iptables_nat
echo 1> /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE-

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


Testa aí

pauloleoni

Corrigindo:

em rc.local


echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# Habilita PROXY TRANSPARENTE
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128


isso supondo que o eth0 é a placa de rede que está conectada a internet e a eth1 é a placa que está conectada ao restante da rede.

e em squid.conf, coloca o ip da eth1,o ip do seu squid antes de 3128, no seu caso fica assim: (troca os x's pelo seu ip)

http_port xxx.xxx.xxx.xxx:3128 transparent
visible_hostname ubuntu
hierarchy_stoplist cgi-bin ?
cache_mem 256 MB
minimum_object_size 0 KB
maximum_object_size 10000 KB
maximum_object_size_in_memory 128 KB
#maximum_object_size 300000 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 10000 16 256
cache_access_log /var/log/squid/access.log

é exatamente assim que está setado no meu servidor, e uso ele transparente, ou seja, está funcionando legal !!