Proxy transparente não funciona [RESOLVIDO]

1. Proxy transparente não funciona [RESOLVIDO]

Alam Luiz
acolatto

(usa Debian)

Enviado em 13/04/2012 - 13:46h

Ola galera,

Estou com um problema que já esta se estendendo à 2 semanas e não consigo resolver.
Li muitos foruns e cheguei até a abrir um, só que infelizmente ninguém conseguiu me ajudar.

Eu preciso muito fazer funcionar e gostaria que alguem me ajudasse.

No momento, percebi que se eu colocar manualmente o DNS na maquina do usuário funcionar perfeitamente então creio que é alguma liberação de DNS.

agradeço a ajuda!!



  


2. Re: Proxy transparente não funciona [RESOLVIDO]

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 13/04/2012 - 14:09h

segue howto proxy transparent com squid
http://mundodacomputacaointegral.blogspot.com.br/2011/11/configurando-servidor-proxy-com-squid.html


3. Utilização do Webmin

Fábio Henrique Gomes
index.com

(usa Debian)

Enviado em 13/04/2012 - 14:34h

Amigo aconselho a instalar o Webmin.

Já tive muitos problemas com squid e conseguir resolver com administração via browser com Webmin.

La você criar as regras via interface gráfica quanto editando o arquivo original.

Muito bom mesmo.

Sou iniciante no Linux, mas estou focando muito no Debian por isso tenho essa experiência.

Abraços,

Segue o site:

www.webmin.com


4. Re.

Guilherme Krofke
guikrofke

(usa Ubuntu)

Enviado em 13/04/2012 - 15:12h

Boa tarde,
Você poderia postar o seu squid.conf e as suar regras de firewall e como esta a configuração da rede, por exelmplo dhcp pelo linux ou roteador, para analisarmos por favor


5. Re: Proxy transparente não funciona [RESOLVIDO]

Alam Luiz
acolatto

(usa Debian)

Enviado em 13/04/2012 - 15:21h

REGRAS IPTABLES

#!/bin/bash

echo "DECLARANDO VARIAVEIS... "

#programas diversos
PATH=/sbin:/bin:/usr/sbin:/usr/bin

#caminho estrutura iptables
IPTABLES=/sbin/iptables

#caminho absoluto do script
PROGRAMA=/etc/init.d/regras.fw

#portas liberadas e bloqueadas
PORTLIB=/etc/conf_personalisadas/portlib
PORTBLO=/etc/conf_personalisadas/portblo

#INTERFACES E IPS
IP_INT=10.1.1.1
IP_EXT=192.168.6.190
REDE_INT=10.1.1.0/24
REDE_EXT=192.168.6.0/24
LAN=eth1
WAN=eth0

#Modulos do iptables do MODPROBE
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_LOG
modprobe ipt_REJECT
modprobe ipt_state
modprobe ipt_multiport
modprobe iptable_mangle
modprobe ipt_tos
modprobe ipt_limit
modprobe ipt_mark
modprobe ipt_MARK

echo "Ativando Roteamento... "
echo 1 > /proc/sys/net/ipv4/ip_forward

echo "Limpando regras existentes... "

$IPTABLES -F -t filter
$IPTABLES -F -t nat
$IPTABLES -F -t mangle

$IPTABLES -X -t filter
$IPTABLES -X -t nat
$IPTABLES -X -t mangle

$IPTABLES -Z -t filter
$IPTABLES -Z -t nat
$IPTABLES -Z -t mangle


echo "Definindo politica padrao..."

$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP
$IPTABLES -A FORWARD -i $LAN -o $WAN -j ACCEPT

echo "Ativando fluxo interno entre processos..."
$IPTABLES -I INPUT -i lo -j ACCEPT
$IPTABLES -I OUTPUT -o lo -j ACCEPT

$IPTABLES -I INPUT -m state --state ESTABLISHED -j ACCEPT
$IPTABLES -I INPUT -m state --state RELATED -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -I INPUT -p icmp -j ACCEPT
$IPTABLES -I OUTPUT -p icmp -j ACCEPT


echo "Liberando portas..."

for i in `cat $PORTLIB`; do
$IPTABLES -A INPUT -p tcp --dport $i -j ACCEPT
$IPTABLES -A INPUT -p udp --dport $i -j ACCEPT
$IPTABLES -A FORWARD -p tcp --dport $i -j ACCEPT
$IPTABLES -A FORWARD -p udp --dport $i -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --dport $i -j ACCEPT
$IPTABLES -A OUTPUT -p udp --dport $i -j ACCEPT

done

$IPTABLES -A FORWARD -p udp -s $REDE_INT -d 8.8.8.8 --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -p udp -s 8.8.8.8 --sport 53 -d $REDE_INT -j ACCEPT
$IPTABLES -A FORWARD -p udp -s $REDE_INT -d 192.168.6.254 --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -p udp -s 192.168.6.254 --sport 53 -d $REDE_INT -j ACCEPT
$IPTABLES -A FORWARD -p tcp -s $REDE_INT --dport 25 -j ACCEPT
$IPTABLES -A FORWARD -p tcp -s $REDE_INT --dport 110 -j ACCEPT
$IPTABLES -A FORWARD -p tcp --sport 25 -j ACCEPT
$IPTABLES -A FORWARD -p tcp --sport 110 -j ACCEPT
echo "Ativando mascaramento..."
$IPTABLES -t nat -A POSTROUTING -o $WAN -j MASQUERADE

echo "Ativando proxy transparente..."
$IPTABLES -t nat -A PREROUTING -s 0/0 -p tcp --dport 80 -j REDIRECT --to-port 3128



