Eclipse Modo Coluna

29/01/2010

Incrível descoberta ontem. É daquelas coisas que você fica pensando “Putz, onde eu estive este tempo todo?”. O negócio é o seguinte:

O Eclipse tem uma feature chamada Block Selection Mode, ativada pelo atalho Alt+Shift+A. Este modo é conhecido em outros editores como Column Mode ou Visual Mode. É o Alt+C do UltraEdit (campeão no quesito até esta data), Alt+C do Notepad++ e o V do vi.

eclipse-tip-block-selection-mode

Procurando no Google por “eclipse column mode”, achei esta dica ontem: http://www.vasanth.in/2009/03/31/eclipse-tip-block-selection-mode/ no blog desse rapaz chamado Vasanth Dharmaraj. Já existe há um bom tempo.

O modo de edição por colunas é útil para várias coisas. Entre as que mais uso estão programar (copiar listas de literais), editar planilhas em CSV, gerar instruções SQL (a partir de um CSV), extrair porções de arquivos de log. Agora, dá para fazer tudo no Eclipse.

Por sinal, o Vasanth Dharmaraj também é fã de Formula 1. Postou esta semana sobre o lançamento do carro novo da Ferrari, o F10. Tinha postado também em 2004, sobre o carro daquele ano.

Lullabies

24/01/2010

Se você parar um segundo, olhar janela afora, e tiver certeza que tem um momento iluminado. Se, mesmo assim, não atingir uma forma para demonstrar o sentimento ao mundo. Se, mesmo assim, tudo que lhe vem à boca é um sorriso de canto. Seu olhar evita o que não é a infinidade do horizonte. Se, mesmo assim, lhe sobe o peito a sensação de que o mundo existe e é bom viver. Se isso lhe passa às vezes, acho que podemos concluir: o mundo existe e é bom viver.

Travessia Caiobá - Praia Mansa - Resultado

18/01/2010

Saiu o resultado da 7ª Travessia de Caiobá, que ocorreu ontem, 18/jan/2010, na Praia Mansa.

Uma maravilha. Fiz os 1500 metros em 40 minutos, o que me colocou no seleto grupo dos Top 100. Especificamente, fiquei em 95º lugar entre 121 inscritos. O primeiro lugar fez em 22 minutos.

O importante é a festa de participar, ainda mais com a família e os amigos presentes para prestigiar. Além disso, serve sempre como um estímulo para continuar praticando.

Resultado geral aqui:
http://www.triativaeventos.com.br/news/mostra.php?id=676

HDR no GIMP

02/01/2010

Fiz meu primeiro teste com fotos HDR (High Dynamic Range). Usei o GIMP e este tutorial com nome sugestivo: Fotos HDR com o GIMP. O assunto da foto é a esquina da Fernando Simas com a Martin Afonso, no primeiro feriado de 2010.

Tirei três fotos: uma com a exposição normal, uma com dois f-stops acima e outra com dois f-stops abaixo. Depois, fiz a composição das imagens no GIMP. As imagens a seguir são a original e a HDR final. Ambas com um pós-tratamento de níveis.

Imagem original - Fernando Simas x Martin AfonsoImagem original - Fernando Simas x Martin Afonso.

Imagem HDR - Fernando Simas x Martin AfonsoImagem HDR - Fernando Simas x Martin Afonso

Dá para notar algumas características do HDR, como cores mais vivas e saltadas. Não usei o tripé direito, então a imagem ficou borradinha - prometo melhorar. Dá para ver dois carros, que só estavam passando no momento de uma das fotos e também duas pessoas, em frente ao portão do lavacar.

A principal diferença no resultado é a amplitude de exposição. Na imagem HDR, consegue-se ver mais vivas as cores atrás do muro (canto inferior esquerdo) e das folhas da árvore em primeiro plano. Estas ficam subexpostas na foto original. E isso não faz com que as partes claras fiquem superexpostas, como a faixa de pedestres na imagem original.

Para exemplos profissa de HDR, dê uma olhada no site do Eduardo.

Travessia Represa do Capivari

10/12/2009

Acontece no dia 20 de dezembro a IV Travessia da Represa do Capivari, organizada pela Triativa Eventos. As provas são de 3.000 m, 1.500 m e 750 m (estreantes). Há também categorias PPNE (necessidades especiais) e kids.


Exibir mapa ampliado

Este que vos escreve vai participar pela primeira vez de uma travessia. Quem mais estiver a fim de encarar, me dê um toque que montamos uma caravana. A inscrição custa R$ 45,00 e pode ser feita por depósito bancário. Mais instruções no site da Triativa.

Tenha uma senha forte no email

14/11/2009

O acesso a seu email é algo importante. Através dele, outras pessoas poderiam alterar sua senha em sites e acessá-los com sua conta. Além de, é claro, ler todos os seus email. Mesmo se privacidade não for um problema para você, talvez haja outras informações confidenciais em seu email que não devam estar acessíveis a outros (dados bancários, login do Paypal), entre diversos outros assuntos sobre os quais você trocou informações nos últimos tempos.

“Últimos tempos” pode ser bastante. Desde quando você tem seu email? Dois anos, cinco anos? Dez anos!? Se você tem Gmail, por exemplo, e usa a facilidade “Arquivar”, deve haver coisa lá do tempo em que você era atleticano, depois virou coxa e agora tá com uma quedinha pelo Paraná.

Deve haver coisas no seu email do tempo em que você nem entendia direito como isso funcionava. Respondia spams com “Por favor, retire-me de sua lista”. Assinava diversas listas de discussão. Usava o Eudora e não tinha idéia da diferença entre CC e BCC.

A idéia nem era despertar nostalgia. É que hoje troquei a senha do meu email. Era a mesma desde que peguei esse email do Yahoo!. A do Gmail também. Troquei as duas. Fiquei pensando na hipótese de alguém se apossar da senha do meu email. Não seria o fim do mundo, mas  se o indivíduo estivesse a fim de bagunçar, iria me dar um trabalho danado. Imagine que o cara pode ir a qualquer site desses mais famosos, colocar meu email e clicar “esqueci minha senha”. No máximo, teria que responder alguma pergunta boba como “qual sua cor preferida?” e receberia uma senha na bandeja no meu (agora dele) email.

Segurança email

Assim, resolvi colocar uma senha um pouco melhor para tentar diminiur a chance disso acontecer. E por que não aproveitar e lembrar aos amigos da importância de uma senha forte no email?

Ah, e cuidado ao trocar a senha, né. Não vá fazer isso no impulso e trocar para uma parada bizarra que você não vai lembrar depois. Uma das maneiras mais fáceis de se obter uma senha forte é:

  1. Pense em um verso que você gosta. Um trecho de música serve perfeitamente, em português ou inglês. Por exemplo: “Para dançar o créu tem que ter habilidade”.
  2. Pegue as inicias. Neste caso: pdoctqth49 .
  3. Concatene um ou dois números pdoctqth49 . Para lembrar melhor, podem ser seu dia, mês ou ano de nascimento.
  4. Como pitada final, coloque um caracter especial !@#$%?. No fim temos algo como pdoctqth49@ .

Pode parecer difícil no começo, mas em pouco tempo você se acostuma a digitar a senha e sempre vai tê-la na cabeça.

Outra técnica boa é levar em conta o layout do teclado qwerty. Isso fará você digitar senhas com uma rapidez absurda, evitando que olhos grandes fiquem de botuca no seu dedo enquanto digita. A idéia é alternar entre letras da parte extrema direita e extrema esquerda do teclado. Poderíamos pensar em algo como zkqp!9 .

É isso: mantenha uma senha forte em seu email. E não a use em nenhum outro site. Sites mal feitos podem expor sua senha ou mesmo fazer uso dela, pois seu email eles já têm.

Nova loja da Prata Fina na Internet

04/10/2009

Depois de um ano de concepção, projeto e desenvolvimento, está no ar o novo site da Prata Fina. Feito pela Polvo, o e-commerce já está em pleno funcionamento, com clientes comprando e opinando a todo vapor.

A idéia foi desenvolver um site extensível e totalmente administrável pelo cliente. Temos ainda diversas idéias para implementar, muita interação e vivacidade no site. Espere para ver.

Dê uma passadinha lá para conferir. São alianças de compromisso, brincos de prata, joias de aço e diversas outras cositas. Depois de tanto tempo convivendo com as peças de prata, posso até dar umas dicas. ;-)

Jogo Fórmula 1 2009 - Trailer real

07/09/2009

No último mês, a CodeMasters lançou o trailer com o gameplay do jogo FORMULA ONE 2009 para WII. O vídeo mostra uma corrida no circuito de rua de Valência, na Espanha, e pode ser visto no YouTube:

Os gráficos parecem seguir o estilo WII: simples porém bem acabados. O trailer mostra pouco da jogabilidade, mas já se pode ver a tela dividida, onde dois jogadores poderão correr simultaneamente.

Junto com o trailer, foi anunciada também a edição limitada de um volante para WII estilo F1. A data de lançamento, que antes era divulgada como 30 de setembro, parece ter sido postergada para 27 de novembro. Vai ser estranho lançar o jogo F1 2009 após o fim da temporada. O último grande prêmio deste ano é dia 1o de novembro, em Abu Dabi, nos Emirados Árabes Unidos.

Caixa do jogo Formula 1 2009 para WII, com acessório volante

Outras vezes que falamos sobre isso:

BrOffice.org 3.1 com Acordo Ortográfico

20/08/2009

Não estou por dentro de como está a relação do MS Word com o novo acordo ortográfico, mas instalei hoje o BrOffice.org 3.1 e ele já se ofereceu para trazer junto o corretor que segue as normas do Acordo Ortográfico de 1990, aka “Novo Acordo Ortográfico”.

Ideia

Ainda não tive a capacidade de me adaptar, principalmente em relação aos hífens, assunto que já não dominava antes da recente revolução. O corretor é uma boa ajuda.

Melhorando a recepção wi-fi no laptop

19/08/2009

Wi-Fi logo

Talvez esta estratégia funcione para qualquer placa, talvez tenha funcionado para mim por coincidência. Mesmo assim, fica a dica:

No Windows, vá a Conexões de Rede / Propriedades da conexão sem fio. Ao lado do nome da placa, clique em “Configurar…”. Cada placa tem suas próprias configurações específicas, mas normalmente estão bem documentadas. Na minha, uma Intel(R) PRO/Wireless 2200BG, fiz duas alterações:

  • Power management - tirei do default e coloquei “Highest”, que teoricamente significa máxima performance, desprezando economia (em meu laptop velho, bateria não é mais uma realidade).
  • Mixed mode operation - tirei do default e coloquei “RTS/CTS enabled”. Pelo que entendi, isso daria melhor rendimento em caso de clientes que “não conseguem se ouvir”. No meu caso, o laptop só estava funcionando em wi-fi quando perto do access point.

Posso estar completamente enganado, posso estar correndo para o lado errado, mas a dúvida é o preço da pureza e é inútil ter certeza. Agora, o laptop voltou a encontrar a rede, mesmo longe do access point.

Comandos em Ação - Nostalgia

06/08/2009

Está sendo lançado o filme “G.I. Joe: A Origem de Cobra”. Para quem passou a infância na década de 80, isso deve invocar uma nostalgia muito boa. Eram aqui os “Comandos em Ação”.

O artigo G.I. Joe da Wikipédia em português lista os nomes dos bonecos por data de lançamento no Brasil. Quando li “escafandrista”, cheguei a sentir um arrepio. Lembro que esse era um dos bonecos que eu tinha e foi instrumento para muitas brincadeiras. Ele vinha com um veículo sub-aquático parecido com um aviãozinho: o Turbo-submarino. Pelo que me lembro, havia várias batalhas entre os “hominhos” Comandos e a galerinha do Forte Apache (aqueles índios e soldados estáticos nas plataformas).

Outro importante componente de nossa Força era o Tanque Lança-Foguete:

lanca

Como outros veículos terrestres, dava para tirar os painéis que cobriam a carenagem, revelando os motores. Tinha também o jipe:

jipe

Meu irmão tinha o Super Caça-bombardeiro que era o máximo:

3658417098_54742ab583

Era um F-14 Tomcat, que tinha asas retráteis e vinha com um “para-quedas de verdade”. Os brinquedos tinham um nível de detalhe muito bom, pois eram práticos para brincar e ao mesmo tempo cheios de recursos realistas.

No Flickr, tem as fotos originais e outras mais, de um cara chamado André Castilho. Tem também um site chamado Yo Joe Brazil, com um guia completíssimo de bonecos e veículos.

E não posso esquecer de mencionar mais uma aeronave de nova esquadrilha: o Tigre Caça-bombardeiro.

tigre

É um A-10 Thunderbolt pintado com camuflagem de tigre e com torreta de metralhadora. Este marcou sua geração e perdurou: ainda é uma presença constante na casa da minha mãe, agora nas mãos do meu sobrinho.

Ponto de vista brasileiro em Cabul

20/07/2009

A jornalista Patricia Campos Mello, do Estadão, está no Afeganistão com as tropas americanas. Aparentemente, é a primeira vez que assume uma missão desse estilo e os primeiros relatos no blog contam sobre como chegou lá e suas primeiras impressões:

Jogo Formula 1 2009 - Data de lançamento

15/07/2009

Este tem sido um tema popular: o tão esperado jogo Formula 1 2009, oficial da FIA. Uma boa novidade é que a página da Amazon UK já está fazendo pré-venda:

Conforme a página do Formula 1 2009 (Wii) na Amazon UK, o lançamento anunciado é 30 de setembro. Infelizmente, no site empresa que desenvolve o jogo, a Codemasters, não há nada além de um teaser jacu.

Capa do Jogo Formula 1 2009 da FIA

Creio que o seguinte trecho do artigo da Wikipédia explica tamanha procura por informações sobre o jogo:

“This is the first time since EA’s F1 Challenge ‘99-’02 that a F1 game has been on multiple platforms, as Sony previously held the rights to F1 and only released games on their own platforms; PlayStation 2, PlayStation Portable and PlayStation 3.”

Típico.

***

Hmmm, este artigo inaugura uma tendência que estou tentando lançar na WWW: posts de blog com imagens. Aparentemente, é uma tecnologia já conhecida de alguns, mas que promete arrebentar em 2010. Só preciso que alguém me ensine como alinhar a figura no meio da página.

***

Maravilha, consegui centralizar. Aparentemente, o sujeito que fez o tema original do Wordpress fez uma classe CSS chamada “centered”, que basta você botar no img. O que é o estudo…

***

Nossa, percebi agora que o menu lateral do site não está legal no IE. Tá certo que um usuário IE só é público-alvo de propaganda do Carnê do Baú, mas vou tentar ver isso em breve.

***

Legal, consertei. Cascading Style Sheets. De fato, é um bom nome para alguma coisa.

Flight of the Conchords

07/06/2009

Adoramos muito tudo isso.

Murray: [To Jemaine] I’ve told you. When you are in a band, you don’t get with your bandmate’s girlfriend. Past or present.
Jemaine: Yes, well, thanks for that.
Murray: You get a love triangle, you know, a Fleetwood Mac situation. Although there was four of them, so more of a love square. But you know, no-one gets on.
Jemaine: Ok, I see.
Murray: Mind you, they did make some of their best music back then.
Bret: Rumours.
Murray: No. No, it’s all true.

Salário de funcionário público sobe 8 vezes mais

14/05/2009

Sobe mais que o quê?

De acordo com um artigo do Estadão desta semana, os sálários dos servidores executivos federais subiram 74,2% no período de dezembro de 2002 a fevereiro de 2009. Em comparação, na iniciativa privada, o aumento foi de 8,7%. Os cálculos descontam a inflação do período.

Apesar do governo atual favorecer este tipo de índice, é uma tendência que também não conseguiu ser evitada pela gestão anterior. Do fim de 1995 ao fim de 2002, o trabalhador do setor privado teve uma queda de 2,4% na renda real. O servidor público do poder público teve aumento de 16,8% no Executivo, 8,7% no Legislativo e 57,3% no Judiciário.

Algum dos dois setores está bastante fora da realidade.

Quis custodiet ipsos custodes? Talvez não seja a minha desinteressada geração, mas ainda acredito.

Novo jogo de Fórmula 1 2009 - oficial da FIA

09/05/2009

Ótima notícia para os fãs de jogos de corrida: o novo game de F-1 da FIA deve sair no segundo semestre do ano. A notícia está no site oficial da FIA e parece ser confiável. As primeiras versões devem ser para Wii e PSP.

De acordo com o artigo, o jogo F1 2009 terá a corrida noturna em Singapura, pneus slick e KERS. Na versão do Wii, haverá opção multiplayer com tela dividida, competitivo ou cooperativo. A versão PSP terá multiplayer por wireless. Em 2010, a Codemasters, empresa que desenvolve o jogo, prometeu versões para PS3, Xbox 360 e PC.

Nada mal, soa muito divertido! Agora, é esperar.

***

Atualização: coloquei mais comentários sobre o jogo aqui neste post mais recente.

Calculador de Prestações

07/05/2009

Seguindo o projeto Traquitanas, fiz uma ferramentinha para calcular prestações mensais, dados o valor de financiamento, o período e a taxa de juros. As prestações podem ser fixas ou variáveis.

Quero ver se aprendo a fazer e coloco também tabela SAC e Price, além de encargos.

Calculador de Rendimentos

22/04/2009

Dias atrás, precisei fazer algumas avaliações do rendimento de aplicações financeiras e não achei um jeito simples e prático na Internet. Posso ter procurado mal, mas encontrei apenas planilhas e tabelas que eram ou muito complexas, ou extra-simplificadas. Nada com a cara que eu procurava. Os próprios simuladores dos bancos deixam muito a desejar no quesito usabilidade. A melhor opção encontrada foi uma planilha Excel para download, mas não era muito personalizável. Além disso, convenhamos, em pleno ano 2000, ter que baixar uma planilha para fazer um cálculo desses não é o que se espera.

Dado isso, na casa de ferreiro, fiz meu próprio calculador de rendimentos, do jeito que imaginava, com os parâmetros que queria, inflação, administração, aportes periódicos, etc. É bem fácil de usar, dê uma olhada. Não sou economista, portanto sugestões e críticas são bem-vindas.

Ainda aproveitei para criar uma nova seção no subterfugios.net: Traquitanas. Coloquei até um linkzinho ali do lado direito do blog. Espero que surjam mais brinquedinhos no futuro.

Debugando o mod_rewrite com logs

Para habilitar o log do mod_rewrite, use as diretivas RewriteLog e RewriteLogLevel no httpd.conf do seu Apache:

RewriteEngine On
RewriteLog C:\dev\Apache2.2\logs\rewrite.log
RewriteLogLevel 3

Pode lhe salvar um bom tempo lutando contra redirects e rewrites.

Proxy Transparente com Ubuntu

11/01/2009

Apresento a seguir alguns passos para se configurar um proxy transparente com o Ubuntu. O objetivo é ter um ponto de monitoração das requisições à Internet feitas a partir dos computadores da rede doméstica. Não se trata de uma arquitetura de rede no estado-da-arte em segurança, principalmente em relação a ataques internos, mas estes não são uma grande preocupação no momento. Não tive custos em equipamentos adicionais, pois usei uma máquina antiga.

A rede que temos em casa é típica: um roteador wireless Linksys WRT54G atrás de um cable modem com Vírtua. Os computadores conectam-se ao roteador por cabo ou rede wireless, e usam o servidor DHCP do próprio roteador.

Olhando assim, já se tinha o ponto único de acesso à Internet: o WRT54G. Mas, apesar de ser um roteador doméstico espetacular, as funcionalidades de filtro, logging e monitoração são limitadas. Assim, a idéia foi usar um computador antigo como roteador, antes de passar pelo WRT54G. Estando configurado como um roteador, o PC poderia fazer análise, filtro e monitoração dos acessos.

Nesta configuração, usei um computador antigo com as seguintes características:

  • AMD Duron 1.8 MHz
  • 256 MB de RAM
  • ASUS A7V266-M
  • 80 GB de HD
  • Uma placa de rede, ligada ao roteador WRT54G.

Instalei o Ubuntu Server 8.10 Intrepid. Após a instalação, baixei o pacote xubuntu-desktop pelo apt-get para poder usar os recursos básicos de GUI. Após a instalação, removi o teclado e o mouse, deixando apenas os cabos de rede e de força. Evita-se assim mais fios emaranhados pela casa, e os acessos são feitos por ssh -X.

IP Fixo no Roteador

O primeiro passo é configurar o IP fixo do servidor. O NetworkManager deu um certo trabalho então configurei manualmente, no /etc/network/interfaces:

auto eth0
iface eth0 inet static
address 192.168.1.50
gateway 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

Minha rede local é 192.168.1.X. O final 50 é o IP do roteador, cujo hostname é nets.O gateway padrão é o WRT54G (IP final 1).

É preciso configurar também o servidor DNS a ser usado pelo nets, no arquivo /etc/resolv.conf. Uso o proprio WRT54G:

joao@nets:/etc$ cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.1.1

O NetworkManager é meio metido a besta e às vezes sobrescreve o resolv.conf. Depois de um reboot, ele sobrescreveu o meu. Alterei manualmente novamente, rebootei e o NM não mexeu mais nele.

Neste ponto, estamos acessando a Internet normalmente a partir do nets.

Servidor DNS

O próximo passo é instalar o servidor DNS no nets. Isto não é realmente necessário para o meu setup, pois poderia usar o próprio WRT54G como servidor DNS. Mas, se, quem sabe, no futuro, desejar-se fazer uma DMZ, já temos um DNS na rede interna, que apenas delega as requisições para o WRT54G.

No Ubuntu, basta instalar o Bind:

sudo apt-get install bind9

Não precisei alterar nenhuma configuração e ele já saiu funcionando, delegando as requisições para o DNS server do /etc/resolv.conf. Para testar, pode usar o nslookup a partir de outro computador, digitando ’server 192.168.1.50′ e depois consultando um domínio.

Servidor DHCP

A idéia principal da configuração do roteador no nets é que os computadores que usam DHCP tenham seu gateway configurado para o próprio nets. Então, desabilitei o servidor DHCP no WRT54G e instalei um no nets, que vai distribuir os IPs na rede, assim como as configurações de gateway e DNS. Para instalar o servidor DHCP, podemos usar:

sudo apt-get install dhcp3-server

O arquivo de configuração principal é o /etc/dhcp/dhcpd.conf, no qual fiz as seguintes alterações:

# Comentar as isto, para evitar configurações globais
#option domain-name "example.org";
#option domain-name-servers ns1.example.org, ns2.example.org;
...
# Descomentar e alterar a configuração da seguinte rede:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.150 192.168.1.200;
option domain-name-servers 192.168.1.50, 192.168.1.1;
option domain-name "intra.delvalle.com";
option routers 192.168.1.50;
option broadcast-address 192.168.1.255;
default-lease-time 6000;
max-lease-time 72000;
}

Em resumo, estamos distibuindo IPs com final 150 a 200 para as máquinas. Estas usarão o nets e o WRT54G, nesta ordem, como servidores DNS. E o nets será o gateway padrão. Configurado isso, é preciso reiniciar o servidor DHCP:

sudo /etc/init.d/dhcp3-server restart

Para testar, pegamos um notebook que está conectado à rede wireless e fazemos a desconexão da rede, reconectando-o a seguir. O notebook deve pegar um IP como 192.168.1.150, com gateway e DNS apontando para 192.168.1.50 (nets). É interessante, pois quem está provendo a conexão na camada wireless (wi-fi) é o WRT54G, mas quem está distribuindo os IPs é o servidor nets.

Neste ponto, no entanto, não se consegue usar a Internet no notebook, pois o gateway 192.168.1.50 não está encaminhando os pacotes para a Internet.

IP forwarding

Para que o nets passe realmente a agir como um roteador, precisamos alterar um parêmetro do kernel. Apesar de soar grave, é bastante simples:

# descomente a seguinte linha, para habilitar o NAT no servidor
net.ipv4.ip_forward=1

Para que tome efeito, faça reboot do servidor (sudo shutdown -r now). É possível alterar isso sem rebootar, mas o reboot agora é útil porque já testa a persistência da configuração.

Após o reboot, o notebook - e outros clientes DHCP - já podem acessar a Internet.

Squid Proxy

O próximo passo agora é instalar e configurar o Squid, tradicional servidor de Proxy Web:

sudo apt-get install squid

Fiz três alterações no /etc/squid/squid.conf:

# Identificar a rede local em uma ACL
acl localnet src 192.168.1.0/24 # RFC1918 ...
...
# Descomentar para permitir acesso a partir da rede interna
http_access allow localnet
...
# Adicionar o transparent para permitir HTTP transparente
# para qualquer host e porta
http_port 3128 transparent

Alterado o arquivo, é preciso reiniciar o serviço:

sudo /etc/init.d/squid restart

Aqui, já se pode testar o Squid como proxy normal. No Firefox de um dos clientes DHCP, configure o servidor proxy apontando para o nets, porta 3128, para todos os protocolos. O navegação deve acontecer sem problemas e você pode acompanhar pelo log do squid:

joao@nets:/etc/squid$ sudo -i
root@nets:~# tail -f /var/log/squid/*

Depois do teste, lembre-se de desconfigurar o servidor proxy no Firefox. O objetivo é fazer um proxy transparente, ou seja, que não precisa de configurações na parte do cliente.

IPTables redirecionando para Squid

O Iptables já vem instalado por padrão no Ubuntu Server. Mas, para se assegurar que está em seu sistema, pode-se executar:

sudo apt-get install iptables

Ele vem configurado como “passa-tudo”. Ou seja, recebe o pacote (cujo encaminhamento já habilitamos no kernel) e libera o encaminhamento para o gateway. Para fazer com que o roteador direcione as requisições HTTP para o Squid, é preciso fazer uma alteração no Iptables:

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp  \\
     --dport 80 -j REDIRECT --to-port 3128

Ou seja os pacotes TCP que chegarem para a porta 80 deverão ser encaminhados para a porta 3128, onde está o Squid. É possível fazer isto também para outras - ou qualquer - portas. Mas, neste exemplo, só nos interessa o tráfego HTTP.

Para fazer com que estas configurações do Iptables não se percam no reboot, é preciso salvá-las:

joao@nets:/etc$ sudo -i
root@nets:~# iptables-save > /etc/iptables.rules

E criar um script de inicialização da interface de rede:

root@nets# echo '#!/bin/sh' > /etc/network/if-up.d/iptables
root@nets# echo 'iptables-restore < /etc/iptables.rules' >> /etc/network/if-up.d/iptables
root@nets# chmod +x /etc/network/if-up.d/iptables

Teste o reboot agora e depois verifique se a regra foi persistida no Iptables:

joao@nets:~$ sudo iptables -L -v -t nat
Chain PREROUTING (policy ACCEPT 4 packets, 471 bytes)
pkts bytes target prot opt in out source destination
0 0 REDIRECT tcp -- eth0 any anywhere anywhere tcp dpt:www redir ports 3128
...

Conclusão e próximos passos

Neste ponto, o notebook e os outros clientes DHCP devem estar navegando normalmente pela Internet, sem configuração especial de proxy. E o log disso pode ser acompanhado pelo Squid. Estando o tráfego passando pelo Squid, pode-se usar todo o seu poder para filtrar, acelerar, monitorar e fazer cache de conteúdo.

O ambiente está OK, mas há alguns pontos de melhoria, como, por exemplo, configuração dinâmica do servidor DNS no servidor DHCP, evitando que as requisições DNS dêem tantos pulos dentro da rede. Do ponto de vista de segurança, também seria interessante bloquear no WRT54G as requisições vindas de outros computadores que não o nets. Mas isso fica para outro dia.