Squid não funciona [RESOLVIDO]

1. Squid não funciona [RESOLVIDO]

Francisco Wótila C. Cruz
Wotila_Carneiro

(usa Ubuntu)

Enviado em 09/12/2010 - 12:37h

Bom dia a todos.
Estou iniciando agora no mundo linux e estou lendo o livro "Redes e Servidores" do Morimoto. Estava configurando o squid de acordo com o livro, mas não funciona.
Estou usando uma rede virtual com o Ubuntu Server 10.04 com duas placas (duas redes) 10.1.0.0/16 e 172.18.0.0/24.
A priore ele pede apenas para renomear o squid.conf para squid.conf.velho e criar um novo squid.conf com as seguintes linhas:
http_port 3128
visible_hostname (nome do servidor)
acl all src 0.0.0.0/0.0.0.0
http_access allow all

Em seguida pede para fazer um teste no propio servidor (caso seja um desktop), mas quando vou nas estações ele navega normalmente, mesmo sem eu configurar o proxy no navegador.
Alguém poderia me ajudar, por favor.
Desde já agradeço.


  


2. Re: Squid não funciona [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 09/12/2010 - 13:07h

Pra forçar o pessoal a utilizar o proxy, bloqueie o FORWARD pra porta 80 no seu servidor proxy:

# iptables -A FORWARD -p tcp --dport 80 -j DROP


3. Re: Squid não funciona [RESOLVIDO]

Rodrigo W. Konrath
qpcrodrigo

(usa Ubuntu)

Enviado em 09/12/2010 - 13:27h

Não consegui visualizar o problema...

A máquina onde esta instalado o squid é mais uma máquina na rede. Por este motivo se tu não colocar o proxy ativo nesta máquina ou não ativar o proxy nos navegadores é como se o squid não existisse.
Até ai tudo certo
Tu também poderia acrescentar mais 2 acls. Uma para a rede 10.1.0.0/16 e outra para a rede 172.18.0.0/24. Fazendo com que tu crie regras separadamente para cada uma destas redes.
Nunca tentei, mas daí da para usar algo assim:
----------------------------------
http_port 3128
visible_hostname (nome do servidor)
acl all src 0.0.0.0/0.0.0.0

acl rede1 src 10.1.0.0/16
http_access allow rede1

acl rede2 src 172.18.0.0/24
http_access allow rede2

http_access deny all
-------------------------------

Assim você esta criando a acl all, rede1, rede2 .
Está dando permissão para rede1, rede2 e tirando o acesso de tudo que não faz parte das 2 redes listadas

O resto é configuração de rede... lembrando que em cada uma das placas de rede configuradas você estará usando um IP diferente. Por este motivo em cada uma das redes tu estas usando vai usar um endereço de proxy diferente...

Para cada alteração no arquivo squid.conf, o squid tem que se reiniciado para que seja atualizado as alterações feitas... o comendo nas distribuições Debian para reiniciar o squid é: /etc/init.d/squid restart

Espero ter ajudado...


4. Re: Squid não funciona [RESOLVIDO]

Francisco Wótila C. Cruz
Wotila_Carneiro

(usa Ubuntu)

Enviado em 09/12/2010 - 13:53h

Não funcionou. Nem uma das ajudas acima.
Veja algumas configurações de minha rede.
A minha rede está assim:
.
REDE A* -----eth1------Ubuntu Server------eth2----REDE B*
.
REDE A: 172.18.0.0/24
REDE B: 10.1.0.0/16
.
#hostname
srvfbsol
.
#/etc/squid/squid.conf
http_port 3128
visible_hostname srvfbsol
acl all src 0.0.0.0/0.0.0.0
http_access allow all

#REGRAS DE FIREWALL
#!/bin/bash

iniciar(){

# COMPARTILHAR A CONEXÃO
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# ABRE PARA REDE LOCAL
iptables -A INPUT -s 172.18.0.0/24 -j ACCEPT

# ACESSO SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# DESCARTAR PACOTES MALFORMADOS
iptables -A INPUT -m state --state INVALID -j DROP

# ABRE INTERFACE DE LOOPBACK
iptables -A INPUT -i lo -j ACCEPT


# BLOQUEIA TUDO
iptables -A INPUT -p tcp --syn -j DROP

}
parar(){
iptables -F
echo "Regras de Firewall Desativadas"
}

case "$1" in
"start") iniciar;;
"stop") parar;;
"restart") parar; iniciar;;
*) echo "Use os parâmetros start ou stop"
esac

E mesmo assim, ainda navega, mesmo com o squid ativado, e sem configurações de proxy no navegador.


5. Re: Squid não funciona [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 09/12/2010 - 13:58h

A regra q eu t passei deve ser inserida no meio do seu arquivo, dessa forma:

...
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

iptables -A FORWARD -p tcp --dport 80 -j DROP

# ABRE PARA REDE LOCAL
...

Ou vc pode inseri-la na linha d comando dessa forma:

iptables -I FORWARD -p tcp --dport 80 -j DROP


6. Re: Squid não funciona [RESOLVIDO]

Francisco Wótila C. Cruz
Wotila_Carneiro

(usa Ubuntu)

Enviado em 09/12/2010 - 14:04h

Também não funcionou ainda.
Nas configurações do proxy no navegador o endereço do proxy é srvfbsol e a porta 3128 certo?



7. Re: Squid não funciona [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 09/12/2010 - 14:13h

O endereço do proxy deve ser em IP. Imagina se o seu servidor DNS falha... o seu proxy tb irá falhar. Pense nisso!


8. Re: Squid não funciona [RESOLVIDO]

Francisco Wótila C. Cruz
Wotila_Carneiro

(usa Ubuntu)

Enviado em 09/12/2010 - 14:38h

Tem razão. MAs olha...quando eu configurasse o squid da maneira como configurei acima, o acesso das máquinas da rede à internet só deveriam ser liberados após a configuração do proxy no navegador, certo? Mas tá navegando normal


9. Re: Squid não funciona [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 09/12/2010 - 15:46h

Hum... o firewall tá na msm máquina do proxy? Se sim, esqueci d acrescentar uma regra:

# iptables -A INPUT -p tcp --dport 80 -j DROP

Assim ninguém acessa d forma direta a porta 80.


10. Re: Squid não funciona [RESOLVIDO]

Francisco Wótila C. Cruz
Wotila_Carneiro

(usa Ubuntu)

Enviado em 09/12/2010 - 16:46h

Consegui!
Desistalei e reinstalei o Squid.
Depois recriei o arquivo squid.conf com as seguintes linhas

http_port 3128
visible_hostname (nome do servidor)
acl all src 0.0.0.0/0.0.0.0
http_access deny all

Iniciei o Squid. E quando fui nas estaçoes, nenhuma acessava, quando eu configurei o proxy no navegador apareceu a página de erro do squid, já que a acl está como deny.
Acho que o erro era como eu estava iniciando o Squid.

Antes eu iniciava assim:
#/etc/init.d/squid start

Desta vez eu fiz assim:
#service squid start

MAs de qualquer maneira, muito obrigado àqueles que ajudaram.








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts