Não funciona Squid/iptables [RESOLVIDO]

1. Não funciona Squid/iptables [RESOLVIDO]

Alam Luiz
acolatto

(usa Debian)

Enviado em 30/03/2012 - 15:13h

fala ai galera....

ja li varios e varios artigos sobre o assunto e todos apontam para o mesmo lugar, o qual aparentemente estou fazendo, porem, nao funciona.... alguem poderia me ajudar?

eu consigo pingar tudo certo porem nao acessa a internet dos terminais, de modo algum e no firewall consigo acessar até demais, ou seja, no firewall se eu nao colocar o proxy ele acessa direto sem controle pelo squid.

segue abaixo configuração simples do IPTABLES e SQUID.

IPTABLES:
#!/bin/bash
#########################
echo "declarando variaveis....... ok"
#########################

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

#caminho estrututa do iptables
IPTABLES=/sbin/iptables

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



#INTERFACES E IPS
IP_WAN=192.168.6.190
IP_ADM=10.1.1.1
IP_ALUNOS=128.1.1.1

GW=192.168.6.254
WAN=eth0
ADM=eth1
ALUNOS=eth2

#Definindo saidas padroes
route add default $WAN
route add default gw $GW

#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... ok"
echo "1" > /proc/sys/net/ipv4/ip_forward

echo "Limpando Regras Existentes... ok"

$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 DROP... ok"

$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP


echo "Ativando fluxo interno entre processos... ok"
$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 OUTPUT -p icmp -j ACCEPT
$IPTABLES -I INPUT -p icmp -j ACCEPT

echo "Ativando mascaramento... ok"
$IPTABLES -t nat -A POSTROUTING -o $WAN -s 0/0 -j MASQUERADE


echo "Ativando comunicação entre redes... ok"
$IPTABLES -I FORWARD -i $ADM -o $ALUNOS -p icmp -j ACCEPT
$IPTABLES -I FORWARD -i $ADM -o $ALUNOS -p tcp -j ACCEPT
$IPTABLES -I FORWARD -i $ADM -o $WAN -p tcp -j ACCEPT
$IPTABLES -I FORWARD -i $ALUNOS -o $WAN -p tcp -j ACCEPT
$IPTABLES -I FORWARD -i $ADM -o $WAN -p icmp -j ACCEPT
$IPTABLES -I FORWARD -i $ALUNOS -o $WAN -p icmp -j ACCEPT

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

################################################
# Definindo porta padrao do SQUID PROXY
################################################
http_port 3128 transparent

################################################
# Definindo nome do FIREWALL
################################################
visible_hostname firewall-ALC



#################################################
# Optimizacao FW - CACHE
#################################################
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 32 512
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 adm src 10.1.1.0/24
acl alunos src 128.0.0.0/16
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 #WAITS
acl Safe_ports port 280 #HTTP,NGMT
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 adm
http_access allow alunos
http_access allow localhost
http_access deny all


ALGUEM PODE ME AJUDAR!!

VLW!


  


2. Redes

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 30/03/2012 - 16:19h

Vc esta trabalhando com redes diferentes e provavelmente não criou rotas para que as maquinas da rede 10.0.0.0/24 enxerguem as outras e vice versa.


3. Re: Não funciona Squid/iptables [RESOLVIDO]

Alam Luiz
acolatto

(usa Debian)

Enviado em 30/03/2012 - 16:33h

essa é a ideia.... as redes não podem conversar, porem, acessar a internet todas iram.

eu liberei a porta 3128 e agora funciona somente se eu setar o proxy nas estações, ou seja, acho que o proxy transparente não esta funcionando.

Pelo que andei lendo é exatamente o que coloquei, mas o proxy transparente não funciona.




4. Regra

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 30/03/2012 - 19:11h

alam luiz escreveu:

essa é a ideia.... as redes não podem conversar, porem, acessar a internet todas iram.

eu liberei a porta 3128 e agora funciona somente se eu setar o proxy nas estações, ou seja, acho que o proxy transparente não esta funcionando.

Pelo que andei lendo é exatamente o que coloquei, mas o proxy transparente não funciona.



Tente mudar a regra:
$IPTABLES -t nat -A PREROUTING -s 0/0 -p tcp --dport 80 -j REDIRECT --to-port 3128

