quarta-feira, 26 de outubro de 2011

Dica: Redirecionamento de portas no FreeBSD

   Quando temos um servidor com FreeBSD conectado a internet e fazendo o roteamento ou NAT para a rede interna, algumas vezes, se faz necessário acessar uma máquina na rede a partir de um local remoto, para isso podemos utilizar um programa chamado "redir" que está nos ports do FreeBSD.
   Primeiramente verifique se ele está disponível, se não, instale-o.
   Então use o comando da seguinte forma:

/usr/local/bin/redir --lport=8080 --cport=80 --caddr=192.168.1.10 &

Onde:
   "--lport=8080" indica a porta local, sendo 8080 só um exemplo;
   "--cport=80"  indica a porta na máquina destino, sendo 80 só um exemplo;
   "--caddr=192.168.1.10" indica o ip da máquina interna que receberá o redirecionamento, sendo 192.168.1.10 só um exemplo;
   "&" determina que o comando será executado em background.

Ps. Não se esqueça de adicionar esse comando no /etc/rc.conf para que isso seja refeito quando a máquina for reinicializado.

Download do Firefox

     Nunca me imaginei escrevendo um post sobre como fazer download de um programa, masssss.... minha vida é assim, sempre fazendo coisas que eu não imaginava que faria. rsrsrs
     Depois que instalei o Debian 64 bits em meu desk me deparei com alguns problemas relativos a plataforma, é que a maioria dos programas tem suas últimas versões em 32 bits e as em 64 demoram a aparecer. Hoje achei o firefox7 em 64 bits, o link para download é:


    A partir desse link dá pra entender onde deve estar os outros programas da mozilla.

IPv6 - Novo protocolo ou implementação???

Acabei de fazer um curso sobre IPv6 e achei importante compartilhar isso aqui no blog.
A internet se baseia no IP (Internet Protocol), esse protocolo define a forma como as informações vão de um ponto ao outro na internet.
Antes de falarmos sobre IPv6 especificamente temos que entender alguns conceitos sobre rede.

REDE = É um grupo de computadores conectados entre si através de um meio físico compartilhando informações
PACOTES = As informações trafegam pela internet em formato de pacotes.
     Podemos comparar esses pacotes a correspondências enviadas pelos Correios. Quando enviamos uma correspondência temos que colocar na embalagem (pacote) os dados referentes a destinatário, remetente, se já foi paga, se será paga no destino e vários outras informações que são escritas na parte externa da correspondência. Imaginemos a seguinte situação: Eu tenho que enviar um manequim de loja mas tenho que usar caixas pequenas para isso já que os correios (hipotéticamente) não permitem caixas grandes então terei que dividir o manequim em pedaços pequenos e enviá-lo parte por parte, mas por exigência do meu cliente eu tenho que enviar as partes seqüencialmente para ser montado na ordem de chegada, em cada pacote terei que colocar todos os dados de envio e ainda terei que usar o serviço de AR (Aviso de Recebimento) dos correios que confirma o recebimento de cada pacote no destino para que só então eu possa enviar o próximo. É exatamente isso que ocorre na transmissão de informações pela internet ou por uma rede qualquer.
PROTOCOLO = É uma ou mais regras que definem como a informação deve ser organizada.
     Em nosso exemplo de correio temos um protocolo que determina que os dados de remetente e destinatário devem estar separados, se possível em lados opostos e a sequência deve ser:
                    Remetente:                                                    Destinatário:
                    Endereço:                                                     Endereço:
                    CEP:                                                            CEP:

     Na internet o protocolo mais usado é o IP (Internet Protocol) que tem seu cabeçalho mostrado abaixo em suas duas versões:

     Cada pacote é enviado pela internet precedido por um cabeçalho nesse formato.
     IP (Internet Protocol) = Quando falamos em IP, na maioria dos casos pensamos em um número como 192.168.0.1 ou 200.267.139.25, mas IP é muuuito mais do que isso esse número, voltando ao nosso exemplo dos correios, seria apenas o CEP que guarda muita informação por trás dele e é aí que vem o problemas em mudar esse número.
     No início da internet, por volta de 1969, não se tinha a menor idéia de que ela poderia chegar perto do que é hoje, foi uma rede criada para fins militares nos EUA e a identificação IP era formada por um número de 4 octetos sendo cada um com 3 dígitos que permitiria ao Governo Americano interligar até 4.294.967.296 computadores, isso era um número pensado inalcançável, mas na década de 80 resolveu-se usar essa infraestrutura para interligar outras redes que a princípio foram Universitárias e depois Comerciais.
      Tá, mais detalhes sobre essa história é fácil achar na internet pesquisando sobre "início da internet" ou "arpanet", então vou me ater aqui aos IPv6.

     No início da década de 90 já se percebeu que a internet iria crescer muito e que os números de IP's não seriam suficiente para todos e já que teriam que mexer no protocolo deveriam implementar mais do que somente os números eu que seria um bom momento para reavaliar a estrutura desse protocolo. Então começaram os estudos para essa mudança e foi criado o IPv6.
     Enquanto se desenvolvia o IPv6 foram criadas soluções paliativas que só retardam o esgotamento de números, e cada uma possuía um "porém" que a inviabilizava a longo prazo.
     Então, em 1998, nasceu o IPv6 e sua certidão de nascimento é a norma RFC 2460.
     De lá para cá vem sendo sendo implementadas formas de substituir o IPv4 pelo IPv6 mas isso não é nada fácil já que se tudo fosse parado de uma única vez para isso seria o caos social total. Ou você acha que conseguiria viver um único dia sem o uso da internet?
     

quarta-feira, 5 de outubro de 2011

Retirar comentários de arquivos de configuração.

   Que jogue a primeira pedra quem nunca se irritou ao tentar ler os arquivos de configuração de programas como samba ou squid devido ao fato desses arquivos virem com todas as opções possíveis e a explicação da função de cada uma. Claro que isso é ótimo na questão didática, mas em alguns momentos queremos só uma configuração simples e criar o arquivo do zero pode não ser a melhor opção então o melhor é retirar todas as linhas comentadas e pra isso podemos utilizar o utilitário egrep com a seguinte sintaxe:

 egrep -v "^#|^$" [arquivo.conf_original] > [arquivo.conf_novo]


   Dessa forma o novo arquivo será gerado sem as linhas de comentários.

crontab não executa comandos agendados.

Tive, mais uma vez, um problema que eu apenas contornava mas não ia a fundo e dessa vez consegui me empenhar um pouquinho mais.

O problema:
   Como root eu adicionava comandos no crontab tanto pelo "crontab -e" como diretamente ao arquivo /etc/crontab e o comando não era executado. 

A análise:
   Comecei adicionando um comando bem simples ao cronta, um date com saída para um arquivo executando a cada 1 minuto. Isso também não funcionou.
   Passei a ler os logs (/var/log/cron) e observei que o erro estava relacionado ao sistema SELinux, esse serviço impõe restrições até mesmo ao root e era o que estava acontecendo.

A solução:
   Eu já havia até desabilitado o uso so SELinux alterando o valor da diretiva "SELINUX" para "disable" no arquivo /etc/selinux/config mas não havia me atentado para o fato de ter que executar o comando "selinuxdefcon" para que essa nova configuração fosse ativada.

Ps1. Essa não é a melhor solução já que esse serviço SELinux foi criado para adicionar segurança ao sistema, mas como ainda não o conheço bem (o estudarei em breve) o desabilitei.

Ps2. Essa opção eu alterei logo que terminei a instalação desse servidor, então quando abri o arquivo e vi que ela já estava "disable" estranhei pois, mesmo que ela não fosse habilitada instantâneamente, ela deveria ser validada durante o boot, então fui verificar quando foi o último reboot desse servidor e admirei o fato de ele estar "up" a 63 dias, ou seja, desde a instalação. E ele é bastante utilizado. rsrsrsrs "essa ps2 foi só pra me gabar mesmo!! rsrsrs"

domingo, 2 de outubro de 2011

Debian Source List Generatior

   Esse post não é um artigo, é apenas uma dica.
   Uso o Debian a uns 3 anos e vez ou outra recorro a esse site. (Debian Source List Generator)
   A net está cheia de arquivos sources.list de exemplo por aí, mas raramente um funciona 100%, o que faz esse site ser muito útil, já que a partir dele você monta o seu perfil e ele gera o arquivo sources.list que você precisa.
   Esse arquivo pode ser usado apenas como base para outros, então não se esqueça de fazer uma cópia do seu antes de atualizar com o conteúdo gerado no site.
   Cada arquivo gerado possui uma sequência de comandos adicionados ao rodapé que devem ser executados para que sejam adicionadas as chaves dos repositórios, então não se esqueça deles.

   Boa sorte.