55111430 squid dicas script modelos e comandos na manutencao de s (1)

26
Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html 1 de 26 06/08/2010 00:48 Squid - Dicas - script, modelos e comandos na manutenção de servidor proxy - Squid Atualizado em: 04/09/2006 Sobre este documento Dicas - Solução de problemas Criar ambiente de testes e backup da instalação Resumo - Dicas - Comandos de uso frequente... Configuração via ambiente gráfico e remotamente Iniciar, parar, reiniciar, status Logs, exemplos de comandos e filtros Mais ajuda e dicas de pesquisa httptunnel, furos de bloqueio - freeproxy, webproxy Firewall - regras Iptables - redirecionamento Exemplos de regras que redirecionam o trafego Excluir uma estação do redirecionamento - acessar a net sem proxy Configurando estações - Clientes do proxy Configurar clientes do proxy Squid wget, lynx e outros clientes sem config própria. apt-get, smart e proxy autenticado ACL - Manutenção Zerar configurações, limpar cache Limpar cache - reiniciar processo - solução de problemas. CUPS e servidor web interno Remover comentarios do arquivo de configuração Controle de IP na rede Formato e manipulação de data no log. Problemas no acesso ao Hotmail + I.E. + Squid. Indicações: Sobre este documento Resumo de comandos, linhas de comando e scripts utilizados na manutenção de servidor proxy - Squid (na minha opinião e como eu uso, copiar e colar) Os comandos e dicas podem não atender as suas necessidades, não ser compatível

Upload: afonso-lucio

Post on 26-Oct-2015

81 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

1 de 26 06/08/2010 00:48

Squid - Dicas - script, modelos e comandos na manutenção de

servidor proxy - SquidAtualizado em: 04/09/2006

Sobre este documentoDicas - Solução de problemasCriar ambiente de testes e backup da instalaçãoResumo - Dicas - Comandos de uso frequente...

Configuração via ambiente gráfico e remotamenteIniciar, parar, reiniciar, statusLogs, exemplos de comandos e filtrosMais ajuda e dicas de pesquisa

httptunnel, furos de bloqueio - freeproxy, webproxyFirewall - regras Iptables - redirecionamento

Exemplos de regras que redirecionam o trafegoExcluir uma estação do redirecionamento - acessar a net sem proxy

Configurando estações - Clientes do proxyConfigurar clientes do proxy Squidwget, lynx e outros clientes sem config própria.apt-get, smart e proxy autenticado

ACL - ManutençãoZerar configurações, limpar cache

Limpar cache - reiniciar processo - solução de problemas.CUPS e servidor web internoRemover comentarios do arquivo de configuraçãoControle de IP na redeFormato e manipulação de data no log.Problemas no acesso ao Hotmail + I.E. + Squid.Indicações:

Sobre este documentoResumo de comandos, linhas de comando e scripts utilizados na manutenção deservidor proxy - Squid (na minha opinião e como eu uso, copiar e colar)

Os comandos e dicas podem não atender as suas necessidades, não ser compatível

Page 2: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

2 de 26 06/08/2010 00:48

com sua instalação, use como referencia, tente adaptar ao seu ambiente.

Dicas - Solução de problemasTente instalar e configurar por partes, tente isolar o problema, facilita nalocalização do problema e solução, na manutenção ou instalação tente seguir estaordem.

Passo 1 - Configure o servidor para navegar e pingar as maquinas da rede interna,configure as duas placas de rede e teste com ping para a rede interna e internet,prossiga com a instalação somente depois de obter respostas do comando pingpara as maquinas da rede interna e navegar normalmente, quando não temambiente gráfico na maquina, use o lynx para testar a navegação, wget paradownload, outro serviço que possa testar o funcionamento da internet, ou arrisqueprosseguir com o ping, no caso do ping faça testes com ping para um dominio.

Passo 2 - Compartilhe a conexão, sem firewall, somente compartilhe para testar anavegação a partir de uma estação, em lugar do firewall utilize estas regras deiptables.

modprobe iptable_nat iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward

Ajuste o device de acordo com sua rede, ppp0 como no exemplo acima paraconexões via modem discado ou ADSL conectado via pppoe, conexões de ADSLcom IP fixo ou obtido por DHCP o device é eth0, altere no exemplo acima para odevice em uso.

Passo 3 - Configure a estação para navegar, ainda não tem nada de proxy,configure somente o gateway e DNS, com esta configuração a estação navegasem restrição alguma, veja mais dicas sobre compartilhamento de internet em

http://www.zago.eti.br/adsl-compartilhar.txt

Somente depois que conseguir navegar a partir de uma estação, passe para aconfiguração do Squid.

Passo 4 - Instale, configure e inicie o Squid, lembrando que não basta instalar, aconfiguração padrão não funciona, precisa de alguns ajustes na configuração.Explicando, precisa de um ajuste minimo no squid.conf, diretivas como classe deIP da rede, nome da maquina e outros detalhes, dependendo do controle desejadoprecisa criar ACL, usuários, senhas e outros detalhes. Tente fazer umaconfiguração sem controle algum, pelo menos para entender o funcionamento,subir o Squid e testar a navegação, no FAQ tem varios modelos prontinhos para

Page 3: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

3 de 26 06/08/2010 00:48

copiar e colar, não deve servir para o seu proposito, mas são instalações testadas eque funcionam, utilize uma delas pelo menos para entender como funciona etestar, depois faça a sua configuração a partir de zero, para trocar a configuração,basta substituir o squid.conf, apagar cache e recriar novamente, não precisaremover ou reinstalar nada, somente limpar o cache e trocar o squid.conf, tambémcriar ou alterar as ACL conforme a nova configuração.

Inicie o squid e verifique se está rodando OK, prossiga com os proximos tópicossomente depois de iniciar sem mensagens de erro e o status acusar que estárodando.

Passo 5 - Redirecionando o trafego da porta 80 para a porta 3128, altere as regrasde compatilhamento, de novo, ajuste o device caso seja diferente de ppp0 comoneste exemplo, ajuste também a classe de rede caso seja diferente de 192.168.1.0.

modprobe iptable_nat /usr/sbin/iptables -t nat -A PREROUTING -p tcp -m multiport -s 192.168.1.0/24 --dport 80,443 -j REDIRECT --to-ports 3128 /usr/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward

Antes de configurar a estação, teste a rede novamente, mesmo aplicando a regraacima, nas estações o ping tem que alcançar dominios na internet.

