Ubuntu 7.04 não inicia Squid ?!?!

Iniciado por senc, 22 de Outubro de 2007, 23:22

tópico anterior - próximo tópico

senc

Olá colaboradores,

Há muito, tento me dar bem com o linux... encontrei o Ubuntu e até então estava satisfeito com sua estabilidade e desempenho. Bem, tudo isso antes de precisar instalar o Squid, ou seja, preciso de um servidor proxy para compartilhar e administrar a internet em uma rede de 10 máquinas. Baixei o Squid 2.6 STABLE16 tar.gz através do site oficial, descompactei e instalei, conforme instruções do arquivo "install". Até então tudo bem. Mas ao tentar iniciar o Squid com os comandos squid -z e squid start, surge a mensagem de que o programa não está instalado e sugere a instalação através do apt-get. Este último não consegue instalar encontra erro de visible-hostname e termina com a informação de anormalidade. Com a versão 2.5 STABLE12 a mesma coisa, nada de squid -z e squid start. Sou iniciante em Linux, porém muito curioso em conhecer esta plataforma que é dita como superior, já sofri decepções com outra distro e pretendo continuar com o Ubuntu, isto se a mesma me trouxer funcionalidade.

Posso estar enganado com muita coisa que relatei devido ao pouco conhecimento, porém foram horas de pesquisa que me serviu de aprendizado mas sem sucesso com o objetivo citado.

Venho então socilitar aos amigos informações sobre o problema acima, desde já os meus agradecimentos.

>>>> Estou usando Ubuntu 7.04 com todos os paths instalados em uma máquina Duron 900Mhz Memória ram 256mb e cache de 250mb.

cadiles

Esse tipo de erro é comum com quem está iniciando.

Para saber o problema exato, seria necessário examinar as configurações.
Mas aparentemente esse erro está ocorrendo por causa do visible-hostname no squid.conf. Procure esse parametro e verifique se está com o nome do seu dominio ou sua de sua máquina.

Alfaelder

Amigão, é como o Cadile falou, tem q configurar o squid.conf, aliás, não só o visible_hostname, mas várias outras configurações, como, tamanho da memória disponível para cache, a faixa de ip da rede q irá trabalhar, tamanho do cache, entre outros, vale pesquisar um pouco sobre o squid.conf, caso sinta muita dificuldade, posso lhe passar o meu para vc ter uma base, é só postar o pedido.

Um abraço e fique com Deus.

senc

Quero agradecer aos amigos Cadiles e Alfaelder pelas respostas...

Isso mesmo, retornei ao fórum para postar a solução que eu encontrei antes mesmo das respostas dos amigos que citei acima, porém,  exatamente conforme os mesmos citaram.

Em resumo, desinstalei as versões que baixei e descompactei, e instalei através do apt-get. Em seguida configurei o 'visible_hostname' no squid.conf, que resultou na instalação "sem erros", podendo então usar os comandos 'squid -z' e 'squid start', porém continuo sem entender o porque de depois de instalado as versões compactadas, surgiu a mensagem de erro informando que ' o squid não estava instalado '.

Agora, estou na etapa de configuração... ainda sem sucesso.
Se os amigos puderem me postar a configuração de vocês, ficarei muito grato.
Em quanto isso continuarei com minhas pesquisas o que tem me proporcionado uma evolução significativa.

Muito obrigado a todos.

bl4z3

Amigo, mesmo instalando vc tem que editar o /etc/squid/squid.conf

Na basta editar o visible_hostmane para o squid rodar!

Go hunt!
"Dê livremente todo o conhecimento que recebestes gratuitamente"

Alfaelder

Desculpa a demora, não tive muito tempo para explicar melhor, mas espero que ajude.

### Onde houver 10.xxx.xxx.xxx vc substitui pela faixa de ip respectiva a sua rede ou micro.
### Nesse primeiro exemplo o ip do servidor squid, seguido de sua porta, e a depender de sua versão do squid, para rodar de forma transparente, sem precisar ficar digitando o cominho do proxy nos micros estação. Querendo que não rode em modo transparente é só remover o "transparent" ao final do comando. Obs. se não estou enganado só funciona apartir do squid 2.6 em diante.

http_port 10.xxx.xxx.xxx:3128 transparent
visible_hostname serverlnx

acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY

acl apache rep_header Server ^Apache
broken_vary_encoding allow apache

### Valor que define o tamanho do cache na memória física.
### Se tiver muita memória pode colocar maior, melhora a performance.
cache_mem  64 MB

### Tamanho máximo dos objetos que serão alocados na memória.
maximum_object_size_in_memory 4096 KB

### Tamanho máximo do objeto que será guardado em cache.
maximum_object_size 512 MB

### Tamanho mínimo de objeto guardado em cache, se colocar esse valor
### muito grande, o valores pequenos não serão armazenados e haverá muito trafego de internet.
minimum_object_size 0 KB

cache_swap_low 90
cache_swap_high 95

### Forma que serão alternados os arquivos na memória, no momento que
### postei estava testanto essa opção LFUDA, normalmente utilizo a LRU.
### A medida que os arquivos vão chegando, os mais velhos ou menos usados
### dão lugar ao novos.
cache_replacement_policy heap LFUDA
memory_replacement_policy heap LFUDA

### Diretorio onde será armazenado o cache, tamanho do cache em Mb.
### Aproximadamente 20Gb, os valores 16 e 256 não me recordo agora
### mas pode deixa-los padrão sem problemas.
cache_dir ufs /var/spool/squid 20480 16 256

### Diretorio onde guardará os logs do squid.
cache_access_log /var/log/squid/access.log


refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
refresh_stale_hit 3 seconds

### Tempo máximo de conexão de um cliente
client_lifetime 1 day

### Pode deixar essas configs padrão
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports


# Não vou entrar em detalhes para que serve as acls e como funcionam, até queria
# mas não tenho tempo, comentei algumas e espero que ajude.


### USUÁRIOS COM ACESSO LIVRE. ###
### Nome do servidor seguido de seu ip.
acl squidserver src 10.xxx.xxx.xxx

### Ounde ouver esses arquivos tipo /etc/squid/regras/userliberados, é onde
### agrupo usuários com a mesma afinidade, evita ficar repetindo vários ip
### em uma mesma linha.
acl userfree src "/etc/squid/regras/userliberados"

### Nesse outro exemplo, uma acl apenas para um usuário.
acl userfree2 src 10.xxx.xxx.xxx # note q ficou apenas um ip, mas poderiam ser vários.
### Acl para um grupo da empresa, contidos apenas os ips do grupo.
acl financeiro src 10.2.10.66 10.2.10.72 10.2.10.73 10.2.10.111


### USUÁRIOS COM ALGUM BLOQUEIO
acl userblockmsn src 10.2.10.67 10.2.10.94 10.2.10.96

### LIBERAR SITES
### Lista de sites que pode ser acessados por todos os usuários.
acl stliberados dstdomain -i "/etc/squid/regras/sitesliberados"
http_access allow stliberados


### BLOQUEAR MÚSICAS. ###
### dentro do arquivo blkmusica, existem extenções a serem bloqueadas
### organizadas da seguite forma, uma a baixo da outra. \.mp3$, \.wma$, \aif$
### entre outras extenções, dê uma pesquisada sobre extenções de radios de internet.
### note que na http_acces o final do comando esta !financeiro, isso indica
### q a acls financeiro esta fora dessa regra, é uma forma de bloquear os outros
### e liberar para o financeiro. (peixe é peixe)
acl proibir_musica urlpath_regex -i "/etc/squid/regras/blkmusica"
http_access deny proibir_musica !financeiro


### BLOQUEAR DOWNLOAD DE ARQUIVOS. ###
### mesma regra das radios, dentro de downbloqueados vc coloca as extenções a serem bloqueadas. também seguindo a regra: \.mp3$ \.exe$ um em baixo do outro e assim por diante.
acl downliberados url_regex -i \.asp
acl downbloqueados url_regex -i "/etc/squid/regras/downbloqueados"
http_access deny downbloqueados !financeiro !downliberados !lnxserver

### BLOQUEIO POR DOMINIO. ###
### dentro de proibidos todos o sites a serem bloqueados, um abaixo do outro.
acl proibidos dstdom_regex "/etc/squid/regras/proibidos"
http_access deny proibidos !lnxserver

### LIBERA ORKUT PARA ALGUNS. ###
# acl orkut url_regex -i ^.*ww.\.(orkut|torperkut|powerscrap)\.com
acl orkut url_regex -i ^.*ww.\.(orkut)\.com
acl orkut2 url_regex -i service=orkut
acl orkut3 dstdom_regex -i .orkut.com
http_access deny orkut3 !userfree
http_access deny orkut !userfree
http_access deny orkut2 !userfree

### BLOQUEIO DE SITES SPYWARES/ADWARES/VÍRUS E OUTROS. ###
acl spybot url_regex -i "/etc/squid/regras/spybot"
acl malware url_regex -i "/etc/squid/regras/malware"
acl blacklist url_regex -i "/etc/squid/regras/blacklist"
http_access deny blacklist !lnxserver
http_access deny malware !lnxserver
http_access deny spybot !lnxserver
deny_info http://malware.hiperlinks.com.br/denied.shtml malware

### BLOQUEAR SITES POR DOMINIO. ###
acl bloqueados dstdomain "/etc/squid/regras/bloqueados"
http_access deny bloqueados !lnxserver

### BLOQUEIO/LIBERAÇÃO MSN
acl msmsn url_regex -i "/etc/squid/regras/blkmsn"
http_access allow msmsn !userblockmsn

### ENDEREÇO REDE LOCAL. ###
acl redelocal src 10.2.10.0/26 # ip de sua rede, veja que é da rede, não de uma maquina, seguido de sua mascara. É muito importante estar depois das regras de bloqueio, do contrario as regras não funcionaram, desculpa, não tenho como explicar agora o pq.
http_access allow localhost
http_access allow redelocal

http_access deny all

icon_directory /usr/share/squid/icons
error_directory /usr/share/squid/errors/Portuguese


Bem acho q isso é o básico para funcionar legal, se retirar as regras de acls que têm a cima já funciona, mas sem barrar nada.  Faça uma pesquisa legal sobre acls e modifique a sua necessidade, depois que pegar a manha fica bem fácil.

senc

Ok Alfaelder...

Valeu mesmo pela sua receita de bolo, no começo achei um pouco estranho configurar o Squid, porém, após algumas pesquisas e com a sua ajuda já começo a enxergar tudo mais claramente. As acls não são nenhum "bicho de sete cabeças", depois de conhecer como elas funcionam, basta usar a criatividade e criar as suas próprias regras de acordo com a necessidade. E os seus comentários sobre as demais linhas vieram em boa hora para um melhor entedimento. A minha configuração ainda encontra-se bem básica, mas já estou bloqueando o que quero e auntenticando usuários, resta conhecer ainda um pouco mais sobre "proxy transparente" e bloqueio por usuário e não por ip. Tudo isso me trouxe também um conhecimento melhor sobre Linux e serve aí de estímulo para quem também estiver iniciando e que por algum momento sentiu vontade de desistir. A partir de então iniciarei um novo tópico sobre um assunto novo, pois este estou dando por encerrado.

Mais uma vez obrigado, pelos que ajudaram e também por aqueles que tiveram curiosidade sobre o tópico, espero que o mesmo ajude a alguém mais.