quinta-feira, 10 de dezembro de 2009

MEMTEST

Memest é um programa para teste de memórias. DOWNLOAD AQUI

O memtest possui um total de 11 testes (dependendo da versão poderá variar entre 10 e 11). Segue abaixo a descrição deles:
"Teste 0 [Address test, walking ones, no cache]: Simplesmente testa o acesso a todos os endereços da memória, algo semelhante com o que o BIOS faz na contagem de memória durante o boot. Serve mais para checar a quantidade de memória disponível.
Teste 1 [Moving Inv, ones&zeros, cached]: Escreve bits 1 e depois bits 0 em todos os endereços da memória. Este algoritmo também utiliza os caches L1 e L2 do processador. É um teste rápido que serve apenas para verificar erros mais grosseiros.
Teste 2 [Address test, own address, no cache]: Este teste é semelhante ao 1, mas adota uma estratégia diferente, ele checa os endereços e não apenas os dados. Isso permite detectar problemas de endereçamento no módulo. Outra diferença é que este teste é feito sem utilizar os caches do processador.
Teste 3 [Moving inv, 8 bit pat, cached]: É aqui que os testes para detectar erros mais complexos começam. O terceiro teste escreve sequências de dados de 8 bits, repetindo o teste 20 vezes com sequencias diferentes.
Teste 4 [Moving inv, 32 bit pat, cached]: Os dados gravados em cada bit de memória são lidos e movidos para o endereço adjacente. É mais ou menos uma combinação dos trés testes anteriores, pois testa o endereçamento, leitura e escrita de dados. A operação é repetida 32 vezes no total, para testar todas as combinações possíveis.
Este teste detecta um tipo de erro muito comum que é a "contaminação" de endereços. Isto ocorre quando por um defeito de fabricação o isolamento elétrico entre duas ou mais células de memória fica muito fino, permitindo que os elétrons saltem de um para o outro. Isso faz com que ao gravar um dos bits o outro também seja gravado com o mesmo valor. Esse tipo de problema pode ser bastante intermitente, acontecendo apenas quando o segundo bit estiver com um valor zero, ou apenas exporadicamente.
Teste 5 [Block move, 64 moves, cached]: É um pouco mais rigoroso que o teste 4. Continua movendo dados de um endereço para outro da memória, mas agora são movidos blocos de 4 megabits de cada vez. Este teste é repetido 64 vezes.
Teste 6 [Modulo 20, ones&zeros, cached]: Este teste usa um algoritmo diferente, chamado Modulo-X para descobrir defeitos que podem ter sidos marcarados pelos caches ou registradores do processador nos testes anteriores.
Teste 7 [Moving inv, ones&zeros, no cache]: Refaz o teste 6, mas agora desativando completamente os caches. Ele é capaz de detectar mais alguns erros, mas é um pouco mais demorado.
Isto conclui a etapa "básica" do testes, onde os mais demorados são o 4, 6 ou 7. sta primeira etapa é relativamente rápida dentro do que se espera de um teste completo de memória. Mesmo num micro com 512 MB o teste não deve demorar mais que uma hora. Esta primeira bateria de testes é suficiente para detectar mais de 90% dos erros, os mais graves que realmente seriam percebidos no dia a dia.
Teste 8 [Block move, 512 moves, cached]: Faz a mesma coisa que o teste 5, mas é bem mais longo, repetindo todas as operações 512 vezes ao invés de 64. Demora proporcionalmente mais... :-)
Teste 9 [Moving inv, 8 bit pat, no cache]: Este é semelhante ao teste 3, mas agora realizado com todos os caches desativados e repetido mais vezes, por isso é muito mais demorado.
Teste 10 [Modulo 20, 8 bit, cached]: É uma evolução do teste 6. Ele utiliza o Módulo-X, mas ao invés de simplesmente gravar valores aleatórios nos endereços faz um teste bem mais completo, movendo os dados de várias maneiras de forma a detectar erros mais incomuns.
Teste 11 [Moving inv, 32 bit pat, no cache]: O teste final é semelhante ao teste 4, envolvendo inúmeras operações de leitura e escrita, mas desta vez sem o uso do cache, de forma a eliminar qualquer sombra de dúvida."
que são a quantidade de memória e sua taxa de transferência (bandwidth).

O MEMTEST possui ainda algumas opções para configuração, mas não são obrigatórias, ao pressionar a tecla C surge a tela com as opções:
1- TEST SELECTION = Opções para cancelar o teste atual ou pular para um outro;
2- ADRESS RANGE = Opção para testar certa quantidade da memória;
3- MEMORY SIZING = Caso a quantidade total não seja reconhecida corretamente pelo BIOS existe a opção para ignorar os parâmetros do BIOS.
4- ERROR SUMMARY = Mostra os erros, caso existam, em forma de resumo e em que teste ocorreram;
5- ERROR REPORT MODE = Configura o modo que os erros serão reportados;
6- ECC MODE = Ativa o modo ECC para o teste;
7- RESTART = Recomeça o teste;
8- REFRESH SCREEN = Atualiza a tela;
9- ADV. OPTIONS = Depende do chipset para ser habilitado;
0- CONTINUE = Continua o teste e finaliza as configurações.

Ao detectar um erro,o ideal e trocar o módulo de memória e refazer o teste. Em alguns casos o problema pode não ser no módulo, mas sim na placa-mãe (certamente no controlador de memória). Em alguns casos mais raros pode ser até mesmo que tanto o módulo quanto a placa estejam bons, e o problema seja apenas algum tipo de incompatibilidade entre eles.

terça-feira, 8 de dezembro de 2009

Redirecionamento de porta no IPTABLES

Criando um redirecionamento de portas bem simples, isto é util quando administramos vários servidores em um local especifico, e este local só possui um IP válido... então se prescisarmos acessar dois servidores por SSH, como fariamos?
Simples com a regra a baixo, nós podemos resolver este problema.

iptables -t nat -A PREROUTING -d 200.210.140.23 -p tcp -m tcp --dport 2222 -j DNAT --to-destination 192.168.0.251:22

o IP 200.210.140.23 é o ip externo, não sabe qual é o seu ip? acesse
o 2222 é a porta externa que será redirecionada para o servidor interno.
o 192.168.0.251:22 é o ip interno mais a porta.

neste exemplo a porta 2222 do ip 200.210.140.23 será redirecionada para 192.168.0.251 na porta 22

para dar um SSH para esta máquina é só utilizar:
ssh -p 2222 root@200.210.140.23

repare a saida do comando
iptables -t nat -L

root@ubuntu-teste:~# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere Unknown-08-00-27-fc-12-ac.lan tcp dpt:2222 to:192.168.2.2:22

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
root@ubuntu-teste:~#

se o seu ip é dinamico, use o parametro -i ethx inves do -d xxx.xxx.xxx.xxx

iptables -t nat -A PREROUTING -i eth2 -p tcp -m tcp --dport 2222 -j DNAT --to-destination 192.168.2.2:22

no exemplo a eth2 é a minha interface de rede conectada a internet!

espero que tenha sido util!

domingo, 6 de dezembro de 2009

Instalando no-ip no CentOS


Para quem quer acessar o seu servidor remotamente e possui IP dinâmico (conexões ADSL, CABO, etc), sendo que se a conexão cair o ip mudará e ai não conseguira mais acessar o servidor, terá que descobrir o ip novamente. Isso pode ser driblado usando um serviço de DNS dinâmico como o no-ip, onde você pode registrar um endereço de acesso como "fulano.no-ip.org", que passa a apontar para seu endereço IP atual.

No debian no-ip pode ser instalado facilmente utilizando apt-get

apt-get install noip2

ja no centOS é um pouco diferente... então vamos a instalação propriamente dita.

Primeiramente faça seu registro no site www.no-ip.com

depois logue no seu servidor

entre na pasta /usr/src

cd /usr/src

baixe o pacote para linux

wget https://www.no-ip.com/client/linux/noip-duc-linux.tar.gz

feito isso, descompacte o pacote

tar -zxvf noip-duc-linux.tar.gz

entre no diretório

cd noip-2.1.9-1

entre com os comandos

make

make install

e preencha os dados que são requisitados.

Após isso o noip2 não sera iniciado e não dará para usar service noip2 etc, por isso faremos os procedimentos abaixo:

permitir que o script seja executado, dentro do diretório noip-2.1.9-1 de o comando

chmod +x redhat.noip.sh

copie este arquivo para o init.d

cp redhat.noip.sh /etc/init.d/noip2

depois adicione ele no chkconfig

chkconfig --add noip2


pronto! agora pode acessar o seu servidor com o nome de dominio que cadastrou no no-ip!

Hello World!

Bem vindo ao blog!

Aqui futuramente trataremos de varias coisas relacionadas aos mais diversos assuntos!

Aguarde!