Ir ao conteúdo
  • Cadastre-se

squid: ERROR: No running copy


Usuario45621

Posts recomendados

  • Membro VIP
12 horas atrás, MatrixWHOIS disse:

Posso instalar um servidor DNS junto com o servidor proxy ? A configuração do PC é um Intel Celeron, 2GB RAM DDR2 (2x1GB),40GB HD.

 

Sim. Se são apenas 10 clientes, dá e sobra.

 

12 horas atrás, MatrixWHOIS disse:

Outra dúvida o SQUID quando enche o cache ele limpa automático né ?

 

Em teoria sim. Lá no tempo do Squid 3.0 havia vários bugs que faziam o daemon se perder e parar de responder requisições nessa circunstância. Nas versões recentes é para ser mais robusto. Nunca mais me deparei com esses bugs aqui.

 

Eu recomendo você separar a interface que acessa a internet da que serve os clientes. Pois do contrário, a menos que você tenha um switch que suporte VLANs, não há separação física entre as redes.

 

No cliente, basta o camarada mudar o gateway que deixará de passar pelo proxy. Claro, você pode impedir que os clientes tenham acesso a essa configuração (conta de usuário limitada no Windows, por exemplo), porém sempre considere a possibilidade de alguém conseguir burlar. Colocando uma segunda placa de rede no servidor vai permitir que você crie uma segunda rede apenas para servir os clientes e haverá separação física entre elas (coloque um servidor DHCP na interface interna depois).

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Marcos FRM São mais de 10 clientes, demora mais ou menos quanto para encher o cache ? São mais ou menos 15 máquinas... 6 meses ? E o servidor DNS posso implementar nesse mesmo servidor ?  O computador tem 2 placas de rede e só 1 é usada, a separação da rede posso configurar no /etc/network/interfaces, pode me passar um exemplo de configuração ? Ou me indica um material. 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Considerarei que eth0 esteja conectada à internet e que seja possível obter a configuração automaticamente via DHCP. E que eth1 seja o adaptador da rede interna (usaremos a rede 192.168.5.0/24).

 

/etc/network/interfaces

 

