Thursday, August 30, 2007

Identificando bloqueios de firewalls em redes desconhecidas

Nem sempre é fácil para os administradores de redes identificar onde pacotes estão sendo bloqueados, principalmente em redes desconhecidas e com firewalls sob controle de terceiros. Este artigo explica uma das técnicas que podem ajudar nessa tarefa, explorando um recurso padrão do protocolo IP de forma semelhante ao funcionamento do traceroute.

Recentemente um cliente reclamou que não conseguia conectar-se ao servidor dele, em nenhuma porta. O tempo da conexão sempre expirava (timeout) antes de conectar. Como eu conheço a rede onde ficam os servidores, de início achei improvável que houvesse algum problema 'do lado de cá'.

Entretanto, já vi muita coisa estranha acontecendo, geralmente por culpa de firewalls mal configurados. Nunca cheguei a ver os problemas mais bizarros relatados web afora, como detecção incorreta de path MTU, ou incompatibilidades com dispositivos antigos por causa de recursos 'novos' do TCP (ECN etc). Mas talvez fosse o caso. De qualquer forma, precisávamos diagnosticar onde essas conexões estavam parando.

google-firewall




Diagrama hipotético - desenhado no Dia (GNOME)


E então as ferramentas tracetcp, traceproto ou tcptraceroute vieram ajudar a salvar o dia. São ferramentas simples que podem ser usadas para se detectar firewalls . Há versões para Linux, Windows e, suponho, outros SOs. Para Windows, recomendo o tracetcp. Em Linux, há vários sabores, mas costumo usar o traceproto. O funcinamento é parecido com o do traceroute: (continua abaixo)

Thursday, August 23, 2007

Reuniao historica da ABNT sobre OOXML

Antes eu lia o jornal. Hoje em dia, quando quero notícias frescas, leio o blog do companheiro de Asilo Arkhan, César Cardoso. Foi lá que ele linkou para uma das leituras mais curiosas desse ano - sem exagero: o relato detalhadíssimo do Avi Alkalay sobre reunião da ABNT para decidir^W discutir^W digladiar acerca do voto brasileiro para a padronização pela ISO do OOXML.

Se houvesse uma explosão naquele momento e todos que estavam naquela sala morressem, a TI no Brasil se estagnaria por 10 anos e eu ficaria de luto por uns 20. Algumas de nossas principais "celebs" estavam lá: Cezar Taurion, Corinto Mefe, Cesar Brod, Jomar Silva, etc etc. Não conheço os caras da Microsoft, Raimundo ??? e Fernando Gebara, mas eles também participaram, claro. E além deles, muitas outras empresas de peso.

A leitura é interessante pois mostra o desenrolar timtim-por- timtim da reunião, que foi bastante política, sim, mas que acabou funcionando, ainda que o consenso tenha sido alcançado de uma forma não muito tradicional. :-)

É uma pena, no entanto, que o trabalho detalhado de técnicos que analisaram o assunto não tenha sido discutido com a profundidade que merecia. Cezar Taurion relata o que o Jomar Silva esperava da reunião:
Jomar foi bem objetivo: “dada a seriedade e competência trabalho realizado pelo GT e investimento feito por todos que contribuiram com ele (custo de deslocamentos e viagens, horas alocadas e "brain power", muito "brain power"), eu realmente espero que os problemas técnicos encontrados sejam analisados com cautela pela CE e que a decisão desta comissão seja feita com base no rigor técnico que é esperado de uma comissão da ABNT.

Pelo jeito as expectativas deles sobre o "nível" da discussão foram frustradas.

Wednesday, August 22, 2007

Servidores de DNS gratuitos na YourBase

Weblog da YourBase

Começarei a usar esta seção do meu blog (categoria "yourbase") como repositório de notícias oficiais sobre a YourBase.

Aos clientes atuais, será útil como central de notícias sobre nossos serviços, incluindo anúncio de novas funcionalidades, avisos de manutenção, etc. Aos clientes prospectivos, espero que seja uma amostra sobre nosso "jeitão" de prestar um bom serviço. Aos demais (improváveis) leitores do blog, espero que não se incomodem com o novo conteúdo. Se for o caso, reclamem nos comentários.

Para acompanhar os posts daqui pra frente, aponte seu leitor RSS para o endereço do nosso feed, ou assine o feed geral do cetico.org.
Novo Painel DNS em testes

O termo beta está tão banalizado pelos serviços "web 2.0" ultimamente que prefiro dizer que o status da nova funcionalidade de gerenciamento de zonas DNS do painel de controle da YB é "em testes".

O serviço é gratuito e você pode configurar quantos domínios desejar, desde que numa quantidade razoável. (Quem não é cliente e quiser usar nossos servidores de DNS, basta preencher o cadastro de usuários e seguir para o painel de controle.)

Durante a criação da zona do seu domínio, você tem a opção de escolher um IP padrão para o qual serão criados automaticamente registros como "www.dominio.com.br", "dominio.com.br" e uma entrada MX para o servidor de e-mail. Depois disso, é claro, você pode customizar a zona do seu domínio da forma que quiser. Finalmente, é só configurar o domínio no Registro.BR ou outro registrar, definindo NS1.YOURBASE.COM.BR e NS2.YOURBASE.COM.BR como servidores de nomes primário e secundário, respectivamente.

É preciso notar que, apesar de flexível, a ferramenta ainda não é muito amigável para iniciantes, mas estamos trabalhando para melhorar a usabilidade. Em caso de dúvidas, entre em contato.

Infra-estrutura DNS

Para os geeks interessados, utilizamos o PowerDNS como servidor de DNS. É uma alternativa moderna se comparado ao bom e velho BIND. A vantagem do PowerDNS é que ele permite que sejam utilizados diversos back-ends diferentes para armazenar o "arquivo de zonas". No nosso caso, as zonas estão armazenadas em modo "NATIVE" em servidores MySQL com replicação automática. Em cima de tudo isso, uma interface escrita em Python com TurboGears permite a administração de cada domínio de forma segura por cada usuário.

Se quiser verificar nossa configuração padrão, consulte por exemplo o domínio "yvesjunqueira.com". Serviços recomendados: Pingability.com e DNSReport.com.

Os próximos passos são tornar a interface mais amigável e permitir a utilização de servidores secundários externos, mas ainda não há previsão de quando isso deve ficar pronto.

Sobre a YourbaseA YourBase é uma empresa de hospedagem de servidores Linux com acesso root. Utilizamos Xen como tecnologia de virtualização e suportamos diversas aplicações e linguagens, como Ruby on Rails, TurboGears, Django, Drupal, Java, Python, PHP e Perl. Oferecemos planos a partir de R$49.05.

Tuesday, August 21, 2007

Linux no Palm TX tambem funciona

Troquei alguns e-mails com o Wilton José dos Santos e ele me contou que conseguiu instalar e fazer funcionar o Linux no Palm TX dele com ajuda dos caras do Hack & Dev. Segue o e-mail (reproduzido com autorização):

Oi Yves, tudo bem?


Antes de mais nada, obrigado pela dica e desculpa a minha demora em dar um
retorno. Só tive tempo de tentar a instalação nesse final de semana...

Bom, foi muito mais fácil do que eu pensava, achei que ia apanhar feio e não
foi assim.

1) Fiz o download do garux.prc
http://projects.linuxtogo.org/projects/palmtx/

2) Download do rootfs (OPIE)
http://sourceforge.net/project/showfiles.php?group_id=155828&package_id=188800&release_id=439234

3) Finalmente foi só seguir as discas na página abaixo.
http://hackndev.com/node/504

Depois de instalado, foi só festa :-), não tive muitos problemas, pelo meno
nas coisas que tentei usar me pareceu bastante estável. O boot é bem lento,
mas depois que o sistema está no "ar" não achei tão lento. O proximo passo é
ver o python funcionando nele.

Resumindo, achei bonito, bem legal, mas realmente acho que não dá para usar
no dia a dia, por enquanto é só para brincar. Podemos dizer que é uma
brincadeira bastante gostosa... :-)

Mais uma vez muito obrigado e abraços,
Wilton


No TX fica mais rápido porque ele tem mais memória (128Mb Flash) , enquanto no Palm a memória é toda um grande swapão reservado do HDzinho tradicional, por isso tudo é mais lento. Aliás, não dá pra entender pra quê fizeram isso. Nem eles entenderam, tanto é que aposentaram o LD.

Mas sinceramente eu torço pra que o ACCESS Linux Platform - se é que isso é o nome do sistema operacional em si - funcione 'oficialmente' nos nossos Palmes. Uma coisa é se divertir tentando fazer algo incomum funcionar. Outra coisa é tentar trabalhar com um sistema operacional e um ambiente pouco polido e lento - com é o caso do Linux no Palm LD.

UPDATE: O JAlexandre relata que Linux também roda no Palm Zire 72.

Monday, August 20, 2007

Lobby do FUD contra o "desenvolvimentismo FOSS"

Como noticiado no Br-Linux.org,  o relator do projeto de Lei 3684/2004 assinou voto sugerindo a rejeição da proposta de se estabelecerem "medidas  creditícias de ncentivo às empresas de desenvolvimento de programas de computador livres."
Íntegra do voto do relator deste projeto na Comissão. Trecho relevante:
      VOTO DO RELATOR
O software livre – tipo de programa de computador distribuído sob
licenciamento menos restritivo – tem sido objeto de uma série de iniciativas parlamentares
que se destinam a fomentar sua disseminação. Argumenta-se, por exemplo, que sua adoção
3
em larga escala permitiria redução no envio de divisas para o exterior, maior qualificação
dos profissionais brasileiros ligados à área de tecnologia da informação e fomento à
competição no mercado de software.
Por outro lado, ainda precisam ser esclarecidos alguns aspectos
desse modelo de desenvolvimento de software. Aponta-se que esse tipo de licença, que
impõe a distribuição gratuita dos programas de computador, incorre em alguns problemas,
como, por exemplo, a falta de incentivo econômico ao desenvolvimento de software de alta
qualidade, tendo em vista que as empresas que atuam nesse mercado podem cobrar apenas
pela manutenção dos sistemas.
Outro problema do modelo seria a falta de fomento à inovação
tecnológica, tendo em vista que as empresas que desenvolvem os programas baseados em
software livre não podem cobrar pela criação, apenas pela manutenção dos programas.
Some-se a isso os custos de implantação de soluções baseadas em software livre superiores
aos verificados nas soluções tradicionais, em decorrência da ausência de padronização, e
temos um quadro que pode contribuir para baixa eficiência e competitividade econômica.
                        A dificuldade de comprovar que determinadas empresas trabalham
exclusivamente com desenvolvimento de sistemas baseados em software livre constitui-se
em outro óbice. A competição de mercado exige que tais empresas disponham de todos os
tipos de sistemas e soluções para atender seus clientes. Assim, na prática, o subsídio
proposto estaria valendo para todas as empresas do setor de tecnologia da informação, o
que vai de encontro ao próprio objeto da matéria. (grifo meu)

O fato é que setor de tecnologia da informação é extremamente
importante na economia brasileira. Responde, segundo a FIPE – Fundação Instituto de
Pesquisas Econômicas da USP –, pela criação de mais de trezentos mil empregos diretos.
Está submetido a uma carga tributária de quase quarenta e cinco porcento, e tem reflexo
transversal em toda a competitividade da economia brasileira, tendo em vista que seus
produtos inserem-se em todas as demais cadeias produtivas.
4
Esse contexto nos leva a concluir que tais modificações em sua
estrutura não são producentes, pois podem afetar negativamente uma indústria responsável
por milhões de empregos diretos e indiretos, por significativa parcela de arrecadação
tributária e que contribui, de forma significativa, para a competitividade da economia
brasileira.
Diante de tais constatações, somos pela REJEIÇÃO do Projeto de
Lei n.o 3.684, de 2004.
Sala da Comissão, em      de              de 2007.
Deputado Dr. Nechar
Relator

O texto é claramente resultado (talvez escrito por) de lobby de empresas interessadas em *não* ver o desenvolvimento do software livre. Isso é o que me incomoda, ver de forma tão clara a força do lobby do FUD no Congresso Nacional.

Mas o parágrafo que eu grifei, é preciso concordar, é um ponto difícil de se contra-argumentar. Mesmo que se pense em formas de comprovar que uma empresa "desenvolve software livre" - por exemplo exigindo que as empresas tenham distribuído software sobre licenças livres (imaginem a bagunça que daria visto que a maioria das licenças são em inglês) -, isso seria bastante complicado e ineficiente.

Além do mais, em princípio acho esse tipo de programa uma má idéia de qualquer forma. Pra mim, o Estado só deve financiar o desenvolvimento de um setor específico quando houver razões estratégicas muito claras para tanto. Além disso, é muito mais eficiente baixar a carga tributária do que criar mais outra estruturazinha burocrática para tentar selecionar, de forma bastante ineficiente, quem devem ser os beneficiários desse tipo de crédito. Isso é quase tão ruim quando financiar o disco da Uanessa do Mato. É o desenvolvimentismo do século passado, que continua a nos prender por lá.

O Governo tem que fazer o que importa - saúde, educação, combate à pobreza, incentivar o mercado de trabalho e parar de atrapalhar o ambiente de negócios. Quem dera fôssemos um país neo-liberal em que o Estado não fosse tão poderoso e com tetas tão gordas assim. Certamente teríamos menos prejuízo com a corrupção e outras infecções mamárias.

O problema é que não vejo a luz no fim do túnel. Além de estar cada vez mais desiludido com o presidente em que votei, não vejo vozes sensatas no Congresso. Nessa nossa democracia representativa, nunca me senti representado por nenhum político, até porque eu sou amaldiçoado e todo candidato a cargo do legislativo que eu voto, perde. E o burro aqui ainda continua a acreditar na Democracia.

O  que fazer? Gritar, berrar, reclamar num blog? Hmm.. ouvir Replicantes.

Sunday, August 19, 2007

The Linux Programmer's Toolbox - introdutorio e indispensavel

O livro The Linux Programmer's Toolbox (Amazon) foi lançado recentemente e está na minha estante do Safari. Não é só porque tem uma espada de sabre Jedi na capa, apesar disso ser um fator muito importante. É que recebeu bons reviews na Amazon e achei que me seria útil - e está sendo.

O livro tem aproximadamente 600 páginas, mas um conteúdo denso. É uma excelente ponte entre livros introdutórios de programação e administração de sistemas, e coisas mais pesadonas como Understanding the Linux Kernel ou Advanced Programming in the UNIX Environment. Recomendo fortemente a leitura para Programadores e Administradores de Sistemas que trabalhem com Linux.

Além de dedicar capítulos a temas importantes para programadores, como o processo de compilação de códigos-fonte, o livro trata de alguns assuntos comuns ao já velhinho Advanced Programming in the UNIX Environment, que ainda não terminei de ler. Entretanto, além de ser novo e focado em Linux, o principal mérito do The Linux Programmer's Toolbox é introduzir temas às vezes difíceis de se digerir, como IO Scheduling e Process Scheduling do kernel, com um texto direto e claro.

Não conheço muitos bons livros novos sobre Linux com abordagem profissional. Há, sim livros bons e antigos (mesmo que com novas edições), como os do Tanenbaum e do Richard Stevens, mas falta às vezes uma ponte entre esse conhecimento teórico de décadas atrás, e a vida prática de programadores e administradores de sistemas de hoje. Outros livros, como o Programação Avançada em Linux do Gleicon Moraes, ainda que úteis em alguns tópicos, não conseguem explicar o que nós, programadores e administradores de sistemas, devemos saber sobre o funcionamento básico do Linux.

Claro que devem haver outras coisas interessantes por aí. O Linux System Programming do Robert Love já está na mira de leituras seguintes.

Saturday, August 4, 2007

Linux no Palm LifeDrive: realmente ja funciona

Como já falei aqui, tenho um Palm Lifedrive. Pelo que eu havia acompanhado, o suporte a Linux no LD ainda estava bem lixão. Hoje, depois de ver a chamada do br-linux.org sobre esse assunto, passei o dia procurando como fazer isso funcionar.

Pois bem, graças aos caras do H&D, especialmente o marex, já tem muita coisa funcionando no Palm Lifedrive no Linux com Angstrom (debian) e OPIE (kde). Instalei aqui o Technology Preview 1 (TP1) disponibilizado pelo marex e gostei do que vi. Não é um sistema estável, nem de longe serve pro dia-a-dia. Mas já é empolgante ver o OPIE no LD, escrever comandos na console com a stylus e pensar no tanto de coisa que dá pra rodar num ambiente Linux e GNU completo.

O suporte a wifi já está quase saindo, assim como usbserial. IrDA (infra-vermelho) já funciona, mas sem o módulo irnet eu não consegui fazer rede TCP/IP funcionar - ainda. E já funciona também Bluetooth, mas meu notebook não tem suporte, portanto não pude testar.

Depois faço update com fotinha.

UPDATE. Ó, fotinhas - enviadas com o jUploadr. Veja todas elas aqui.

palmld-linux-uname

palmld-linux-opie