Passo 6 - Configurar estações para usar o proxy, no navegador, procure pelasopções de configuar proxy, em IP informe o IP do micro que roda Squid em portainforme 3128, salve a configuração e teste a nevagação, as condições de acesso asites vai depender da configuração do Squid, de qualquer forma vai obter algumaresposta, navegar ou a tela de erro do Squid, não esqueça dos logs, no servidorabra um console e execute a linha de comando.

tail -f /var/log/squid/access.log

Este comando exibe no console as mensagens de log, exibe em tempo real, nomomento em que estão sendo formadas, tente a navegação na estação e veja osresultados no console, até aqui fica fácil isolar o problema, se navegava antes doredirecionamento e agora não navega, já sabe onde procurar, inicie verificando seestá o Squid está rodando, configurações do squid, diretivas, ACL, permissõesnos arquivos e diretórios utilizados pelo squid, documentação de configuração doSquid, pegue a mensagem de erro e coloque na caixa de pesquisa do Google..

Procure também nas mensagens de outros arquivos de log do sistema, qualquerdúvida volte ao inicio e vá testando passo a passo, quando Ok, configure ofirewall.

Passo 7 - Firewall, as regras acima não tem proteção alguma, maquinas de carapara a internet precisa de um firewall minimo, os exemplos acima são regras paracompartilhar e não oferece proteção, portanto precisa criar seu firewall, comopode notar, precisa de uma linha de comando no firewall para redirecionar o

Page 4: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

4 de 26 06/08/2010 00:48

trafego da porta 80 para a porta 3128 controlada pelo Squid, no seu firewallsubstitua a linha que faz NAT por esta linha.

/usr/sbin/iptables -t nat -A PREROUTING -p tcp -m multiport -s 192.168.1.0/24--dport 80,443 -j REDIRECT --to-ports 3128

Lembrando que o Squid controla somente a navegação pela porta 80, os demaisserviços que utilizam outras portas são controlados pelo Iptables, tais comoclientes de e-mail, eles utilizam as portas 25 e 110 que não passam pelo squid,conexões via ssh que utilizam a porta 22, outros serviços que utilizam outrasportas diferente da porta 80, configure e controle com regras no iptables, umexemplo para fazer NAT para o restante, tudo que não passar pela porta 80, nofirewall, coloque depois da regra de redireconamento.

/usr/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward

Criar ambiente de testes e backup dainstalação

Considere criar um ambiente de testes, não adianta reclamar que não tem "verba"ou não tem maquina, não custa nada, o pouco tempo que investir agora vai lhepoupar muito mais no futuro além de evitar muitos problemas, considere um bominvestimento de tempo, pode instalar diversos squid pela rede sem problemaalgum.

Veja dicas de como fazer duas instalações Linux no mesmo HD, utilizeestações para testes, evite em servidores embora seja possivel, passo a passoemhttp://www.zago.eti.br/boot_div.txt

Dual boot Linux e windows - Aproveite e veja a dica sobre backup dainstalação completa do windows na partição Linux, quando algum viruscomer o windows ou precisar reinstalar, vai poupar muito tempo, basta umasimples cópia de volta para recuperar a instalação do windows, passo a passoem.http://www.zago.eti.br/boot-dual-win-e-linux.html

Nesta estação (instalação) de testes, vai consumir somente parte do espaço do HDe nada mais, utilizando maquina que está atrás de firewall não precisa de maisuma placa de rede, funciona com somente uma placa, configure a nova instalaçãocomo uma estação para acessar à internet, sem passar por outro Squid, caso játenha algum fazendo o controle de acesso à internet, caso ele esteja rodando mamaquina que compartilha a conexão, então inclua no firewall a regra que exclua a

Page 5: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

5 de 26 06/08/2010 00:48

maquina de testes do proxy, com esta maquina navegando sem passar por outroproxy voce tem o servidor que precisa para seus testes, basta instalar o Squid econfigurar uma estação para usa-lo como servidor proxy, ou melhor alterar oendereço de proxy e gateway apontando para o IP da maquina testes.

Regra de iptables para excluir um IP do redirecionamento, no meu firewall paraexcluir a maquina de testes, utilizo esta regra.

/usr/sbin/iptables -t nat -A PREROUTING -i eth1 -s \! 192.168.1.53 -p tcp -m multiport --dport 80,443 -j REDIRECT --to-ports 3128 /usr/sbin/iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE

Neste exemplo a estação com IP 192.168.1.53 acessa internet sem passar peloproxy e pode ser usada para rodar outro squid, nesta maquina configure o squid,utilize outra estação da rede para utilizer este novo Squid, altere somente oendereço de IP do proxy e gateway apontando para o segundo servidor proxy,prontinho, tenho outro Squid rodando e estações passando por ele, este segundoproxy sai pelo firewall sem problema algum, ambiente perfeito para testes.

Além de testes ou para backup, serve também como um segundo proxy, nãoencontrei utilidade para esta opção, mas é possivel manter dois squid na mesmarede, rodando independente e com regras diferentes,

Em ambiente de testes vale usar um modem discado nesta maquina, esta opçãotambém é indicada para testar firewall, regras de squid e outros serviços de rede,pode até ser usado quando cai o link ou ADSL, embora muito mais lento permiteacesso à internet enquanto o ADSL não volta.

Com o squid configurado na maquina de testes (clone do principal), utilizequalquer estação da rede, configure ou altere as configurações de proxyapontando para o servidor de testes, prontinho, tem tudo que precisa para testarACL, diretivas do Squid e muito mais, quando concluir a configuração, bastarepetir o processo no principal, ou simplificando, copiar os arquivos deconfiguração.

Considere manter esta instalação como backup, em casos de emergencia, nuncase sabe quando vai ocorrer acidentes, queimar a maquina, HD ou uma pane naconfiguração que pare tudo, nestas situações basta alterar o IP que as estaçõesnem ficam sabendo da troca, em menos de um minuto se faz a troca do IP e sobeo Squid.

Use ferramentas como VNC, SSH, FreeNX, Putty e outras, não fique pulando pralá e pra cá, indo de maquina em maquina, a partir do ambiente gráfico damaquina Linux, abra um console para acompanhar os logs e acesse o VCN daestação windows para simular o uso. A partir da estação windows faça conexãovia FreeNX ou Putty para abrir o console e acompanhar os resultados do queacontece com os acessos pela estação windows.

Page 6: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

6 de 26 06/08/2010 00:48

Ainda está difícil, faltando opções?, problemas com falta de hardware?,então use maquina virtual, veja dicas no FAQ;http://www.zago.eti.br/qemu.txt

Porque não pensei nisso antes!

Resumo - Dicas - Comandos de uso frequente...

Configuração via ambiente gráfico e remotamente

Algumas distros tem ferramentas próprias de configuração, como exemploYast2 no SUSE 10 tem configurador proxy, estas ferramentas nem sempreatende todas as necessídades, mesmo nestas distros pode se utilizar outrasferramentas como webmin ou editar os arquivos de configuaçãomanualmente.

webmin tem modulo para configurar Squid e outros recursos, na aba"servidores" procure pelo icone "Servidor Proxy Squid", em outros idiomasou versões mais antigas procure por algo relacionado a servidores e proxy.Veja mais sobre webmin, como acessar remotamente e outras dicas emhttp://www.zago.eti.br/webmin.txt

SSH - Considere o uso do ssh, permite executar aplicativos do ambientegráfico remoto, tem varios aplicativos para windows, tanto em ambientegráfico como texto (shell) é a mais segura e melhor ferramenta para acessoremoto, altamente configurável.

Acesso remoto via ssh em ambiente gráfico, cliente windows utilizando -Winscp - putty - Freenx - tutorial emhttp://www.zago.eti.br/ssh/ssh-gui.html

FAQ, instalar, configurar, dicas e exemplos de uso do SSH emhttp://www.zago.eti.br/ssh/ssh.txt

Arquivos de configuração podem ser editados e manipulados com simpleseditor de texto, seja para fazer toda a configuração ou simples ajustes, podeutilizar ferramentas como webmin e refinar os ajustes com seu editor detexto preferido, pode copiar estes arquivos de outra instalação, portanto fiqueà vontade para fazer a seu modo, veja mais dicas de como manipulararquivos de configuração emhttp://www.zago.eti.br/modelos/A-menu-modelos.html

Page 7: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

7 de 26 06/08/2010 00:48

Veja também na página principal sobre squid, tópico " Ferramentas deconfiguração... ", manutenção via web.

Iniciar, parar, reiniciar, status

Parar, iniciar, reiniciar e carregar as novas alterações.

Verifique qual o comando para sua distro, são diferentes entre as distros,

Comandos comum na maioria das distro.

squid -k reconfigure Carregar alterações no squid.conf ou ACL, execute sempreque fizer alterações no squid.conf ou ACL.

squid -k shutdown Parar o serviço, derrubar o Squid, prefira esta opção em lugar deoutras semelhantes como "service squid stop" ou "rcsquid stop".

Segue alguns exemplos para Conectiva e SUSE.

Configurar para iniciar junto com o boot da maquina: chkconfig squid on

SUSE 10.1

rcsquid restart Reiniciar o serviço, evite esta opção, prefira squid -k reconfigure.

Conectiva 10

service squid restart - Reiniciar Squid, evite esta opção, prefira squid -k

reconfigure.

service squid start Iniciar Squid manualmente

squid -D iniciar sem testar DNS, pode usar no /etc/rc.d/rc.local.

Esta opção (-D) serve para não testar o DNS, deve ser usada quando a maquinaque roda o squid não está conectada na net no momento que inicia o squid eportanto não como testar o DNS e resulta em erro, ocorre em conexões viamodem discado ou ADSL conectado via pppoe, quando tenta iniciar o squid antesde conexão com a net ocorre o erro porque não tem como testar o DNS, organizea inicialização de forma que o Squid seja iniciado depois de completar a conexãocom a internet, tente iniciar o squid via rc.local lembre de incluir a linha do Squiddepois da linha que conecta na net.

Caso ainda falhe, tente com esta:

squid -D z

Page 8: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

8 de 26 06/08/2010 00:48

service squid status conferir status, se está rodando ou não, retorna mensagemsemelhante a esta.

root@faqcl9# service squid statussquid inativo mas seus subsistemas trancados

Tenho detectado este problema principalmente após alterações nas configuraçõesdo Squid, depois de "mexer e fuçar" nas configurações ele para de rodar ou passater comportamento estranho, não grava logs, não inicia ou morre logo em seguida.

Tente resolver o problerma apagando o arquivo de pid do squid, localize squid.pide remova este arquivo, exemplo.

Localizar o processo, execute: find / -name squid.pid

Deverá retornar algo como:

/var/run/squid.pid

Matar o processo, execute: kill -9 /var/run/squid.pid

Caso não resolva, verifique se a maquina está conectada na internet, tente limparo cache, zerar os logs e outros procedimentos indicados em outros tópicos destedocumemnto.

Mais dicas sobre como iniciar serviços e acompanhar procesoss.

http://www.zago.eti.br/iniciar.txthttp://www.zago.eti.br/processos.txt

Logs, exemplos de comandos e filtros

Acompanhando os logs em tempo real

Acompanhe os logs em tempo real, enquanto eles são formados voce podeacompanhar as entradas dos registros no log do Squid, execute:

tail -f /var/log/squid/access.log

Consulte também os log do sistema, veja o que disponível em /var/log.

ls -la /var/log/

tail -f /var/log/messages

Refinar a pesquisa, ideal em casos de muitos registros nos logs, para acompanharsomente os registros da estação com IP 192.168.1.53, execute

Page 9: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

9 de 26 06/08/2010 00:48

tail -f /var/log/squid/access.log | grep 192.168.1.53

Substitua 192.168.1.53 por outro termo que deseja procurar, exemplo, exibirsomente os logs que contenha sexo em qualquer parte do registro.

tail -f /var/log/squid/access.log | grep sexo

Em lugar de sexo, use a palavra que deseja procurar, foto, msn, orkut, mail eetc....

Para salvar o resultado deste filtro em arquivo, use os redirecionadores, exemplopara salvar em arquivo /tpm/logteste.txt

tail -f /var/log/squid/access.log | grep sexo >> /tmp/logteste.txt

Alguns exemplos.

Exibir as ultimas 100 linhas e sair.

tail -100 /var/log/squid/access.log

Refinar o resultado, exibir somente o IP e a URL, exemplo;

tail -f /var/log/squid/access.log | awk '{print "IP="$3"\t URL="$7}'

Formato e exemplo de resultado:

IP=192.168.1.53 URL=http://www.zago.eti.br/log.txt

Exibir outros campos do Log, troque "IP="$3", pela coluna que deseja, altere IPpara o nome que deseja exibir e $3 pela coluna que deseja exibir, neste exemplo oIP é a terceira coluna e a URL é a setima, para exibir IP e tipo de acesso que ficana coluna 4 use:

tail -f /var/log/squid/access.log | awk '{print "IP="$3"\t CODIGO="$4}'

Formato e exemplo de resultado:

IP=192.168.1.53 CODIGO=TCP_MISS/200 IP=192.168.1.53 CODIGO=TCP_MISS/200

Com curingas pode acompanhar no mesmo console e simultaneamente diversosarquivos de log, exemplos para abrir todos os arquivos que terminam com .log em/var/log/squid

tail -F /var/log/squid/*.log

tail -f /var/log/squid/*.log

Com filtro por usuário, IP, URL ou outra opção registradas nos logs, use o grepcomo neste exemplo;

tail -f /var/log/squid/*.log | grep 192.168.1.53

Page 10: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

10 de 26 06/08/2010 00:48

Abrir também o /var/log/messages, observe que tem um espaço separando os doisendereços.

tail -f /var/log/squid/*.log /var/log/messages

tail -f /var/log/squid/*.log /var/log/messages | grep 192.168.1.53

Faça testes, modifique os exemplos acima, tente outras opções.

Veja mais sobre grep em:http://www.zago.eti.br/grep.txt

Veja mais sobre awk em:http://www.zago.eti.br/awk.txt

Saber o tamanho do cache, veja no squid.conf o caminho do cache, o local não épadrão, portanto, procure na sua instalação, pode pegar o endereço no squid.conf,procure pela linha semelhante a esta;

cache_dir ufs /var/cache/squid 100 16 256

Neste exemplo o cache está em /var/cache/squid , saber o tamanho, espaçoocupado, execute; du -sh /var/cache/squid e o resultado deverá ser semelhante a109M /var/cache/squid.

O local muda conforme a distro, script de instalação ou a gosto do administrador,o mais comum é procurar pelo sub-diretório squid abaixo de /var/spool, nestecaso utilize o comando du -sh /var/spool/squid, ou localize o caminho correto,navegue pelos diretórios, consulte o squid.conf, use o find e sua intuição...

Tem mais opções, inclusive como gerar gráficos individualizados, relatórios emHTML via SARG e muitos outros recursos, veja mais sobre log e relatórios noFAQ

http://www.zago.eti.br/squid/sarg.html

http://www.zago.eti.br/log.html

http://www.zago.eti.br/squid/log.txt

Mais ajuda e dicas de pesquisa

Help do Squid

/usr/sbin/squid -help

man squid

Page 11: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

11 de 26 06/08/2010 00:48

Ver com quais com quais flags o Squid foi compilado:

/usr/sbin/squid -v

Quando não entender a mensgem de erro porque está em ingles, utilize tradudorescomo Altavista ou Google, se ainda não entendeu a mensagem, então coloqueparte dela na caixa de pesquisa do Google.

Explore o mecanismo de busca do Google, coloque na caixa de dialogo amensagem de erro ou parte dela, tente combinar a pesquisa para refinar osresultados.

httptunnel, furos de bloqueio - freeproxy, webproxy

Nas regras de bloqueio (ACL) inclua o bloqueio a estes endereços e as indicaçõesdeles:

http://www.guardster.com/

http://proxy.amsistemas.com.br

http://www.proxy4free.com/index.html

http://www.the-cloak.com/anonymous-surfing-home.htmlhttp://www.the-cloak.com/login.html

http://www.megaproxy.com/

http://www.freeproxy.com/

http://surfeasy.info/surfeasy/

http://www.publicproxyservers.com/page1.html

http://www.hopster.com/

Neste site tem um software que burla o proxy e firewall, não testei.

http://www.wproxy.com https://wproxy.com/

Caso teus usuários consiga acessa-los, atraves deles vão burlar o proxy e acessarqualquer outro site na internet, vai anular totalmente as regras de bloqueio do teuSquid, alguns tem software que instalam na estação para permitir o acesso e usodeles mesmo com eles bloqueado nas regras do squid e firewall, parece ser

Page 12: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

12 de 26 06/08/2010 00:48

demais, ainda não detectei esta situação, como tudo é possivel, acho que a soluçãoé a constante vigilancia, analise dos logs e trafego, refinar as regras pra dificultarao maximo e nunca vacilar com a segurança e monitoramento.

Não tenho como listar todos aqui, mesmo porque não sei quais são, o ideal éacompanhar os logs do squid, pelos relatorios do SARG fica muito mais fácildescobrir acesso a sites estranhos e suspeitos, depois é só acrescentar na lista desites bloqueados.

Procure no google por httptunnel, anonimato e expressões semelhantes vai sesurpreender com o que tem disponivel para usuários criar problemas na tua rede eburlar proxy ou firewall.

Firewall - regras Iptables - redirecionamento

Exemplos de regras que redirecionam o trafego

Redirecionar todo o trafego da porta 80 para o Squid.

Forçar as estações passarem pelo proxy, precisa colocar uma regra no firewall praredirecionar todo o trafego da porta 80 para a porta 3128, o local de inserir a regratambém é muito importante, tem que ser antes da regra que faz nat para evitarque as estações continue navegando sem passar pelo proxy, veja este exemplo:

modprobe iptable_nat iptables -t nat -A PREROUTING -p tcp -m multiport -s 192.168.1.0/24 --dport 80,443 -j REDIRECT --to-ports 3128 iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward

Cuidado com a quebra de linha no seu browser, cliente de e-mail ou editor, noexemplo acima esta parte:

iptables -t nat -A PREROUTING -p tcp -m multiport -s 192.168.1.0/24 --dport80,443 -j REDIRECT --to-ports 3128

tem que ser uma única de linha, tem que ajustar para sua rede, neste exemploestou permitindo proxy pra toda a rede interna com IP 192.168.1.0/24, altere paraa sua classe de rede, ajuste também no squid.conf "acl minharede src192.168.1.0/255.255.255.0" tem que ser da mesma classe de rede. Neste exemplo192.168.1.0/24, todas as maquinas da rede permite alterações somente no ultimoocteto 192.168.1.x, mantenha a mesma classe em todas as maquinas, nasestações, no squid.conf e placa de rede interna do micro que compartilha a

Page 13: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

13 de 26 06/08/2010 00:48

conexão (firewall), o Squid pode rodar em outra maquina com IP da mesmaclasse de rede.

As demais linhas no exemplo acima serve pra fazer NAT para os demais serviçoscomo ftp, cliente de e-mail e qualquer acesso à web sem ser pela navegação naporta 80.

Cuidado com a segurança, o exemplo acima serve somente pra ilustrar ondedeverá ser colocada a regra de redirecionamento, aplique as suas regras defirewall, qualquer problema altere posição da regra acima para o inicio dofirewall.

Excluir uma estação do redirecionamento - acessara net sem proxy

Qualquer excessão que queira fazer via iptables, tem que ser acrescentada nofirewall antes da regra que direciona o trafego pro Squid, o IPtables para aexecução do script (analize das regras) na primeira condição que for atendida. Praexcluir um IP do redirecionamento pro Squid, a regra tem que estar no script dofirewall, antes da que redireciona o trafego pro Squid.

Esta regra redireciona todo o trafego da porta 80 para a porta 3128 do Squid.

/usr/sbin/iptables -t nat -A PREROUTING -p tcp -m multiport -s 192.168.1.0/24 --dport 80,443 -j REDIRECT --to-ports 3128

Com a regra acima todas as estações todas as estações são forçadas a passar peloproxy pra alcançar a net, portanto submetendo às regras configuradas no Squid,mas é possível manter o proxy para toda a rede e excluir algumas maquinas doproxy, ficam sujeitas somente às regras de iptables.

Excluir somente uma estação, pode aplicar direto na regra de redirecionamento,quando precisar excluir mais de uma maquina (IP), crie uma regra (linha abaixo)para cada maquina, obrigatoriamente a ordem destas regras no script tem que sercolocadas na posição antes da regra de redirecionamento, no exemplo a seguirinclue a regra de redirecionamento para facilitar o entendimento, segue algunsexemplos de regras para tirar do proxy as maquinas com final 42, 53 e 155,

/usr/sbin/iptables -t nat -A PREROUTING -i eth1 -s 192.168.1.42/32 -p tcp -m multiport --dport 80,443 -j ACCEPT /usr/sbin/iptables -t nat -A PREROUTING -i eth1 -s 192.168.1.53/32 -p tcp -m multiport --dport 80,443 -j ACCEPT /usr/sbin/iptables -t nat -A PREROUTING -i eth1 -s \! 192.168.1.155 -p tcp -m multiport --dport 80,443 -j REDIRECT --to-ports 3128 Ou se preferir, outro formato com o mesmo resultado; /usr/sbin/iptables -t nat -A PREROUTING -i eth1 -s 192.168.1.42/32 -p tcp -m multiport --dport 80,443 -j ACCEPT /usr/sbin/iptables -t nat -A PREROUTING -i eth1 -s 192.168.1.53/32 -p tcp -m multiport --dport 80,443 -j ACCEPT /usr/sbin/iptables -t nat -A PREROUTING -i eth1 -s 192.168.1.155/32 -p tcp -m multiport --dport 80,443 -j ACCEPT /usr/sbin/iptables -t nat -A PREROUTING -p tcp -m multiport -s 192.168.1.0/24 --dport 80,443 -j REDIRECT --to-ports 3128

Page 14: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

14 de 26 06/08/2010 00:48

Onde eth1 é interface interna e 192.168.1.0 é toda a rede interna (clase de rede),altere conforme sua rede.

Mais um exemplo; iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.32/32 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.53/32 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.155/32 -j MASQUERADE Ou também; iptables -t nat -A POSTROUTING -s 192.168.1.53 -o ppp0 -j MASQUERADE iptables -t nat -A POSTROUTING -s 192.168.1.53 -o eth0 -j MASQUERADE A primeira linha é pra quem levanta a interface ppp0 e a segunda é pra quem levanta a eth0, no exemplo acima a estação com IP 192.168.1.53 não vai passar pelo proxi nem pelas regras do Squid.

No meu firewall utilizo esta regra para excluir do redirecionamento a maquinacom ip 192.168.1.53.

/usr/sbin/iptables -t nat -A PREROUTING -i eth1 -s \! 192.168.1.53 -p tcp -mmultiport --dport 80,443 -j REDIRECT --to-ports 3128

/usr/sbin/iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE

onde

eth0 = interface externa (que sai pra net)eth1 = interface interna (rede interna)

Nestas estações não configure proxy no navegador, caso configure vaipassar pelo proxy como outra estação qualquer, quem usa mais de umnavegador, pode configurar um deles passando pelo proxy e outro não,em ambiente de testes pode ser muito útil.

Confira se as regras de NAT estão ativas para os IP em questão, após a inclusãodas regras, execute o script de firewall e depois veja se os IP aparecem nalistagem do comando;

iptables -L -v -t nat

Configurando estações - Clientes doproxy

Configurar clientes do proxy Squid

Estações que estão atrás de um servidor proxy, precisam de configuração especialsobre a rede, além da configuração de rede na estação, IP, DNS, gateway e rota,quando acessam a internet pelo proxy como Squid, precisam configurar os

Page 15: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

15 de 26 06/08/2010 00:48

navegadores e demais serviços que utilizam a porta 80 para acessar a internet peloproxy, brownser como Mozilla, konqueror, I.E tem opções de configuração doproxy, procure no seu navegador pela opção de configurar o servidor proxy,informe o IP e porta, onde IP é o IP do micro que roda o Squid e a porta em queestá ouvindo, normalmente é a 3128.

No Firewall deve ter uma regra redirecionando o trafego da porta 80 para a porta3128, algo semelhante a estas regras.

modprobe iptable_nat /usr/sbin/iptables -t nat -A PREROUTING -p tcp -m multiport -s 192.168.1.0/24 --dport 80,443 -j REDIRECT --to-ports 3128 /usr/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forwardd

Quando falhar o acesso a FTP, acrescente as regras pra fazer NAT também deFTP, são estas regras:

modprobe ip_conntrack_ftp modprobe ip_nat_ftp modprobe iptable_nat

No firewall precisa carregar os modulos responsaveis pelo NAT de FTP, requerno minimo estas regras e nesta ordem:

modprobe ip_conntrack_ftp modprobe ip_nat_ftp modprobe iptable_nat /usr/sbin/iptables -t nat -A PREROUTING -p tcp -m multiport -s 192.168.1.0/24 --dport 80,443 -j REDIRECT --to-ports 3128 /usr/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward

Agora faça um teste com o konqueror nas estações, na aba:

configurações Configurar konqueror Proxy selecione usar proxy e configurações específicas manualmente, clique em configurar, na linha FTP não preencha, deixe esta linha vazia e não selecione a opção [] usar o mesmo servidor proxy para todos os protocolos, o proxy Squid não controla a porta do ftp, portanto não marque esta opção.

Teste com servidor de FTP externo, tente com servidores de ftp anonimo como aunicamp, teste com este endereço

ftp://ftp.unicamp.br/pub/

Servidores de FTP que requer login, exemplo, atualizar sites, acrescente na URL ologin e senha, neste formato:

ftp://meulogin:[email protected]/

Configurar I.E, tente este caminho:

Page 16: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

16 de 26 06/08/2010 00:48

Em primeiro lugar por questões de segurança tente não usar I.E. tem muitasrecomendações de segurança indicando outros navegadores em lugar do I.E.

Quando o ping alcança a internet e o I.E. não navega, procure nas opções deconfigurar para navegar por uma rede LAN, procure pelas opções de proxy einforme o IP do servidor proxy e a porta. Com isto deverá navegar, caso falhe,veja nas configurações de rede se tem o IP da mesma classe, gateway e DNS, vejase o ping alcança o micro que compartilha a conexão, tente com outrosnavegadores, com outros serviços de acesso à internet para tentar isolar oproblema.

Quando o I.E. navega mas não acessa sites de FTP e no micro que compartilha aconexão carrega os modulos como indicado acima, outros navegadores acessa efalha somente com I.E, então é problema de configuração do I.E. Na barra demenu do internet explorer -> guia avançado no item "navegação" procure pelasopções com referencia a FTP, desmarque ou marque a opção "Ativar o modo deexibição de pastas para sites ftp". Tente acessar ftp, caso falhe inverta as opções,vai tentando que a solução é nestes itens.

Configurar I.E direto no registro do windows, tópico em testes com win98 SE.

Faça testes antes de aplicar esta solução na rede, verifique em uma maquina se ocaminho confere, avalie e teste em uma maquina antes de aplicar em todas.

Crie um script com edit do DOS ou bloco de notas, como sugestão de nomeproxyon.reg com este conteúdo;

REGEDIT4 [HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings] "ProxyEnable"=dword:00000001 "ProxyServer"="192.168.1.2:3128" "ProxyOverride"="<local>"

No exemplo acima altere somente o IP 192.168.1.2 para o do seu servidor proxy,as demais linhas não altere mantenha o REGEDIT4 como está, nome pode mudarmas tem que terminar com .reg, no prompt do DOS execute;

regedit -s \\caminho\proxyon.reg

Desfazer a configuração, crie o proxyoff.reg com este conteúdo;

REGEDIT4 [HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings] "ProxyEnable"=dword:00000000 "ProxyServer"=" " "ProxyOverride"="<local>"

no prompt do DOS execute; regedit -s \\caminho\proxyoff.reg

Não precisa reiniciar Windows, precisa fechar todas as janelas do I.E. e abrir

Page 17: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

17 de 26 06/08/2010 00:48

novamente.

Não exibe a configuração em propriedades do navegador, fica tudo transparente.

Duplo clique sobre o arquivo tem o mesmo resultado, optei pelo exemplo acimaporque serve para executar na linha de comando (prompt do DOS), incluir nologon script do Samba.

Considere incluir no iniciar, login script do Samba ou outro metodo de execuçãoautomatica, com um servidor DHCP fornecendo IP e gateway, não precisaconfigurar nada nas estações win98

wget, lynx e outros clientes sem config própria.

Alguns serviços como wget, lynx, e outros serviços que também acessam a netpela porta 80 e não tem opção para configurar o proxy, eles utilizam aconfiguração do sistema, a configuração de proxy é diferente, portanto precisaconfigurar no sistema e não no serviço que vai usar, formato da linha de comandopara configurar proxy para wget, lynx e outros.

export http_proxy=http://ip.do.proxy:porta-do-proxy

Exemplo da linha de comando que libera estações para acesso à internetcompartilhada com proxy Squid, onde o servidor tem o IP 192.168.1.2 e todo otrafego é redirecionado para a porta 3128, nos navegadores deve utilizar comoservidor proxy 192.168.1.2 porta 3128, para wget e lynx acessarem a internetnesta mesma rede, o comando fica assim:

export http_proxy=http://192.168.1.2:3128

Ajuste o IP e porta para sua rede, 192.168.1.2 é meu gateway, IP da maquina queroda Squid.

Após o comando, teste a navegação ou download, navegar com lynx, execute.

lynx http://www.zago.eti.br/comandos.txt

Donload com wget

wget http://www.zago.eti.br/comandos.txt

Use também a dupla "vi" + lynx, converte páginas da web para texto limpodiretamente no editor "vi", aproveite e faça o teste, dentro do editor "vi" em modocomando, cole esta linha:

:r !lynx -dump http://200.204.198.164/zago/comandos.txt

Ou importe este documento que voce está lendo, limpinho, sem nada de HTML

Page 18: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

18 de 26 06/08/2010 00:48

dentro do editor "vi".

:r !lynx -dump http://www.zago.eti.br/squid/dicas-e-truques.html

Esta configuração de proxy se perderá quando desligar a maquina, para tornarpermanente precisa incluir nos arquivos de configuração do sistema, podeconfigurar para todos usuários da maquina ou somente para usuários específicos.

Configuração permanente e restrita a alguns usuários, insira a linha de comandono .bash_profile dos usuários, basta editar o arquivo .bash_profile que fica nohome do usuário e acrescentar após a ultima linha:

export http_proxy=http://192.168.1.2:3128

Pronto, automatizado a execução desta linha no login do usuário.

Configurando para todos os logins nesta maquina, acrescente no final do arquivo/etc/profile, use o um editor pra acrescentar a linha:

export http_proxy=http://192.168.1.2:3128

Ou da maneira mais simples:

echo "export http_proxy=http://192.168.1.2:3128" >> /etc/profile

A partir do próximo boot da maquina a configuração do proxy já vemconfigurado para wget, lynx e demais serviços que pegam os dados do proxy navariável de ambiente, quando optar pelo /etc/profile valerá para todos os usuários,portanto não precisa incluir no .bash_profile dos usuários

apt-get, smart e proxy autenticado

APT-GET Somente pra maquinas atrás de proxy squid.... no CL basta copiar ecolar esta linha no shell:

echo 'Acquire::HTTP::proxy "http://192.168.1.2:3128";' >> /etc/apt/apt.conf

Ajuste o IP e porta para sua rede, 192.168.1.2 é meu gateway, IP da maquina queroda Squid.

Não precisa fazer alterações no squid.

Fazer NAT também para FTP precisa incluir no firewall os modulos:

modprobe ip_conntrack_ftp modprobe ip_nat_ftp modprobe iptable_nat

Com autenticação.

Page 19: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

19 de 26 06/08/2010 00:48

Com proxy autenticado, quando requer senha para acessar internet, precisa liberarpor usuário, pra informar login e senha, coloque no arquivo /etc/apt/apt.conf,normalmente ele está vazio, caso não existir pode criar, dentro dele coloque alinha neste formato:

Acquire::HTTP::proxy "http://usuario:[email protected]:3128/; Acquire::HTTP::proxy "http://zago:[email protected]:3128;

Variavel de ambiente.

Como variavel de ambiente, pra usar somente na sessão atual, precisa executar noshell toda vez que for usar, pode digitar ou copiar e colar, colocar dentro de umscript, vale também colocar no .bashrc do root ou outro meio qualquer que possacomandar a execução, precisa criar duas variáveis de ambiente, elas valemsomente até reiniciar a maquina, veja exemplo:

export ftp_proxy=http://usuario:[email protected]:3128 export http_proxy=http://usuario:[email protected]:3128

Pra conferir, ver o conteúdo da variavel:

echo $ftp_proxy echo $http_proxy

Caso não funcione com apt-get, procure por proxy no FAQ sobre apt,pesquise emhttp://www.zago.eti.br/apt.txt

Veja também as regras de firewall que podem bloquear portas ou asaida da conexão.

BitTorrent atrás de servidor proxy, procure por proxy neste FAQ:http://www.zago.eti.br/bittorrent.txt

Smart - Veja exemplos no FAQhttp://www.zago.eti.br/smart-dicas.htmlhttp://www.zago.eti.br/smart.txt

smart config --set http-proxy=<seu-proxy>

ACL - ManutençãoACL - Manutenção, alterações nas ACL, incluir, excluir ou alterar palavras debloqueio e etc....

Page 20: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

20 de 26 06/08/2010 00:48

Acompanhe os logs ou relatorios do sarg, quando encontrar sites sendobloqueados ou liberados indevidamente basta fazer a correção no arquivo quecontém as palavras, use qualquer editor de texto puro, por exemplo "vim", apóssalvar o arquivo, pra recarregar o squid execute:

squid -k reconfigure

ou

service squid reload

Não precisa parar e reiniciar o squid.

Pra muitas alterações, faça duas conexões via ssh, torne root, alterne entre osterminais, um pra fazer alterações e outro para acompanhar os logs em temporeal, execute:

tail -f /var/log/squid/access.log

Na outra conexão vá pro diretório /etc/squid, pra fazer alterações edite o arquivodesejado, salve e recarregue o squid com (squid -k reconfigure), volte ao terminaldos logs e continue acompanhado.

O ideal é editar o arquivo e acrescentar as palavras em ordem alfabetica, facilita aorganização e manutenção.

Zerar configurações, limpar cache

Limpar cache - reiniciar processo - solução deproblemas.

OBS. Dica para aplicar em instalação que parou de funcionar, Squid que nãoinicia ou morre alguns segundos após iniciar, a provável causa pode ser algumarquivo travado, erro no cache ou algum arquivo de dados, zerando estesarquivos, volta à condição inicial como funcionava na instalação, esta dica nãoresolve erros nem falhas de configuração ou hardware.

Agora tente parar e reiniciar o serviço, na maioria das vezes vai resolver oproblema, caso persista, então resta a força bruta (radicalismo), apague tudo erecrie novamente, deve existir outras formas, utilizo a recurso acima quando falhasigo a dica passada pelo Anderson [email protected], em varioscasos que a opção acima falhou, a dica abaixo funcionou, tenho até um resumo nofinal pra copiar e colar, veja que funciona na minha instalação do CL10, pode nãoservir pra tua instalação que pode ter nomes de arquivos e diretórios diferentes,

Page 21: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

21 de 26 06/08/2010 00:48

procure pelo equivalente na sua instalação.

Tem que funcionar porque zera tudo, caso persista o problema, tente voltar acopia de um squid.conf e ACL que funcionavam antes das alterações, verifique oespaço em disco, hardware, processos e use a intuição pra descobrir a causa doproblema.

Antes de aplicar os procedimentos abaixo, pare todos os processos do squid,verifique se ainda tem algum processo rodando

``ps -aux | grep squid ``

Para solucionar o problema, proceda assim:

remova o diretório /var/spool/squid rm -rf /var/spool/squid

recrie novamente mkdir squid

Libere a permissão chmod -R 777 squid

Copie os arquivos de log para outro diretório, mova ou renomeie, exemplo paramover os logs para /tmp, execute:

mkdir /tmp/squidlog mv /var/log/squid/* /tmp/squidlog

Caso não precise dos logs pode remover tudo que estiver em: /var/log/squid/

rm -rf /var/log/squid/*

Recrie o arquivo access.log

touch /var/log/squid/access.log

Libera geral ou seu modo:

chmod 777 access.log

inicie o squid, demora um pouco, deve voltar a funcionar normalmente, faça umteste, veja o status.

service squid start

Ou em uma tacaca só, resumo dos comandos (copiar e colar), colinha do zago eAnderson.

Neste exemplo, todos os logs serão movido para /tmp.

Instalação com cache em /var/spool/squid e log em /var/log/squid:

Page 22: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

22 de 26 06/08/2010 00:48

service squid stop mkdir /tmp/squidlog-`date +%d.%b.%Y-%H-%M` mv /var/log/squid/* /tmp/squidlog-`date +%d.%b.%Y-%H-%M` rm -rf /var/spool/squid mkdir /var/spool/squid chmod -R 777 /var/spool/squid rm -rf /var/log/squid/* touch /var/log/squid/access.log chmod 777 /var/log/squid/access.log squid -z service squid start

Instalação com cache em /var/cache/squid e log em /var/log/squid:

service squid stop mkdir /tmp/squidlog-`date +%d.%b.%Y-%H-%M` mv /var/log/squid/* /tmp/squidlog-`date +%d.%b.%Y-%H-%M` rm -rf /var/log/squid/* rm -rf /var/cache/squid mkdir /var/cache/squid touch /var/log/squid/access.log chmod 777 /var/log/squid/access.log chown proxy.proxy /var/cache/squid chgrp proxy /var/cache/squid chmod 777 /var/log/squid/access.log chown proxy.proxy /var/log/squid/access.log chgrp proxy /var/log/squid squid -z service squid start

Opção para zerar somente o cache, apagar e recriar somente o cache:

service squid stop rm -rf /var/spool/squid/* squid -z service squid start

CUPS e servidor web internoACL para liberar acesso ao servidor web interno (CUPS, Apache e etc...).

Sempre que possível, mantenho um servidor web interno para disponibilizaros pacotes mais utilizados, tais como OpenOffice, Firefox, ClamWIN eoutros pacotes que consomem muito download, mantenho este servidoratualizado como um mirror, isto agiliza o download pelas estações eeconomiza banda, veja em:http://www.zago.eti.br/apache.txt

Page 23: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

23 de 26 06/08/2010 00:48

Liberar o acesso a este servidor e aos servidores CUPS (servidor deimpressão) precisa criar uma acl para liberar o acesso à maquinas darede interna, exemplo de acl para acrescentar no squid.conf:

acl ipinterno dst 192.168.1.0/24 http_access allow ipinterno all

Neste exemplo, libera todos os servidores interno para todas asestações, servidores web, cups e etc.., caso queira liberar somente umservidor, por exemplo, liberar somente o servidor web que está no IP192.168.1.3:

acl ipinterno dst 192.168.1.3/32 http_access allow ipinterno all

Liberar o acesso a servidor CUPS, precisa incluir a porta 631 na "aclSafe_ports ", exemplo no squid.conf que libera a porta 631:

acl Safe_ports port 80 21 443 563 631 70 210 1863 1025-65535

Não imprime com proxy habilitado no I.E. Estação com win98 nãoimprime na impressora compartilhada pelo CUPS, quando habilita oproxy no I.E perde a impressão, envia e nada acontece, removendo asconfigurações de proxy a estação imprime sem problema algum.Enquanto não descubro a solução estou contornando o problema com aseguinte solução; deixe o I.E sem configurações de proxy e use oFirefox com proxy configurado para navegar, desta forma a estaçãoimprime normalmente.

Remover comentarios do arquivo deconfiguração

Limpar arquivo de configuração, retirar todos os comentarios e linhas em brandodo squid.conf, isto é opcional, mas é prático pra enviar o arquivo de configuraçãopara outras pessoas analizarem, as duas linhas de comando abaixo estão prontaspara copiar e colar, para evitar acidentes e subrescrever o squid.conf, faça cópiapara outro local, no exemplo abaixo, a primeira linha faz copia do squid.conf para/tmp, a segunda limpa o arquivo e salva o resultado em /tmp/squid.conf-limpo.

cp /etc/squid/squid.conf /tmp/squid.conf-comentado egrep -v "^#|^$" /tmp/squid.conf-comentado > /tmp/squid.conf-limpo

Comparar dois squid.conf e salvar as diferenças entre eles em /tmp/squidif (altereo caminho e nome dos arquivos)

Page 24: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

24 de 26 06/08/2010 00:48

egrep -v "^#|^$" /etc/squid/squid.conf > /tmp/squid1 egrep -v "^#|^$" /etc/squid/squid.confori > /tmp/squid2 diff -y --suppress-common-lines /tmp/squid1 /tmp/squid2 | tr -d '\011' > /tmp/squiddif less -Nis /tmp/squiddif

Controle de IP na redeControlar maquinas por IP pode não ser eficiente, quando os usuáriosdescobrirem que podem trocar o IP pra fugir das regras voce perderá o controle.

Uma solução é centralizar tudo em um servidor de DHCP pra fornecer o IP prasestações, pra melhorar a eficiencia, amarre o IP ao MAC-ADRESS da placa derede, este servidor de DHCP pode ser configurado pra fornecer além do IP,também o DNS e gateway da rede, isto poupa o trabalho de configuração dasestações e centraliza tudo em um só lugar, pra saber mais sobre DHCP veja:

http://www.zago.eti.br/dhcpd.txthttp://www.zago.eti.br/pluguse.txt

veja também regras de iptables pelo MAC-ADRESS em:http://www.zago.eti.br/firewall/iptables-mac.txt

Bloqueio de BannersProtegendo usuários com antivírusAutenticando usuáriosControle de BandaUsando ACLs externasMAC AddressTags da seção Access Control Liststipos de aclRelatorios e muito mais, acesse:

http://www.linuxman.pro.br/squid/

Formato e manipulação de data nolog.

No inicio da linha de log do Squid aparece um numero semelhante a:1085173079.594

Este numero representa a data e hora no formato Unix, converter para horahumana, por exemplo, 1085173079.594, o que vem depois do ponto são milesimosde sengundos que não interessa na data, mesmo porque não usamos este formato

Page 25: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

25 de 26 06/08/2010 00:48

de tempo, portanto elimine o ponto e o que vem depois dele, o formato da linhade comando é este: date --date='1/1/1970 + <UNIXTIME> seconds', para converter adata 1085173079.594, execute esta linha de comando:

date --date='1/1/1970 + 1085173079 seconds'

Veja o resultado:

zago@faqcl9$ date --date='1/1/1970 + 1085173079 seconds'Sex Mai 21 20:57:59 UTC 2004

Caso ocorra uma diferença de 3 horas é problema com a configuraçãodo locale, no Brasil são 3 horas a menos do que o GMT, acerte isto nasconfigurações de fuso horario.

Exemplo em perl, data 1085173079.594 no formato Linux (unix),converter para o formato humano

perl -e "print scalar localtime(shift||1085173079.594)"

Retorna;

[zago@faqcl10 zago]$ perl -e "print scalar localtime(shift||1085173079.594)" Fri May 21 20:57:59 2004

Veja mais sobre data no FAQ

http://www.zago.eti.br/data.txt

Problemas no acesso ao Hotmail + I.E. + Squid.

Algumas estações windows não acessam o Hotmail, tem algo a ver com a versãodo I.E, outros navegadores como Firefox acessa sem prolemas, caso o problemaseja somente com I.E. pra acessar o Hotmail. então faça esta alteração no teusquid.conf

Adicione no squid.conf as linhas:

acl hotmail_domains dstdomain .hotmail.msn.com header_access Accept-Encoding deny hotmail_domains

recarregue o squid com: squid -k reconfigure

Prontinho, as estações windows com I.E. passam acessar o hotmail passando peloSquid.

Page 26: 55111430 Squid Dicas Script Modelos e Comandos Na Manutencao de s (1)

Squid - Dicas - script, modelos e comandos na manutenção de servido... http://www.zago.eti.br/squid/dicas-e-truques.html

26 de 26 06/08/2010 00:48

Solução indicada pelo colega [email protected]

Indicações:Tirar anuncios atraves do squid,veja que legalhttp://www.linuxdicas.com.br/article678.html

Página principal sobre Squid, indicações, FAQ, tutoriais, modelos deconfiguração, squid.conf, modelos de acl e mais dicas em:http://www.zago.eti.br/squid/A-menu-squid.html

Página principal sobre Firewall - iptableshttp://www.zago.eti.br/firewall/A-menu-firewall.html

Página principal deste site (FAQ)http://www.zago.eti.br/menu.html