para:
$IPTABLES -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
$IPTABLES -t nat -A PREROUTING -i eth2 -p tcp --dport 80 -j REDIRECT --to-port 3128


5. Re: Não funciona Squid/iptables [RESOLVIDO]

Alam Luiz
acolatto

(usa Debian)

Enviado em 30/03/2012 - 20:22h

NÃO FUNCIONOU....

SOMENTE SETANDO O PROXY NOS NAVEGADORES....


6. Re: Não funciona Squid/iptables [RESOLVIDO]

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 30/03/2012 - 22:21h

na chain FORWARD iniciou como DROP OK, e apenas liberou pacotes icmp (ping), se esqueceu de liberar as portas 110,25,143,53 para os clientes poderem usar Outook,WebMail,Imap e fazer consultas por nomes (DNS).

Verifique isso...


7. Re: Não funciona Squid/iptables [RESOLVIDO]

Alam Luiz
acolatto

(usa Debian)

Enviado em 03/04/2012 - 13:19h

Saitam,

fiz o que sugeriu e o problema continua, agora a janela de erro nos terminais abre de cara, ou seja, não fica pensando até dar o problema.....


8. Re: Não funciona Squid/iptables [RESOLVIDO]

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 03/04/2012 - 20:43h

no seu script firewall tem as regras abaixo?


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

iptables -A FORWARD -p tcp --dport 3128 -j ACCEPT




9. Re: Não funciona Squid/iptables [RESOLVIDO]

Alam Luiz
acolatto

(usa Debian)

Enviado em 04/04/2012 - 16:01h

possuo as duas opções...


é muito estranho....

tenho essa linha:
$IPTABLES -t nat -A PREROUTING -s 0/0 -p tcp --dport 80 -j REDIRECT --to-port 3128

e tambem aceitando a porta 3128 tanto para FORWARD, INPUT E OUTPUT, para nao te duvidas.




10. Re: Não funciona Squid/iptables [RESOLVIDO]

Alam Luiz
acolatto

(usa Debian)

Enviado em 04/04/2012 - 16:12h

Para tirar duvidas, fiz o seguinte...
limpei todas as regras do firewall e deixei como policy ACCEPT para INPUT, OUTPUT E FORWARD e setei as regras abaixo:

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -s 0/0 -o eth0 -j MASQUERADE

iptables -t nat -A PREROUTING -s 0/0 -p tcp --dport 80 -j REDIRECT --to-port 3128

iptables -I INPUT -p tcp --dport 3128 -j ACCEPT

iptables -I OUTPUT -p tcp --dport 3128 -j ACCEPT

iptables -I FORWARD -p tcp --dport 3128 -j ACCEPT

e mesmo assim a proxy transparente nao funcionou, somente setando nos host's...

basicamente seriam essas regras para proxy transparente neh?


11. Re: Não funciona Squid/iptables [RESOLVIDO]

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 04/04/2012 - 16:14h

Então diga como esta montado sua infra ?

Firewall e Proxy na mesma máquina ou separado ?

Descreva em detalhes...


12. Re: Não funciona Squid/iptables [RESOLVIDO]

Alam Luiz
acolatto

(usa Debian)

Enviado em 04/04/2012 - 16:41h

Então diga como esta montado sua infra ?

Firewall e Proxy na mesma máquina ou separado ?

Descreva em detalhes...



vou tentar descrever...

o objetivo do meu firewall é separar duas redes, rede administração da rede alunos.

eu tenho um roteador com o ip 192.168.6.254 e o meu firewall fica entre esse roteador e as redes. nesse firewall pretendo fazer com que funcione o SQUID e o FIREWALL para tratar as portas e tambem os sites acessados, entao o firewall e proxy estao na mesma maquina.

na minha cabeca, eu preciso de 3 placas de redes, uma de saida para o modem a WAN IP 192.168.90, outra placa da rede interna REDE ADM 10.1.1.1 e outra placa da rede interna REDE ALUNOS 128.1.1.1.
Entre as redes não podem haver comunicações porem compartilharam a internet normalmente.

até o momento esta funcionando, porem o proxy transparente não funciona o que seria um baita problema se eu pedir para todos os alunos configurarem nas suas maquinas manualmente.




01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts