Squid bloqueando toda a navegação da rede [RESOLVIDO]

1. Squid bloqueando toda a navegação da rede [RESOLVIDO]

Alexandre Macedo
amppinho

(usa Debian)

Enviado em 24/01/2012 - 15:47h

Boa Tarde! Estou com um problema "similar ou igual" ao do usuário muan.
O meu problema é o seguinte, eu tenho uma rede que é controlada por um servidor Debian 5 Lenny, e nesse servidor tenho 3 placas de rede, usando o Iptables com nat para mascarar e compartilhar a internet entre as minhas 2 redes:

A placa eth0 --> Entra a conexão da internet (conforme pode se observar da minha estrutura de interface mais abaixo)
A placa eth1 --> Rede interna por cabo com IP 192.168.3.0/255.255.255.0
E por fim a Wlan0 (Usando o Hostapd para levantar o AP)--> Rede interna Wi-Fi com IP 192.168.4.0/255.255.255.0

Tenho ainda uma Bridge de nome br0 com a finalidade permitir a troca de arquivos entre as redes eth1 e wlan0, sendo que essa bridge não utiliza IP.

Pois bem, até ai está funcionando sem nenhum problema, ocorre que estou tentando implantar um Proxy transparente usando o Squid, mas por algum motivo toda vez que habilito o squid a conexão da rede eth1 e wlan0 param de funcionar e quando tento navegar aparece a seguinte mensagem no navegador: pagina não encontrada ou que não foi possível se conectar ao endereço do site.

Esse problema está ocorrendo com qualquer navegador, site que tento acessar e em qualquer máquina da rede (menos o servidor que continua navegando na boa).

Outro dado importante é que o meu servidor é quem faz a discagem, ou seja, toda a saída de dados da rede para a internet sai pela porta ppp0

Diagrama de minha rede

Internet ---> Modem em modo bridge ---> Servidor (etho) --> sai para a rede eth1 (192.168.3.0)
|--> sai para a wlan0 (192.168.4.0)

Me desculpem pelo post enorme, mas não teve outra forma, rsrs.
Agradeço desde logo toda e qualquer ajuda :)

---------------------------Interfaces-----------------------------------
# Interface primaria de rede - internet
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

# Interface secundaria de rede - interna
auto eth1
allow-hotplug eth1
iface eth1 inet static
address 192.168.3.1
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255
gateway 192.168.3.1
dns-nameservers 200.175.5.139

# Interface de rede sem fio (Wi-Fi)
auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.4.1
netmask 255.255.255.0
network 192.168.4.0
broadcast 192.168.4.255
gateway 192.168.4.1
dns-nameservers 200.175.5.139

# Ponte para interligação entre a eth1 e a wlan0
auto br0
iface br0 inet static
bridge_ports eth1 wlan0

---------------------------Script de Firewall---------------------------
#!/bin/sh

echo "Ativando o firewall!"

# Limpando as tabelas

echo "Limpando as tabelas do Iptables!"
iptables -F
iptables -t nat -F
iptables -t mangle -F

# Carrega os módulos

echo "Carregando módulos!"
modprobe ip_tables
modprobe iptable_nat

# Proxy Aparente (Redireciona o fluxo da porta 80 para a porta 3128 (squid))

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

# Compartilha a conexão

echo "Ativando o compatilhamento da conexão de internet!"
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward

# Converte o tamanho dos pacotes da rede

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu

# Aceita todo o trafego vindo do loopback e indo pro loopback

iptables -t filter -A INPUT -i lo -j ACCEPT

# Abre para a rede local

iptables -A INPUT -p tcp --syn -s 192.168.3.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -p tcp --syn -s 192.168.4.0/255.255.255.0 -j ACCEPT

# Manter conexões já estabelecidas

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP

echo "Firewall 100% carregado!"

---------------------------------Squid------------------------------------
##squid.conf

# Porta do Squid para proxy transparente
http_port 3128 transparent (já usei até intercept para o Squid 3.1)

# Nome do servidor que irá aparecer na tela de "Acesso Negado"
visible_hostname Server_host

# Paginas de erro em PT-BR
error_directory /usr/share/squid3/errors/Portuguese/

# Cache
cache_mem 76 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 1024 MB
minimum_object_size 0 KB
cache_swap_low 70
cache_swap_high 90
cache_dir ufs /var/spool/squid3 1000 16 256

# Logs de acesso
access_log /var/log/squid3/access.log
cache_log /var/log/squid3/cache.log
cache_store_log /var/log/squid3/store.log
pid_filename /var/log/squid3/squid3.pid
mime_table /usr/share/squid3/mime.conf

# Tempo de atualização da lista de sites armazenados so proxy
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern (cgi-bin|\?) 0 0% 0
refresh_pattern . 0 20% 4320
quick_abort_max 16 KB
quick_abort_pct 95
quick_abort_min 16 KB
request_header_max_size 20 KB
reply_header_max_size 20 KB
request_body_max_size 0 KB

#Regras de ACL padrõs
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.0
#acl to_localhost dst 127.0.0.0/8

acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 1863 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
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 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 redelocal src 192.168.3.0/255.255.255.0
acl redelocal2 src 192.168.4.0/255.255.255.0

http_access allow localhost
http_access allow redelocal
http_access allow redelocal2
http_access deny all

forwarded_for off
memory_pools off

cache_mgr ADM Alexandre
mail_program mail
cache_effective_user proxy
cache_effective_group proxy
httpd_suppress_version_string off


  


2. MELHOR RESPOSTA

Phillip Vieira
phrich

(usa Slackware)

Enviado em 24/01/2012 - 23:59h

Primeiro, o seu squid não está rodando.



Vamos analizar cada linha, o erro é bem simples de se resolver:


Restarting Squid HTTP Proxy 3.x: squid32012/01/24 18:19:59 |


Comente a linha referente a acl que aponta para 127.0.0.1/24 assim a mensagem abaixo "some"

aclIpParseIpData: WARNING: Netmask masks away part of the specified IP in '127.0.0.1/24'


A acl abaixo não existe no seu squid.conf, talvez vc tenha apagado sem querer, logo, para testar, comente a linha "http_access regra purge", onde regra pode ser allow,deny, etc e depois pegue a mesma de volta (após o teste) no squid.conf original

2012/01/24 18:19:59| aclParseAclList: ACL name 'purge' not found.
FATAL: Bungled squid.conf line 63: http_access allow purge localhost


O restante são informações de versão, que ele não iniciou, etc
Squid Cache (Version 3.1.6): Terminated abnormally.
CPU Usage: 0.024 seconds = 0.008 user + 0.016 sys
Maximum Resident Size: 16208 KB
Page faults with physical i/o: 0
failed!


Após realizar os procedimentos, tente iniciar o squid e verifique se o mesmo está "rodando":

ps aux | grep squid


3. Re: Squid bloqueando toda a navegação da rede [RESOLVIDO]

Phillip Vieira
phrich

(usa Slackware)

Enviado em 24/01/2012 - 16:39h

Outro dado importante é que o meu servidor é quem faz a discagem, ou seja, toda a saída de dados da rede para a internet sai pela porta ppp0

Cara, ppp0 é uma interface virtual e não uma porta ok? ;-)


Vou fazer umas correções e vc testa ai ok?

---------------------------Interfaces-----------------------------------

Remova as linhas:

allow-hotplug eth0
allow-hotplug eth1
allow-hotplug wlan0

---------------------------------Squid------------------------------------

Retire as linhas:
(já usei até intercept para o Squid 3.1) Mas não remova o http_porta 3128 transparent

Troque as linhas:

cache_mem 76 MB - por esta cache_mem 128 MB



Agora outra dica, veja se seu squid está "rodando"

ps aux | grep -i squid


ATENÇÃO, não ache que a saída do grep é a do squid não ok?


Caso não esteja, inicie-o com o comando:

squid -d 10 e poste a saída aqui ok?


4. Re: Squid bloqueando toda a navegação da rede [RESOLVIDO]

Alexandre Macedo
amppinho

(usa Debian)

Enviado em 24/01/2012 - 16:49h

sobre a ppp0 realmente viajei quando chamei de porta, uhauhauh, de onde eu tirei isso? Oo
dorgas manolo, uhauhauh, enfim...

Retire as linhas:
(já usei até intercept para o Squid 3.1) Mas não remova o http_porta 3128 transparent

quando coloquei essa informação esqueci de avisar que era só um comentário para informação de teste, na verdade não existe tal comentário de fato na linha, rsrs, mals pela falta de atenção ao esquecer de avisar, rsrs

assim que testar posto o resultado aqui

PS: Só uma dúvida no caso de usar o Squid 3.1 não teria que usar intercept no lugar de transparent? pois andei lendo em algum lugar que da versão 3.1 andou mudando o comando para isso, ou será que viajei novamente?


5. Re: Squid bloqueando toda a navegação da rede [RESOLVIDO]

Phillip Vieira
phrich

(usa Slackware)

Enviado em 24/01/2012 - 16:51h

Bom eu acredito que seja transparent mesmo, mas no squid.conf original tem exeplos disso...


6. Re: Squid bloqueando toda a navegação da rede [RESOLVIDO]

Alexandre Macedo
amppinho

(usa Debian)

Enviado em 24/01/2012 - 16:53h

bem, vou testar como vc disse :)
depois posto o resultado


7. Re: Squid bloqueando toda a navegação da rede [RESOLVIDO]

Rodrigo
rodrigom

(usa Debian)

Enviado em 24/01/2012 - 17:07h

Olá, boa tarde, sem querer atrapalhar, o que isso faz ?

# Ponte para interligação entre a eth1 e a wlan0
auto br0
iface br0 inet static
bridge_ports eth1 wlan0


8. Re: Squid bloqueando toda a navegação da rede [RESOLVIDO]

Alexandre Macedo
amppinho

(usa Debian)

Enviado em 24/01/2012 - 18:12h

rodrigom escreveu:

Olá, boa tarde, sem querer atrapalhar, o que isso faz ?

# Ponte para interligação entre a eth1 e a wlan0
auto br0
iface br0 inet static
bridge_ports eth1 wlan0


Isso serve para fazer uma ponte entre as redes para poder trocar arquivos entre redes de IP's diferentes :)


9. Re: Squid bloqueando toda a navegação da rede [RESOLVIDO]

Alexandre Macedo
amppinho

(usa Debian)

Enviado em 24/01/2012 - 18:25h

Olá phrich , testei com os comandos que vc disse, mas não tive muita sorte, rsrs, segue o resultado do esperimento :)

E realmente, tenho que usar o transparent :)

-------

Saída do comando: ps aux | grep -i squid

server-host:/home/administrador# ps aux | grep -i squid
root 2890 0.0 0.1 3300 816 pts/1 S+ 18:02 0:00 grep -i squid

-------

Saída do comando: squid -d 10

server-host:/home/administrador# squid -d 10
bash: squid: command not found

-------

O que me chamou mais a atenção é a saída do comando: /etc/init.d/squid3 restart, o squid está abortando de forma anormal, além de uma falha no final da execução do squid

Restarting Squid HTTP Proxy 3.x: squid32012/01/24 18:19:59| aclIpParseIpData: WARNING: Netmask masks away part of the specified IP in '127.0.0.1/24'
2012/01/24 18:19:59| aclParseAclList: ACL name 'purge' not found.
FATAL: Bungled squid.conf line 63: http_access allow purge localhost
Squid Cache (Version 3.1.6): Terminated abnormally.
CPU Usage: 0.024 seconds = 0.008 user + 0.016 sys
Maximum Resident Size: 16208 KB
Page faults with physical i/o: 0
failed!


10. Re: Squid bloqueando toda a navegação da rede [RESOLVIDO]

Alexandre Macedo
amppinho

(usa Debian)

Enviado em 28/01/2012 - 18:56h

O problema eram esses mesmo que vc disse, já resolvi e o squid está funcionando na boa, vlw mesmo pela ajuda :)






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts