Squid na vm X Squid real

Iniciado por leonardowja, 30 de Novembro de 2011, 08:55

tópico anterior - próximo tópico

leonardowja

Olah pessoal

Instalei o ubuntu server  no meu virtual box em um computador da empresa e nele instalei o squid
coloquei duas placas de rede eth0 com 10.0.2.15 (nat) e eth1 com 192.168.1.10 (rede interna)
fiz tambem uma vm com o ubuntu pra simular uma rede
Compartilhei a internet antes de instalar o squid e na vm ubuntu setei o ip do proxy da firma (192.168.0.254) para poder conectar na web e funcionou

enfim
ficou algo assim




redirecionei porta web para squid
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128


e mudei o proxy da vm para 192.168.1.10
o que aconteceu depois na VM foi isso






na imagem pode-se reparar que a primeira parte da mensagem pode ser atribuida ao meu proxy virtual (ServLinux)
e a segunda parte ao proxy da empresa (onde esta riscado)


Segue iptables

----------------------------------------------------------------------------------------

#zerando configuracoes
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F
iptables -t filter -X
iptables -t nat -X
iptables -t mangle -X

#fechando tudo

#tabela filter
#iptables -t filter -P INPUT DROP
#iptables -t filter -P OUTPUT DROP
#iptables -t filter -P FORWARD ACCEPT

#tabela nat
#iptables -t nat -P PREROUTING ACCEPT
#iptables -t nat -P OUTPUT ACCEPT
#iptables -t nat -P POSTROUTING ACCEPT

#tabela mangle
#iptables -t mangle -P PREROUTING ACCEPT
#iptables -t mangle -P POSTROUTING ACCEPT
#iptables -t mangle -P INPUT ACCEPT
#iptables -t mangle -P OUTPUT ACCEPT
#iptables -t mangle -P FORWARD ACCEPT

#liberar loopback
iptables -A INPUT -i lo -j ACCEPT

#liberar ping
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT

#liberar porta 53 dns
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT


#compartilhando conexao

#caregar modulo
modprobe iptable_nat

#ativar redirecionamento de pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward

#compartilhando
iptables -t -A POSTROUTING -o eth0 -j MASQUERADE


#redirecionar porta web para squid
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

-------------------------------------------------------------------------------------------------

e o squid.conf

http_port 3128
visible_hotname ServLinux
acl all src 0.0.0.0/0.0.0.0
http_access allow all

------------------------------------------------------------------------------------------------


Eu entendi mal ou o prxy da firma está bloqueando as conexões da minha vm?

zekkerj

Rapaz, essas imagens me atrapalham sobremaneira pra acompanhar o problema.

Mas 90% dos problemas de rede em máquina virtual acontecem por má escolha da forma de trabalho das interfaces virtuais. Explique como essas interfaces virtuais estão configuradas, então.

Se vc tem um outro proxy no caminho, também pode estar causando problema; se estiver, vc pode configurar o seu proxy pra trabalhar em hierarquia com o proxy principal.
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

leonardowja

#2
então

no ubuntu server configurei o virtualbox com 2 placas de rede 1 nat e a outra rede interna (eth0 e eth1)

eth0 está com ip 10.0.2.15(dhcp) e eth1 192.168.1.10(statico)

a maquina virtual ubuntu esta com ip 192.168.1.11 tambem setado como rede interna no virtual box e ip statico gateway 192.168.1.10 e proxy tambem

se eu configurar ele com o proxy da rede da firma ele conecta de boa (o gateway continua sendo 192.168.1.10)

Como eu faço pra o proxy virtual trabalhar em hierarquia com o real?
E o mais importante, eu nao tenho acesso ao proxy real, ainda assim posso usar essa técnica?

zekkerj

Citareu nao tenho acesso ao proxy real, ainda assim posso usar essa técnica?
Vai depender da configuração do proxy externo. É bom consultar o administrador desse proxy pra ter mais detalhes.
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

leonardowja

Ai é que está o problema
o proxy está sem administrador, quando da pau a diretoria daqui chama a assistencia técnica que vem a hora que querem
então estou tentando recriar esse sistema virtualmente pra depois ponhar a cara a tapa e implementar no servidor da empresa

O que eu tenho de vantagem é um login/senha e acesso livre a web
Fora isso nao posso acessar diretamente o servidor real, por enquanto so estou estudando isso...

Dei uma pesquisada em hierarquia e tudo que eu achei envolve configurar ambos os servers e por enquanto nao posso me dar a ese luxo

Minha duvida principal seria se as configurações q eu fiz funcionaram, ou seja, as maquinas virtuais acessariam a web se o outro proxy nao estivesse no caminho

e tambem se existe alguma forma de eu faze-las acessar sem mexer no server real


zekkerj

hmmm. o acesso é controlado por usuário/senha, né? complicou... todas as situações que já vi de autenticação no proxy com hierarquia, a verificação é feita no primeiro nível (que no seu caso, seria o seu proxy virtual), não no segundo. Pra ser sincero contigo, eu não sei qual é o comportamento do squid nessa situação.

Bem, fazer o quê? Quem não morre não vê Deus. Configure seu squid pra usar o outro como hierarquia, e seja o que Deus quiser.

Vamos primeiro tentar fazer a configuração da hierarquia por ICP. Se não funcionar, vamos tentar fazer por HTTP mesmo.

Adicione estas linhas à configuração do seu squid.

cache_peer ip-do-cache-master parent 3128 3130 no-digest login=seu-usuario:sua-senha
always_direct deny all
never_direct allow all


Observe o funcionamento. Observe também que seu usuário/senha estão nesse arquivo de configuração, então provavelmente vc vai querer que ele tenha permissão 0600 (rw- --- ---).
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

leonardowja

Funcionou!!!!   ;D ;D ;D ;D

Pode me explicar o que faz ao certo as duas ultimas linhas?

zekkerj

A primeira proíbe seu squid de encaminhar as requisições diretamente.
A segunda autoriza a encaminhar todas as requisições pela hierarquia.

Vc pode mudar esse comportamento com ACLs, permitindo que alguns acessos não passem pelo segundo nível.
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

leonardowja

Muito obrigado pela ajuda

coloquei algumas regras de permissao e bloqueio e ta funcionando excelentemente    ;D ;D ;D



leonardowja

Agora instalei o apache+php+mysql+phpmyadmin no ubuntu server so que ao acessar

""O seguinte erro foi encontrado:

    Falha na conexão

O sistema retornou:

    (113) No route to host

O host remoto (servidor) ou a rede pode estar indisponível. Por favor tente novamente. ""

Gerado pelo proxy da empresa
Inclusive ja havia retirado as restrições de sites do squid

O que pode estar acontecendo?  :'(

zekkerj

É o NAT. Vc não pode entrar numa máquina virtual que use interface NAT.
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

leonardowja

 :o :o :o :o :o :o :o :o :o

Então .....  eu devo desistir disso?

sem nat a web nao funciona e com nat a vm nao pode ser servidor web


:'( :'( :'( :'( :'( :'( :'( :'( :'(


zekkerj

Se vc quer que sua VM seja acessada de fora, tem que achar uma forma dela funcionar na interface bridge.
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