source /etc/network/interfaces.d/*

auto lo
  iface lo inet loopback

# interface conectada à internet
allow-hotplug eth0
iface eth0 inet dhcp

# interface interna
allow-hotplug eth1
iface eth1 inet static
  address 192.168.5.1
  netmask 255.255.255.0

 

Então, rode:

 

# systemctl restart networking.service
# resolvconf -u

(isso deve colocar em /etc/resolv.conf os endereços obtidos via DHCP)

 

Ao obter a concessão DHCP via eth0, deverá ser definida também uma rota padrão, que será usada pelo Squid para acessar a internet. Em eth1, apenas definimos um endereço estático.

 

Agora, como não existe NAT entre eth0 e eth1, você precisa configurar pelo menos um servidor DNS operando como cache em eth1. Do contrário, os clientes não terão como resolver nomes. Existem diferentes possibilidades. Para redes pequenas assim, gosto do dnsmasq, que, além de servir como servidor DNS, pode atuar também como servidor DHCP. Ou o BIND mesmo, que, por padrão, funciona como cache.

 

Depois, configure os clientes com IPs na rede 192.168.5.0/24 e gateway/servidor DNS 192.168.5.1.

 

É bom proteger tudo isso com um firewall, mas primeiro faça funcionar sem. Senão é muita coisa junta para dar errado.

 

É por aí... não tenho experiência com o ifup do Debian. Uso o NetworkManager e systemd-networkd, que são soluções muito melhores. Contudo, como o Debian ainda usa essa antiguidade por padrão, deixa assim.

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Marcos FRM Explicando melhor: sai um cabo do laboratório e vem para o modem da NET com faixa de ip 192.168.0.x. Entra um cabo no servidor com 192.168.0.x dae tem outro cabo cinza q vem de um swicth/hub (não sei) com faixa 10.1.1.x  e vai para a outra placa de rede. Sabendo que o modem tem 192.168.0 como procedo a configuração para deixar o servidor como gateway ?  

Link para o comentário
Compartilhar em outros sites

@Marcos FRM E mais um coisa também, na época q tinha proxy, o laboratório ficava com faixa de ip 10.1.1.x. Deixei a máquina na ONG semana q vem posto o /etc/hosts. 

 

Lá quando fui configurar o ip em /etc/network/interfaces pegou ip DHCP em eth0: 192.168.0.x dae depois não pegou mais. E as vezes demorar para carregar a placa de rede da inicialização do DEBIAN. Se está demorando com certeza porque a configuração não está certa. 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Então vamos usar a rede 10.0.0.0/8 internamente. /etc/network/interfaces :

 

source /etc/network/interfaces.d/*

auto lo
  iface lo inet loopback

# interface conectada à internet
allow-hotplug eth0
iface eth0 inet dhcp

# interface interna
allow-hotplug eth1
iface eth1 inet static
  address 10.0.0.1
  netmask 255.0.0.0

 

Novo /etc/squid3/squid.conf (apenas adaptado para a rede 10.0.0.0/8):

 

# rede local
# acls all, manager, localhost e to_localhost são pré-definidas
acl localnet src 10.0.0.0/8

# mecanismo de autenticação
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/senhas_usuarios
auth_param basic realm "Insira senha"
auth_param basic credentialsttl 2 hours

# registro de portas
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT

# permite acesso ao cachemgr apenas via localhost
http_access allow localhost manager
http_access deny manager

# nega acesso a portas não registradas
http_access deny !Safe_ports

# nega CONNECT em porta não-SSL
http_access deny CONNECT !SSL_ports

# nega acesso ao localhost via proxy
# wget http://localhost/blabla no servidor sem a variável no_proxy
# declarada, por exemplo
http_access deny to_localhost

# bloqueios
acl bloqueados dstdom_regex -i facebook fbcdn twitter
http_access deny bloqueados

# autenticação
acl acesso_autenticado proxy_auth REQUIRED
http_access deny !acesso_autenticado

# permite acesso da rede interna e localhost
http_access allow localnet
http_access allow localhost

# nega todo o resto
http_access deny all

# porta do proxy
http_port 3128

# não rotacionar logs (tarefa do logrotate)
logfile_rotate 0

# configuração do cache
cache_mem 100 MB
maximum_object_size 10 MB
cache_dir aufs /var/spool/squid3 30000 16 256

# não mexer
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320

 

Mudaremos de estratégia. Remova o resolvconf, pois usaremos um /etc/resolv.conf estático:

 

# apt-get purge resolvconf

 

Para evitar que o dhclient esculhambe com o arquivo, em /etc/dhcp/dhclient.conf , altere a linha

 

#prepend domain-name-servers 127.0.0.1;

para

 

supersede domain-name-servers 127.0.0.1;

 

e a linha

 

#supersede domain-name "fugue.com home.vix.com";

 

para

 

supersede domain-name "localdomain";

 

 

Com isso,  /etc/resolv.conf sempre será gerado assim:

 

domain localdomain
search localdomain
nameserver 127.0.0.1

 

As primeiras linhas definem um domínio DNS local. Sempre uso .localdomain, que é o padrão nas distribuições derivadas do Red Hat e no pfSense. Não faz parte da RFC 6761, contudo. Não há nenhum domínio "legal" para uso local na verdade. Redes Microsoft costumam usar .local, porém, com o advento do mDNS, passou a ser problemático. Como é improvável que você vá registrar um domínio válido para esse tipo de instalação aí, fiquemos assim.

 

Agora, instale o dnsmasq:

 

# apt-get install dnsmasq

 

Faça backup do arquivo de configuração padrão:

 

# cp -p /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

 

Coloque em /etc/dnsmasq.conf :

 

# define servidores DNS (Google) manualmente,
# 127.0.0.1 de /etc/resolv.conf será ignorado
server=8.8.8.8
server=8.8.4.4

# NÃO roda o servidor na interface eth0, que
# é território do modem da NET
except-interface=eth0

# configura servidor DHCP no intervalo
# 10.0.0.10 - 10.0.0.100, concessão de 4h,
# domínio é extraído de /etc/resolv.conf
dhcp-authoritative
dhcp-range=10.0.0.10,10.0.0.100,4h
domain=#

# configurações diversas, ver dnsmasq(8)
bogus-priv
domain-needed
expand-hosts
localise-queries

 

Por fim, para o dnsmasq resolver o nome do servidor para os clientes, em /etc/hosts, substitua a segunda linha por:

 

127.0.1.1    HOSTNAME_ATUAL.localdomain    HOSTNAME_ATUAL

 

E adicione logo abaixo dela:

 

10.0.0.1     HOSTNAME_ATUAL.localdomain    HOSTNAME_ATUAL

 

(troque HOSTNAME_ATUAL pelo hostname usado aí em /etc/hostname)

 

O Debian habilita daemons por padrão. Vamos garantir mesmo assim:

 

# systemctl enable dnsmasq.service

 

Por fim, reinicie:

 

# reboot

 

Isso deverá fazer tudo funcionar. Nos clientes configure o proxy manualmente e acabou. Dá para automatizar a configuração de proxy também, que funciona bem em clientes Windows, mas fica para uma próxima etapa, junto com um firewall...

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...