REGRAS SQUID

########################################
# Definindo porta padrao squid
########################################
http_port 3128 transparent


#########################################
# Definindo nome do FIREWALL
#########################################
visible_hostname FIREWALL-NOVO

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

############################################
# Definindo ACLS
############################################
acl all src 0/0
acl localhost src 127.0.0.1/32
acl rede src 10.1.1.0/24
acl manager proto cache_object
acl liberados url_regex -i "/etc/squid/list/sites-liberados"
acl bloqueados url_regex -i "/etc/squid/list/sites-bloqueados"
acl restritos dstdom_regex "/etc/squid/list/palavras-bloqueadas"

acl SSL_ports port 443 563 #http, snews
acl Safe_ports port 6901
acl Safe_ports port 6981
acl Safe_ports port 80 #http
acl Safe_ports port 70 #gopher
acl Safe_ports port 210 #wais
acl Safe_ports port 280 #http, mgmt
acl Safe_ports port 1025-29000 #portas nao declaradas
acl Safe_ports port 29002-65535 #portas nao declaradas
acl Safe_ports port 488 #gss, http
acl Safe_ports port 591 #filemaker
acl Safe_ports port 777 #multiling port
acl purge method PURGE
acl CONNECT method CONNECT

######################################################
# Aplicando Regras
######################################################

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

http_access allow liberados
http_access deny bloqueados
http_access deny restritos

http_access allow rede
http_access allow localhost
http_access deny all


CENARIO

ETH0 é a WAN com o ip 192.168.6.190
ip do roteador é 192.168.6.254

ETH1 é a LAN com o ip 10.1.1.1

nao tem servico DHCP instalado, somente IPTABLES e SQUID.

a questao é que o squid funciona legal se eu setar manualmente o proxy nas maquinas ou simplesmente colocar um DNS nelas, tipo o do google 8.8.8.8, dai funciona legal. Se deixa o DNS como 10.1.1.1 sem chance... nao navega!


6. Re: Proxy transparente não funciona [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 13/04/2012 - 17:35h

Como está configurando os micros ligados na eth1 do servidor?



7. Re: Proxy transparente não funciona [RESOLVIDO]

Fábio Henrique Gomes
index.com

(usa Debian)

Enviado em 13/04/2012 - 17:39h

Não está faltando uma regra de redirecionamento de porta não? Tipo

iptables -t nat -A PREROUTING -j DNAT -i eth0 -p tcp --dport 80

Desculpe pessoal que estou dizendo asneira...

E também não vai funcionar se ele estiver utilizando autenticação.


8. Re: Proxy transparente não funciona [RESOLVIDO]

Alam Luiz
acolatto

(usa Debian)

Enviado em 13/04/2012 - 18:55h

Manuel.linux

as maquinas da LAN estão, por exemplo:

ip: 10.1.1.2
netmask: 255.0.0.0
gw: 10.1.1.1
dns:10.1.1.1

index.linux

na ultima linha do meu iptables esta fazendo esse redirecionamento e eu nao tenho autenticação habilitada. É um firewall simples, por enquanto.


O que eu mais acho estranho é que já tenho um firewall com squid funcionando em uma empresa e funciona tudo certo... não sei o que esta acontecendo agora....


9. re.

Guilherme Krofke
guikrofke

(usa Ubuntu)

Enviado em 13/04/2012 - 23:43h

Boa noite,
voce tem o bind9 instalado na maquina que e o firewall?? pois e nessessario ele para que esse firewall consiga resolver os nomes. ele funcionara como proxy de dns, nesse caso se voce não usa uma distribução para nerds superdotados, e so recorrer ao gerenciador de pacotes da sua distribuição e inslalalo.
se ele ja estiver instalado voce pode dar uma olhada para ver se o servidor esta com a resolução de nomes correta, tipo o /etc/resolv.conf estiver configurado.


10. Re: Proxy transparente não funciona [RESOLVIDO]

Alam Luiz
acolatto

(usa Debian)

Enviado em 16/04/2012 - 13:08h

guikrofke,

não instalei ele, irei fazer o que sugeriu e posto os resultados...



11. Re: Proxy transparente não funciona [RESOLVIDO]

Alam Luiz
acolatto

(usa Debian)

Enviado em 17/04/2012 - 16:13h

Fiz a instalação e configuração do bin9, infelizmente nunca utilizei ele então não tenho muito conhecimento.
fiz conforme esse artigo, que me pareceu simples e funcional, porem o problema persiste...

http://www.vivaolinux.com.br/artigo/Configurando-o-bind-9-no-Debian?pagina=1


funciona a internet no firewall eu dou um ping no GOOGLE.COM.BR e ele responde, o que da a sugestão de que esta resolvendo internamente, porem, da rede interna não esta.



12. Re: Proxy transparente não funciona [RESOLVIDO]

Alam Luiz
acolatto

(usa Debian)

Enviado em 11/05/2012 - 16:53h

para finalizar esse posto, volto colocando a minha solução para o meu problema descrito acima.


não precisei de muita coisa só liberar o acesso das maquinas no servidor DNS. Por exemplo:

$IPTABLES -A FORWARD -p udp --dport 53 -j ACCEPT #aceitando DNS
$IPTABLES -t nat -A PREROUTING -p udp --dport 53 -s $REDE_INTERNA -j DNAT --to-destination 8.8.8.8:53 #fazendo uma nat interna para o DNS EXTERNO


com isso ja resolvi todo o problema!

flw galera... espero ajudar!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts