[Resolvido] Proxy com squid - Configuração

Iniciado por EuripedesXD, 04 de Agosto de 2010, 18:11

tópico anterior - próximo tópico

EuripedesXD

Tenho uma máquina virtual com o linux: Ubuntu 10.04 LTS, como kernel 2.6.32-21-generic-pae.
Instalei o squid com o comando: apt-get install squid. Foi instalado o Squid 2.7 Stable

Segui o tutorial: http://www.gdhpress.com.br/servidores/leia/index.php?p=cap2-8

Configurei o arquivo squid.conf com as seguintes linha: (sei que não é indicada esta configuração, mas era só para teste mesmo, pois a que eu criei muitas acl's deu erro ao iniciar squid)
http_port 3128
visible_hostname gdh
acl all src 0.0.0.0/0.0.0.0
http_access allow all

Estou duas placas de rede.
eth0 com IP: 10.1.1.10 (ligada no modem)
eth1 com IP: 10.1.1.11 (ligada no switch)

Meu modem é um dlink-500B (10.1.1.1).

Meu aquivo de interface esta com as linhas:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
              address 10.1.1.10
              netmask 255.0.0.0
              gateway 10.1.1.1
auto eth1
iface eth1 inet static
              address 10.1.1.11
              netmask 255.0.0.0
              gateway 10.1.1.1

Iniciei o squid com o comando: service squid start (não deu nenhum erro)

Só que eu configuro meu navegador com:
Endereço: 10.1.1.10 ( e outro teste com o ip 10.1.1.11) e a Porta: 3128
Qual endereço coloco aqui? Da interface que esta ligada o modem ou ligada na switch?
Para coloca-lo transparente, redireciono a porta 80 para 3128 para a eth0 ou eth1?

Só que não tive acesso a internet.

Agradeço qualquer ajuda.

             





zekkerj

Olha, essa configuração de rede está errada. Você não pode ter duas interfaces na mesma rede, se quiser que uma roteie (transporte pacotes) para a outra.

Qual é o seu sistema hospedeiro?

Esse modem ADSL, ele está roteado?

Você depende do acesso à internet dessa máquina virtual para que o hospedeiro acesse a internet?

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

EuripedesXD

Citação de: zekkerj online 04 de Agosto de 2010, 23:55
Olha, essa configuração de rede está errada. Você não pode ter duas interfaces na mesma rede, se quiser que uma roteie (transporte pacotes) para a outra.

Qual é o seu sistema hospedeiro?

Esse modem ADSL, ele está roteado?

Você depende do acesso à internet dessa máquina virtual para que o hospedeiro acesse a internet?



Configuração de rede vc se refere ao meu arquivo de interfaces?
E qual seria a configuração correta?
Tenho Windows 7 64bits como hospedeiro.
O modem esta o serviço de DHCP ativado.
Não preciso da máquina virtual para ter acesso a internet.

Outra duvida, depois que o proxy estiver funcionando, o serviço de DHCP do modem continuará funcioando?
Terei que criar um servidor de DHCP no linux?

Aguardo sua orientação

zekkerj

Citação de: EuripedesXD online 05 de Agosto de 2010, 13:48
Configuração de rede vc se refere ao meu arquivo de interfaces?
Refiro-me à sua escolha dos endereços e da máscara de sub-rede nas duas interfaces.
Os valores no arquivo de interfaces são apenas o resultado da má escolha.

CitarE qual seria a configuração correta?
Depende de como você queira que sua rede funcione.

CitarTenho Windows 7 64bits como hospedeiro.
O modem esta o serviço de DHCP ativado.
Não preciso da máquina virtual para ter acesso a internet.
Certo. Qual sistema de virtualização você está usando? VMware, VirtualBox, ou VirtualPC?

CitarOutra duvida, depois que o proxy estiver funcionando, o serviço de DHCP do modem continuará funcioando?
Terei que criar um servidor de DHCP no linux?
O serviço continuará funcionando, mas não estará acessível a qualquer máquina que esteja ligada nesse switch. Aliás, dependendo de como você tenha ligado isso tudo, pode ser que já não esteja acessível hoje.

O que me lembra de perguntar. A máquina hospedeira tem duas placas de rede, certo? Uma está ligada diretamente ao modem, e a outra está ligada ao switch, correto? Sem que o modem esteja ligado ao switch.
É isso?

Se for assim, qualquer outra máquina ligada a esse switch já não consegue receber IP do modem por DHCP, então você terá sim que criar um servidor DHCP no Linux --- o que não é difícil, e pra falar a verdade seria consequência e sequência do seu experimento com o servidor proxy.
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

EuripedesXD

CitarDepende de como você queira que sua rede funcione.
Mas não tem que configurar na mesma faixa de ip?

CitarCerto. Qual sistema de virtualização você está usando? VMware, VirtualBox, ou VirtualPC?
Estou usando VirtualBox.

CitarO que me lembra de perguntar. A máquina hospedeira tem duas placas de rede, certo? Uma está ligada diretamente ao modem, e a outra está ligada ao switch, correto? Sem que o modem esteja ligado ao switch.
É isso?
É assim mesmo que esta meu amigo, foi o que pensei, que DHCP não funcionaria nesta estrutura.

Estou usando o virtualbox para aprender a configurar o proxy, depois instalarei o linux em um host.

O computadores na rede, ira acessar a internet pela o eth1 ( que estara ligado na switch)?
E se for assim, quando eu configura-lo transparente sera no ip 10.1.1.11 (eth1) que terei que redirecionar a porta 80 para 3128?

Terei que colocar no navedor o ip 10.1.1.11:3128 para usar o proxy?

obrigado pela atenção

zekkerj

Citação de: EuripedesXD online 05 de Agosto de 2010, 17:38
Mas não tem que configurar na mesma faixa de ip?
Não, cada interface tem que estar em sua própria rede, as faixas tem que ser diferentes.

CitarEstou usando VirtualBox.
OK, registrado.

CitarÉ assim mesmo que esta meu amigo, foi o que pensei, que DHCP não funcionaria nesta estrutura.
Funciona, mas não da forma como você espera. O servidor proxy vai receber um IP na primeira interface por DHCP.

Depois, ele vai fornecer IPs pras outras máquinas na outra interface.

Pra registro, é exatamente assim que você compartilha uma conexão NetVirtua.

CitarEstou usando o virtualbox para aprender a configurar o proxy, depois instalarei o linux em um host.

O computadores na rede, ira acessar a internet pela o eth1 ( que estara ligado na switch)?
E se for assim, quando eu configura-lo transparente sera no ip 10.1.1.11 (eth1) que terei que redirecionar a porta 80 para 3128?

Terei que colocar no navedor o ip 10.1.1.11:3128 para usar o proxy?

obrigado pela atenção
Vamos resolver uma coisa por vez.
Primeiro vamos acertar a configuração de rede, OK?

Minha sugestão é que você use assim:

- primeira placa (eth0) -> ligada ao modem.
-- configurada por DHCP

- segunda placa (eth1) -> ip fixo
-- endereço 192.168.1.1/24

Essa configuração, no arquivo "/etc/network/interfaces", fica:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
    address 192.168.1.1
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255


Ative essas interfaces com os comandos abaixo:

sudo ifdown eth0; sudo ifup eth0
sudo ifdown eth1; sudo ifup eth1

Se tudo estiver certo, você já vai ser capaz de navegar na máquina virtual (graças à nova configuração de eth0).
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

zekkerj

#6
Depois que você estiver conseguindo navegar, podemos seguir pro próximo passo: configurar o DHCP.

Pra configurar o servidor DHCP, você vai instalar o pacote "dhcp3-server":

apt-get install dhcp3-server

Depois vai mexer no arquivo "/etc/default/dhcp3-server":

# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp
# installed at /etc/default/dhcp3-server by the maintainer scripts

#
# This is a POSIX shell fragment
#

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
[b]INTERFACES="eth1"[/b]


Altere essa última linha do arquivo, de forma que referencie apenas a interface "eth1".
Isso vai fazer com que o servidor dhcp não tente trabalhar na interface eth0.

O arquivo /etc/dhcp3/dhcpd.conf vai ficar assim:

#
# Attention: If /etc/ltsp/dhcpd.conf exists, that will be used as
# configuration file instead of this file.
#
# $Id: dhcpd.conf,v 1.1.1.1 2002/05/21 00:07:44 peloy Exp $
#                                                                                                                                                                                   
                                                                                                                                                                                   
ddns-update-style none;

default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.100 192.168.1.200;
    option routers 192.168.1.1;
    option domain-name-servers 8.8.8.8 8.8.4.4;
}


Ative o servidor dhcp com o comando abaixo:

sudo service dhcp3-server start

Se o serviço não iniciar, veja o erro no log do sistema:

grep dhcpd /var/log/syslog

Confirme que as estações ligadas ao switch conseguem pegar IP corretamente.

Quande estiver tudo OK, marque pro serviço iniciar automaticamente:

sudo update-rc.d dhcp3-server defaults

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

EuripedesXD

Alem das configurações descrita pelo o amigo acima,
eu também liberei fiz esta configuração:

# iptables –A INPUT –i eth1 –p tcp --dport 3128 –j ACCEPT

Para liberar a porta 3128 na interface de rede.

abraÇo