squid3 muito lento dentro do proxy

Iniciado por Said Dias, 07 de Julho de 2013, 15:10

tópico anterior - próximo tópico

Said Dias

Acho que uma solição seria criar um novo firewall.conf

como eu ja havia dito antes, com as regras secas de redirecionamento fica redondo sem a lentidão.


Arthur Bernardes

Você diz esse?

/bin/bash
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ipt_MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

iptables -t nat -A PREROUTING -s 10.172.13.11 -p tcp --dport 80 -j REDIRECT --to-port 8888


Mas qual problema ele gera?

zekkerj

#17
Citardessa forma todos os funcionarios irao passar direto para o squid sem passar pelo apache2
Não, essa regra só vai ser lançada quando o usuário fizer a autenticação, e somente para o IP da máquina do usuário.

Observe que a regra é "iptables -I PREROUTING -t nat -s $REMOTE_ADDR -p tcp --dport 80 -j REDIRECT --to-port 8888 # LINHA ADICIONADA".

Uma pergunta... como vc fez pro Apache executar um script como root? O script é SUID?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Said Dias

Arthur Bernardes obrigado por participar.

Mas eu necessito mesmo que seja transparente.
os usuários são dimanicos, nao posso configurar cada navegador.
Tudo funciona bem, a autentificação por exemplos esta perfeita, mas queria colocar o squid para rodar, mas quando faço esse redirecionamento a conexão fica lenta, se eu usar o redirecionamento sem essas regras no meu firewall.conf, somente mandando tudo da eth1 para a porta 8888, funciona bem, a lentidao desaparece. Mas preciso colocar junto com o meu firewall.conf, nele existe as regras de bloqueo, a regra que manda tudo pro apache.

Arthur Bernardes

Cara, não tô querendo atrapalhar, mas tá muito complicado seu cenário [pra mim].

Qual seria então o papel do Squid aí dentro?

Quero entender e também aprender. :)

Said Dias

Arthur Bernardes esse script nao me gera problema nenhum, na verdade sómente ele funciona bem,
Mas nao posso usar somente ele, se eu trocasse meu firewall.com por esse exemplo todos teriam acesso a internet sem a necessidade de se autenticar.

preciso que quando o script /var/www/cgi-bin/autoriza.sh  seja executado ele faça o redirecionamento para o squid sem a lentidao que tenho visto aqui.

zekkerj

Citaros usuários são dimanicos, nao posso configurar cada navegador.
Pra isso há o WPAD...
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Arthur Bernardes

#22
Vou ficar de "plantão" aqui para entender esse cenário, e aprender mais. Obrigado amigos. :D

Confesso que nem quero dormir, só pra poder ver o desenrolar, mas estou ficando sonâmbulo por aqui. Então, amanhã estarei de volta.

Abraço à todos.

Said Dias

Arthur Bernardes.

Quero poder controlar os sites que podem ser acessados ou não, quero poder ver os sites acessados e quero ver se a velocidade aumenta usando os caches das paginas.
essa seria a função do squid.

Said Dias

Citação de: zekkerj online 09 de Julho de 2013, 23:55
Citardessa forma todos os funcionarios irao passar direto para o squid sem passar pelo apache2
Não, essa regra só vai ser lançada quando o usuário fizer a autenticação, e somente para o IP da máquina do usuário.

Observe que a regra é "iptables -I PREROUTING -t nat -s $REMOTE_ADDR -p tcp --dport 80 -j REDIRECT --to-port 8888 # LINHA ADICIONADA".

Uma pergunta... como vc fez pro Apache executar um script como root? O script é SUID?
na verdade meu site tem uma rotina que chama um script aqui no servidor, mas como o comando iptables  nao pode ser executado pelo usuario do apache eu tive que mudar a permissao do iptables para u+s

na no site chamo assim http://gw.regras_empresa/cgi-bin/autoriza.sh, acho que uso responde.write ou response.redirect

zekkerj

vc teve que desativar algumas das barreiras de segurança, não? Pq das vezes que eu tentei, o Apache não me deixou executar scripts CGI com SUID.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Said Dias

Citação de: zekkerj online 10 de Julho de 2013, 00:14
vc teve que desativar algumas das barreiras de segurança, não? Pq das vezes que eu tentei, o Apache não me deixou executar scripts CGI com SUID.

Eu tive que mudar as conf do apache, tive que usar um servidor dns, sofri muito para conseguir.
na verdade sem o dns nao consegui que funcionasse .
O meu servidor é um gateway, aqui eu uso esse sistema como um hotspot, por isso nao posso colocar sem ser transparente.
o cara tem que colocar as credenciais la no site mesmo.

zekkerj

Citar...por isso nao posso colocar sem ser transparente.
Olha que pode... detecção automática. Só garanta que quem perguntar por "http://wpad/wpad.dat" tenha resposta, e vc vai conseguir usar o proxy configurado, sem ser transparente.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Said Dias

Citação de: zekkerj online 10 de Julho de 2013, 00:20
Citar...por isso nao posso colocar sem ser transparente.
Olha que pode... detecção automática. Só garanta que quem perguntar por "http://wpad/wpad.dat" tenha resposta, e vc vai conseguir usar o proxy configurado, sem ser transparente.

Cara vou olhar agora!!!
ja lhe digo.

zekkerj

function FindProxyForURL(url,host)
  return "PROXY 192.168.1.1:8888; DIRECT";
}
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D