Mostrando postagens com marcador Hardware. Mostrar todas as postagens
Mostrando postagens com marcador Hardware. Mostrar todas as postagens

6 de abril de 2012

Recuperando GRUB

Um dos acontecimentos mais frequentes com os usuários de dual boot é a "perca" do Grub. Um usuário tem dois sistemas operacionais, Windows e Ubuntu. Isso acontece quando você precisa, por exemplo, formatar seu velho e defeituoso Windows, que ao ser reinstalado apaga a MBR, local onde é guardada informações do disco como ordem de boot, partições etc.

O nosso GRUB fica localizado na MBR, então para recuperá-lo de forma simples e fácil siga as instruções a seguir:

Você vai precisar de um CD-Live (no meu caso utilizei a versão 9.04 do Ubuntu).

Depois de carregado o Live-CD, entre no seu terminal e digite os comandos a seguir:

1. Verificando a partição referente ao seu GNU/LINUX:

$ sudo fdisk -l

(caso esteja utilizando outro SO que não o Ubuntu, faça o login como ROOT)

2. Vamos montar o seu sistema de arquivos na sua partição GNU/Linux no diretório /mnt.

$ sudo mount -t ext4 /dev/sda6 /mnt

Neste caso o meu sistema de arquivos é EXT4 e a minha partição Linux é a sda6, troque esses campos conforme a sua configuração.

3. Instalação do Grub:

$ sudo grub-install --root-directory=/mnt /dev/sda

Fim. Fácil não? =D

Bem pessoal, é isso! Espero ter ajudado, qualquer coisa estamos aí.

18 de fevereiro de 2012

Drivers HBA


Hoje, iremos aprender a como atualizar o driver da HBA, que nada mais é que um adaptador para que uma máquina chegue até um storage, sendo este um storage EMC, Hitachi ou qualquer outro.


Como a HBA, é um hardware, ela necessita de um conjunto de softwares para ser reconhecida pelo SO. Por esta razão que devemos instalar o driver, firmware, bios, etc da HBA.

É claro que existem drivers e firmwares genéricos, mas desta forma, provavelmente você perderia em performance. E se estamos trabalhando com FC Hosts, não queremos perder nada.


O procedimento em si é simples. Da mesma forma que instalamos o firefox na nossa máquina. Vamo que vamo!



Procedimento de instalação Drivers da HBA
  1. Conecte ao servidor via ssh
  2. yum install libnl -y
  3. Providenciar o pacote no site da emulex: elx-lpfc-dd-rhel5-8.2.0.96.tar.gz
  4. Providenciar o pacote no site da emulex: elxocmcore-rhel5-rhel6-5.1.42.3-1.tar.gz
  5. tar -zxvf elxocmcore-rhel5-rhel6-5.1.42.3-1.tar.gz
  6. cd elxocmcore-rhel5-rhel6-5.1.42.3-1
  7. ./install.sh
  8. cd ..
  9. tar -zxvf elx-lpfc-dd-rhel5-8.2.0.96.tar.gz
  10. cd elx-lpfc-dd-rhel5-8.2.0.96
  11. ./elx_lpfc_install.sh


    Esse script serve para servidores red hat 5.x. Dentro desses pacotes, existem drivers para red hats 5 e 6, porém só testei com red hat 5.

    Dentro desse pacote, também há drivers para todos os kernels 2.6.18. Além disso, há pacotes para todas as arquiteturas (Intel, Power, alpha, Itanium, etc).



Atualização de firmware e bios HBA

Hoje, iremos aprender a como atualizar o firmware da HBA, que nada mais é que um adaptador para que uma máquina chegue até um storage, sendo este um storage EMC, Hitachi ou qualquer outro.


Como a HBA, é um hardware, ela necessita de um conjunto de softwares para ser reconhecida pelo SO. Por esta razão que devemos instalar o driver, firmware, bios, etc da HBA.

É claro que existem drivers e firmwares genéricos, mas desta forma, provavelmente você perderia em performance. E se estamos trabalhando com FC Hosts, não queremos perder nada.


O procedimento em si é simples. Da mesma forma que instalamos o firefox na nossa máquina. Vamo que vamo!




Procedimento para atualização de FIRMWARE ou BIOS da HBA via X

1. Conecte na máquina via ssh

2. yum -y install libnl

3. cd /root

4. Providenciar o pacote elxocm-rhel5-sles10-5.0.53.7-1.tgz

5. chmod 644 /root/elxocm-rhel5-sles10-5.0.53.7-1.tgz

6. tar -zxpvf elxocm-rhel5-sles10-5.0.53.7-1.tgz

7. cd /root/elxocm-rhel5-sles10-5.0.53.7-1; expect -c "set timeout 300; spawn ./install.sh; expect \"Enter the number\"; send \"1\n\"; expect \"Enter the letter\"; send \"y\n\"; interact"

8. export DISPLAY="Ip_da_sua_maquina:0"

9:cd /usr/sbin/hbanyware/

10../ocmanager


É necessário algum software que encaminhe a saída da tela do servidor para a sua tela. Por exemplo: Xming ou reflection

É necessário ter o arquivo de firmware no /usr/sbin/hbanyware/RMRepository


Após aparecer uma tela do hbanyware, clique na PORT WWN. Após isso clique na aba “Maintenance”.

Depois, clique em “Update Firmware”. Insira o Firmware desejado e confirme clicando em “Start Download”.


FAÇA O MESMO PROCEDIMENTO EM TODAS AS PORTS WWNs


11. Realize o reboot da máquina.


Para realizar upgrade: Selecione uma versão posterior
Para realizar o downgrade: Selecione uma versão anterior













Procedimento para atualização de FIRMWARE da HBA via Shell


1. Conecte na máquina via ssh

2. yum -y install libnl

3. cd /root

4. Providenciar o pacote elxocm-rhel5-sles10-5.0.53.7-1.tgz

5. chmod 644 /root/elxocm-rhel5-sles10-5.0.53.7-1.tgz

6. tar -zxpvf elxocm-rhel5-sles10-5.0.53.7-1.tgz

7. cd /root/elxocm-rhel5-sles10-5.0.53.7-1; expect -c "set timeout 300; spawn ./install.sh; expect \"Enter the number\"; send \"1\n\"; expect \"Enter the letter\"; send \"y\n\"; interact"

8. cd /usr/sbin/hbanyware/RMRepository

9. Copiar para a máquina atual a versão de fimware desejada via scp pela porta 22. Caminho: 125.255.46.73//export/repo/files/san/HBA/firmware/

10. cd /usr/sbin/hbanyware/

11. ./hbacmd ListHBAs

OBS: Obtenha os endereços dos Port WWNs

12. Visualização de firmware e bios atuais
./hbacmd LoadList Port_WWN

13. Carregando o firmware aser aplicado
./hbacmd Download Port_WWN /usr/sbin/hbanyware/firmware/version.all

14. reboot


Repita isso em todas as WWNs.

19 de junho de 2011

Informações Hardware

Procure por "dmidecode" em seus repositórios e instale-o, e se não o encontrar, acesse:

Use o comando:

# dmidecode | more

Surgirão várias informações, vá teclando ENTER até achar a sessão "Base Board Information", ela contém as informações da sua placa-mãe.
Linux: Métodos para descobrir modelo da placa-mãe no Linux
"Manufacturer" é o fabricante e "Product Name" é o modelo. Para sair, tecle a letra "q".


Procure por "hardinfo" nos seus repositórios, se não encontrar acesse:

Instale o aplicativo HardInfo. Execute-o e procure por Device -> DMI.
Linux: Métodos para descobrir modelo da placa-mãe no Linux
Observe em Board, à esquerda, as informações da sua placa-mãe. "Name" é o modelo e "Vendor" é o fabricante.


Procure por "lshw" em seus repositórios, se não o encontrar acesse:

Instale o aplicativo lshw. Use o comando:

# lshw -class system
Linux: Métodos para descobrir modelo da placa-mãe no Linux
"Product" é o modelo e "Vendor" é o fabricante.

Espero que essa dica isso seja útil para alguém. 


Publicado por Xerxes Lins em 08/04/2009  no vivaolinux

19 de maio de 2011

Check Disk

#!/bin/bash

DISK=$(df -h | head -n2 | tail -n1 | awk {'print $5'} | rev | cut -d% -f2- | rev)
DISK2=$(df -h | head -n2 | tail -n1 | awk  {'print $5'} | cut -c1,2)

if [ $DISK -ge 90 ]; then
echo "Seu disco encheu"
else
echo "Fica sussa"
fi

2 de maio de 2011

Escondendo o jogo

Bom, atualizei minha máquina pro Ubuntu 11.04, O Natty. Eu geralmente não faço isso, só instalo 3 meses após o lançamento de cada versão. No entanto, a curiosidade estava me matando. Queria muito ver o Unity.

Fiz o upgrade, e ainda estou apanhando pra me acostumar a esse novo ubuntu. Algumas características inovadoras da Apple estão incorporadas ao Natty, além delas existem inovações próprias da comunidade GNU/Linux.

A Dock do Ubuntu apresentou instabilidade 2 vezes, tudo bem que foi por 2 segundos. Aceitável vai, eu não sou critico de cinema. A dock foi muito bem feita.

Mas, uma coisa que eu fiquei muito irritado foi com a minha frequência de CPU. No ubuntu antigo eu tinha um softwarezinho que eu podia alternar a frequência do processador. Era muito interessante e útil. Porém, com esse novo Ubuntu, meu alternador de frequência foi pro beleleu. Então fui caçar uma possível solução:


Você tem duas opções. Se você é do cara que acha que deve consumir tudo que o processador aguenta, ou seja, comprou um six core de 2.8GHz, então não quer ninguém parado, quer que todo mundo trabalhe lá dentro do chip, então você tem que fazer isso aqui:

echo performance >> /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Lembrando que se você tem 90 núcleos, tem que executar esse comando 90 vezes alternando o número do núcleo. Você pode fazer uso de caracter especial ou shell script pra tornar isso mais simples. Você pode fazer um script e mandar ele ser executado toda vez que sua máquina liga. Dessa forma, jogue pro /etc/rc.local ou transforme em daemon.


Caso você tenha mils possibilidade, por exemplo: A se o meu processador chegar a temperatura de 90 graus, ele abaixa o processamento pra 15%, se ele estiver gelado vai pra 80%, se o note estiver na bateria use 40%, se estiver na energia elétrica utilize 100%. Enfim, pessoal que gosta de condições mais adversas possíveis. Então você deve instalar um cara chamado: cpufreqd e configurar tudo que você deseja no /etc/cpufreqd.conf.

Não é difícil, por isso não irei abordar aqui como se configura.


Ah! Observação: Eu tenho certeza que a Intel faz os melhores processamentos do mundo. Mas, a intel é uma bicha porque ao invés de fazer o processador trabalhar a toda, ela faz ele trabalhar na margem de segurança e diz que isso é tecnologia. Quem sofre? O usuário, que compra um processador da intel core i3 que é um bom processador, mas na hora do vamo ver trabalha na margem da segurança e perde pra um AMD.

Aí o usuário tem a falsa impressão que a máquina tá lenta.. enfim.. lastimável. 


Aos fãs da eletrônica: OVERCLOCK NELES! Porque macho que é macho trabalha no limite!



<--------------------------------------------------------------------------------------------------------------------------------->
OBS: Se por acaso você mudar o valor do arquivo scalling_governor e não rolar no Ubuntu é porque o Ubuntu daemonizou isso. No /etc/init.d/ temos o arquivo ondemand. Execute:


cd /etc/init.d/
vi ondemand
Dentro do VI digite :%s/ondemand/performance e depois o enter (isso vai substituir tudo de ondemand para performance)
 
 
O arquivo deve ficar deste jeito:
#! /bin/sh
### BEGIN INIT INFO
# Provides:          performance
# Required-Start:    $remote_fs $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: Set the CPU Frequency Scaling governor to "performance"
### END INIT INFO


PATH=/sbin:/usr/sbin:/bin:/usr/bin

. /lib/init/vars.sh
. /lib/lsb/init-functions

case "$1" in
    start)
        start-stop-daemon --start --background --exec /etc/init.d/performance -- background
        ;;
    background)
    sleep 60 # probably enough time for desktop login

    for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
    do
        [ -f $CPUFREQ ] || continue
        echo -n performance > $CPUFREQ
    done
    ;;
    restart|reload|force-reload)
        echo "Error: argument '$1' not supported" >&2
        exit 3
        ;;
    stop)
        ;;
    *)
        echo "Usage: $0 start|stop" >&2
        exit 3
        ;;
esac



mv ondemand performance
update-rc.d ondemand remove
update-rc.d performance defaults


Pronto! Reinicie a máquina e veja se está funfando (/sys/devices/system/cpu/cpu*/cpufreqd/scalling_governor

24 de fevereiro de 2011

Intel e a família Core

A tecnologia avançada na área de hardware possibilita um avanço desenfreado nos processadores, o que faz o usuário ficar cada vez mais perdido em meio a tantas opções e novidades. Você certamente já deve ter ouvido falar ou até mesmo experimentado um computador dotado dos novos processadores da Intel, porém já sabe as diferenças entre os novos modelos da maior fabricante de CPUs?

A equipe do Baixaki decidiu criar um artigo especial para falar um pouco do muito que estes novos processadores têm a oferecer. Este artigo visa abordar de uma forma compreensível as especificações, capacidades e recomendações de uso sobre cada um. Obviamente, o artigo serve para qualquer usuário que esteja buscando conhecimento e informações gerais, mas também é voltado àqueles que pretendem adquirir um novo CPU.



Intel Core i3
Como todos já devem saber, a Intel lançou três modelos de processadores diferentes. Cada um possui um foco, pois existem usuários com interesses distintos. O Intel Core i3 é a linha de CPUs voltada aos menos exigentes. Por pertencer à nova linha Core, o i3 traz dois núcleos de processamento, tecnologia Intel Hyper-Threading (que possibilita a realização de mais tarefas), memória cache de 4 MB compartilhada (nível L3), suporte para memória RAM DDR3 de até 1333 MHz e muito mais.

Os CPUs da linha Core i3 parecem fracos, contudo eles vieram para substituir a antiga linha Core2Duo. Qualquer Core i3 vem equipado com um controlador de memória DDR interno (o que já ocorre há muito tempo nos processadores da AMD), um controlador de vídeo integrado — Intel HD Graphics que opera na frequência de 733 MHz — e o suporte para utilização de duplo canal para memória RAM (o que significa que as memórias trabalham aos pares).

Tecnologia Intel Hyper-Threading
Em uma época em que os processadores de múltiplos núcleos estão dominando, a Intel decidiu criar modelos que pudessem simular uma quantia ainda maior de núcleos. Se você for analisar que os CPUs da linha Core i3 possuem apenas dois núcleos, pode imaginar que eles não durem muito mais. Contudo, com a utilização da Intel Hyper-Threading, os processadores i3 “ganham” dois núcleos a mais.

Quem já possui um Intel Core i3 deve ter reparado que o Windows detecta quatro núcleos, contudo esse artifício da duplicação dos núcleos não significa muito. E quem pensou que o i3 realmente trabalharia como um processador de quatro núcleos se enganou completamente. Para perceber a diferença entre um processador de quatro núcleos e outro de dois, basta comparar os resultados em desempenho.

Por exemplo, se você colocar um Core i3 ao lado de um Intel QuadCore, não há dúvidas de que o QuadCore terá um desempenho muito maior (em qualquer atividade). Claro que isso não significa que a nova tecnologia não serve para nada, muito pelo contrário. A Intel Hyper-Threading é ideal para momentos em que você precisa efetuar várias atividades simultaneamente. Essa tecnologia serve para que um núcleo consiga realizar duas atividades ao mesmo tempo, daí o motivo pelo qual a tecnologia, supostamente, faz os núcleos dobrarem em quantidade.

O que o i3 consegue realizar?
Tudo o que você quiser. Este processador de dois núcleos mostra-se uma excelente opção para qualquer tipo de atividade. Obviamente ele não é o mais rápido no que faz, mas vai ser muito difícil você encontrar um programa ou jogo que não seja executado com um Intel Core i3.

Troque sua placa-mãe
O Core i3 chegou ao mercado de hardware faz muito pouco tempo, mas desde que apareceu complicou muito a situação para os usuários que gostariam de comprar um modelo da nova linha de processadores. Os modelos da linha Intel Core i3 utilizam um novo soquete (encaixe na placa mãe), fator que forçou as montadoras a criarem placas exclusivas para eles. Conhecido como socket LGA 1156, esse novo tipo de soquete será utilizado para os processadores Intel Core i3, i5 e pelos novos i7.

 ---------------------------------------------------------------------###---------------------------------------------------------

O Intel Core i5
 
Enquanto o i3 fica responsável por atender aos usuários menos exigentes, o Intel Core i5 é encarregado de suprir as necessidades do mercado de porte intermediário, ou seja, aqueles mais exigentes que realizam tarefas mais pesadas. Disponível em modelos de dois ou quatro núcleos, os CPUs da linha i5 possuem até 8 MB de memória cache (nível L3) compartilhada, também utilizam o soquete LGA1156, controlador de memória DDR integrado, tecnologia Intel Hyper-Threading, tecnologia Turbo Boost e muito mais.

O que é e para que serve a tecnologia Turbo Boost?
A tecnologia Turbo Boost da Intel promete aumentar a velocidade do processador automaticamente. Segundo o site da Intel, esta tecnologia é inteligente e trabalha 100% do tempo verificando frequência, voltagem e temperatura do processador. Ao notar uma baixa em um dos valores-padrão utilizados pelo CPU, este novo recurso aumenta a frequência e consegue um desempenho muito maior em qualquer aplicação.

Imagine que a temperatura do processador está abaixo do esperado e você deseja aumentar a velocidade. Com a utilização da tecnologia Turbo Boost você não precisa se preocupar, porque o seu Intel Core i5 vai alterar a frequência ou a voltagem do CPU sem sua permissão e logo você verá um aumento significativo em desempenho. Falando especificamente dos modelos i5, há a possibilidade de um aumento de até 800 MHz na velocidade. Caso você tenha interesse no assunto, pode conferir o artigo que o Baixaki criou sobre o Intel Turbo Boost.

 
Detalhes dos modelos atuais do Core i5
Enquanto a linha i3 possui apenas dois processadores para atender aos usuários, a série Core i5 conta com seis modelos diferentes.

Quanto custa?
Se você já achou o Core i3 caro, então se prepare para o valor cobrado pelos processadores da linha i5. Os processadores mais fracos (Intel Core i5 650) da linha i5 têm preços iniciais em R$ 485 e os mais robustos (Intel Core i5 750) chegam a custar aproximadamente R$ 600.

 
Vale o investimento? Do que o Intel Core i5 é capaz?
Investir tanto num processador e numa placa-mãe pode ser um desperdício de dinheiro em alguns casos. Usuários que vão rodar games de última geração e aplicativos de edição de vídeo talvez nem precisem de um i5. Considerando-se que tais tarefas requisitam muito mais desempenho da placa de vídeo do que poder de processamento do CPU, o gasto pode ser desinteressante.

Claro que se você pode pagar por um Core i5, não há por(espaço)que não investir num processador desses, afinal, ele é capaz de rodar tudo o que você imaginar. Vale frisar que os CPUs desta série não são os mais velozes que existem, portanto sempre haverá um processador capaz de rodar as mesmas aplicações com um desempenho ainda maior.

--------------------------------------------------------------------------###----------------------------------------------------

O Intel Core i7
A última palavra em tecnologia de processamento é o i7. A linha de processadores voltada ao público entusiasta e profissional traz muitos benefícios e especificações de cair o queixo. Todos os CPUs da série Core i7 possuem quatro núcleos (o i7-980X possui seis núcleos), memória cache L3 de 8 MB, controlador de memória integrado, tecnologia Intel Turbo Boost, tecnologia Intel Hyper-Threading, tecnologia Intel HD Boost e ainda o recurso Intel QPI.




Intel HD Boost? Para que serve?
Com o avanço constante dos processadores, os softwares foram forçados a evoluir. Existem softwares que trabalham com conjuntos de instruções específicas, as quais precisam estar presentes nos processadores para que o programa seja executado com a máxima performance. Os conjuntos de instruções principais são denominados como SSE, sendo que existem programas que utilizam instruções diferentes.

A linha de processadores Intel Core i7 trabalha com a tecnologia Intel HD Boost, a qual é responsável pela compatibilidade entre CPU e programas que usam os conjuntos de instruções SSE4. Tal característica possibilita um maior desempenho em aplicativos mais robustos que necessitam de um poder de processamento de alto nível.

 
Intel QPI
O recurso Intel QPI, ou QuickPath Interconnect (Interconexão de caminho rápido), serve para aumentar o desempenho do processador — óbvio, não é mesmo? Afinal, todas as tecnologias são criadas para isso —, contudo, esta trabalha de uma maneira bem diferente .

Ao invés de aumentar a frequência ou a tensão, o recurso Intel QPI aumenta a largura de banda (o que permite a transmissão de mais dados) e diminui as latências. Vale salientar que este recurso só está presente nos CPUs Intel Core i7 da série 900 e possibilita taxas de transferência de até 25.6 GB/s.

 
É um exagero?
Adquirir um i7 só não é um exagero para quem realmente trabalha com programas que requisitam muito do processador. Jogadores e usuários que procuram um CPU robusto talvez nem devam pensar na hipótese de um i7, porque ele custa muito e não traz benefícios significativos.

A linha de processadores Intel Core i7 é, sem dúvida, a mais potente do momento, contudo um usuário que adquire tal processador está comprando um PC que não precisará de atualização por muito tempo. Como já citado, profissionais devem investir na compra de um i7, porque ele faz toda a diferença na hora de renderizar vídeos e economizar tempo com tarefas banais.


Bom... é isso.
Veja também um vídeo explicando todo esse texto:






Fontes: Olhar digital, Baixaki, Wikipedia, INFO

10 de outubro de 2010

Virtualização

Ao falar em virtualização, é inevitável que a maioria das pessoas a associem à ideia de vários sistemas operacionais rodando na mesma máquina. Esse é, na verdade, um dos diversos tipos de virtualização: a de hardware. Se por um lado ela não é a única, por outro é, certamente, a mais perceptível.

O presente artigo contempla os aspectos triviais da virtualização, com noções conceituais, aplicações práticas e sua forma de interação com o usuário final.


A VIRTUALIZAÇÃO EM SI
Para entender perfeitamente o conceito da tecnologia, deve-se traçar um paralelo entre o que é real e o que é virtual. Seguindo essa linha de raciocínio, algo real teria características físicas, concretas; já o virtual está associado àquilo que é simulado, abstrato. Dessa forma a virtualização pode ser definida como a criação de um ambiente virtual que simula um ambiente real, propiciando a utilização de diversos sistemas e aplicativos sem a necessidade de acesso físico à máquina na qual estão hospedados.

Isso acaba reduzindo a relação de dependência que os recursos de computação exercem entre si, pois possibilita, por exemplo, a dissociação entre um aplicativo e o sistema operacional que ele utiliza (já imaginou acessar o Microsoft Word através do Linux?).


E qual é a vantagem?
Prioritariamente, econômica. Com a iminente crise ambiental global (principal fomentadora da TI verde) e a crescente necessidade de diminuir o desperdício de recursos (incluída aí a energia elétrica), não há nada mais natural que o surgimento de alternativas para otimizar o uso de tais recursos.

Agora pense em um computador no qual opere um servidor de e-mails: mesmo que o disco rígido seja plenamente utilizado, não se pode dizer o mesmo sobre sua capacidade de processamento: enquanto ela pode chegar ao ápice em horários de pico (como às 15h), também pode se aproximar da ociosidade durante a madrugada. E se essa “sobra” fosse usada para gerar relatórios, aproveitando melhor o tempo e processamento livres? Na teoria, surtiria a tão desejada economia de recursos; na prática, isso é obtido através da virtualização.


Links sobre máquinas virtuais etc.

http://www.juliobattisti.com.br/artigos/windows/vmware_p2.asp
http://www.visoracle.com/vm/debian50/
http://www.thoughtpolice.co.uk/vmware/
http://virtualboxes.org/images/debian/
http://www.vmware.com/br/
http://www.virtualbox.org/

2 de outubro de 2010

Upgrade da sua máquina

Eae... vamos fazer um upgrade? Um overclock?

Vejam abaixo como fazer isto no GNU/Linux:





Abre ASPAS


Eu tenho duas máquinas que mostram números de performance muito diferentes.

Após alguma pesquisa, eu descobri o que a primeira máquina tem, em /proc/cpuinfo:

model name : Intel(R) Celeron(R) M processor 1.00GHz

enquanto a outra máquina tem:

model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz

e essa parece ser a principal diferença.

Agora, o problema é que o arquivo /proc/cpuinfo é apenas leitura. Seria possível tornar este arquivo "gravável" de modo que eu possa fazer:

echo -n "model name : Intel(R) Core(TM)2 Quad CPU Q6600 @
2.40GHz" > /proc/cpuinfo

na primeira máquina e assim conseguir a performance similar da segunda máquina?

Fecha ASPAS


Mensagem original aqui.

23 de julho de 2010

Hub, Switch e Router - Qual usar?

Muita gente sabe que hub, switch e roteador  são nomes dados a equipamentos que possibilitam a conexão de computadores em redes. Porém, dessas pessoas, muitas não sabem exatamente a diferença entre esses dispositivos. Este artigo explicará o que cada equipamento faz e indicará quando usar cada um.


  • Hub

O hub é um dispositivo que tem a função de interligar os computadores de uma rede local. Sua forma de trabalho é a mais simples se comparado ao switch e ao roteador: o hub recebe dados vindos de um computador e os transmite às outras máquinas. No momento em que isso ocorre, nenhum outro computador consegue enviar sinal. Sua liberação acontece após o sinal anterior ter sido completamente distribuído.

Em um hub é possível ter várias portas, ou seja, entradas para conectar o cabo de rede de cada computador. Geralmente, há aparelhos com 8, 16, 24 e 32 portas. A quantidade varia de acordo com o modelo e o fabricante do equipamento.

Caso o cabo de uma máquina seja desconectado ou apresente algum defeito, a rede não deixa de funcionar, pois é o hub que a "sustenta". Também é possível adicionar um outro hub ao já existente. Por exemplo, nos casos em que um hub tem 8 portas e outro com igual quantidade de entradas foi adquirido para a mesma rede.

Hubs são adequados para redes pequenas e/ou domésticas. Havendo poucos computadores é muito pouco provável que surja algum problema de desempenho.


  • Switch

O switch é um aparelho muito semelhante ao hub, mas tem uma grande diferença: os dados vindos do computador de origem somente são repassados ao computador de destino. Isso porque os switchs criam uma espécie de canal de comunicação exclusiva entre a origem e o destino. Dessa forma, a rede não fica "presa" a um único computador no envio de informações. Isso aumenta o desempenho da rede já que a comunicação está sempre disponível, exceto quando dois ou mais computadores tentam enviar dados simultaneamente à mesma máquina. Essa característica também diminui a ocorrência de erros (colisões de pacotes, por exemplo).

Assim como no hub, é possível ter várias portas em um switch e a quantidade varia da mesma forma.

O hub está cada vez mais em desuso. Isso porque existe um dispositivo chamado "hub switch" que possui preço parecido com o de um hub convencional. Trata-se de um tipo de switch econômico, geralmente usado para redes com até 24 computadores. Para redes maiores mas que não necessitam de um roteador, os switchs são mais indicados.




  • Roteadores

O roteador (ou router) é um equipamento utilizado em redes de maior porte. Ele é mais "inteligente" que o switch, pois além de poder fazer a mesma função deste, também tem a capacidade de escolher a melhor rota que um determinado pacote de dados deve seguir para chegar em seu destino. É como se a rede fosse uma cidade grande e o roteador escolhesse os caminhos mais curtos e menos congestionados. Daí o nome de roteador.

Existem basicamente dois tipos de roteadores:

Estáticos: este tipo é mais barato e é focado em escolher sempre o menor caminho para os dados, sem considerar se aquele caminho tem ou não congestionamento;

Dinâmicos: este é mais sofisticado (e conseqüentemente mais caro) e considera se há ou não congestionamento na rede. Ele trabalha para fazer o caminho mais rápido, mesmo que seja o caminho mais longo. De nada adianta utilizar o menor caminho se esse estiver congestionado. Muitos dos roteadores dinâmicos são capazes de fazer compressão de dados para elevar a taxa de transferência.

Os roteadores são capazes de interligar várias redes e geralmente trabalham em conjunto com hubs e switchs. Ainda, podem ser dotados de recursos extras, como firewall, por exemplo.



Concluindo...


Mesmo para quem quer montar um rede pequena, conectando, por exemplo, três computadores, o uso de "hubs switch" se mostra cada vez mais viável. Isso porque o preço desses equipamentos estão praticamente equivalentes aos dos hubs. Ainda, se você for compartilhar internet em banda larga, um hub switch pode proporcionar maior estabilidade às conexões.

Uma dica importante: ao procurar hubs, switchs ou até mesmo roteadores, dê preferência a equipamentos de marcas conhecidas. Isso pode evitar transtornos no futuro.

A utilização de roteadores é voltada a redes de empresas (redes corporativas). Além de serem mais caros (se bem que é possível até mesmo usar um PC com duas placas de rede como roteador), tais dispositivos também são mais complexos de serem manipulados e só devem ser aplicados se há muitos computadores na rede. No entanto, muitos usuários de acesso à internet por ADSL conseguem usar seus modems (se esses equipamentos tiverem esse recurso) como roteador e assim, compartilham a conexão da internet com todos os computadores do local, sem que, para tanto, seja necessário deixar o computador principal ligado. Basta deixar o modem/roteador ativado.

14 de maio de 2010

FileSystems

Créditos robertors.blogspot.com

Para saber tudo sobre sistemas de arquivo faça o download do pdf abaixo.



LINK PARA DOWNLOAD --> Clique aqui

8 de maio de 2010

Os Terabytes de um filme

Os Terabytes de um filme

Por Lucas Sabino




Após a leitura de um artigo da revista INFO desse mês escrita pela jornalista Fernanda Ezabella, fiquei meio bolado e curioso e fui atrás de mais informação. Claro que a idéia de muito processamento é facilmente ligada à geração e produção de um filme, entretanto não sabia que precisasse de tanto hardware.


No artigo da jornalista ela frisa que a produção do filme Avatar, por exemplo, além de custar uma grana líquida, custou também uma grande gama de servidores. Na realidade ela afirma e cita uma expressão chamada de “fazenda de servidores” e/ou “fazenda digital”, que, nada mais é que a união de vários servidores como se fosse um datacenter, porém diferentemente do datacenter, todos os núcleos de processamento teriam um foco só.


Descobri que para a criação, desenvolvimento e conclusão do filme Avatar foram necessários 4352 servidores (UOUUUUUUUUUU/UAUUUUUUU). Foram 102 TERABYTES de RAM (EU TO DOIDOOOO). E eu aqui com os meus 4GB de ram, e ainda por cima só utilizo 1,5GB no meu ubuntu cheio de efeito gráfico e ainda tem swap de backup.


O desenvolvimento do filme do Avatar foi coisa meio de software livre. Mais de 900 pessoas de 46 países diferentes se entrerelacionando para trabalhar e finalizar essa obra de arte: Avatar. Muitas pessoas e muito poder de fogo, 900 pessoas e 4352 servidores não é pra qualquer um, são 34816 núcleos – coitados dos processadores da Intel, haja Xeon.


Além de utilizar um hardware du mau, eles também tiveram que criar tecnologias para fazer o filme. Criaram muita coisa na parte de iluminação e sombreamento de imagens e/ou vídeos. Com isso, eles conseguiram criar de forma eficiente a obstrução de ambientes de grande porte, como a floresta lá do filme.


Bom, eu vi o filme e gostei. Mas, não sabia que tiveram tantos servidores por trás da renderização. Simplesmente incrível, ou melhor, medo desses caras. Como juntar tanta máquina, como fazer tanto cluster. Uma coisa é juntar 10 máquinas, outra coisa é juntar mais de 4 mil servidores.


Quando o assunto é sistema operacional pra aguentar esse tranco é meio óbvio né. Ninguém aí pensou em Microsoft né, pelo amor de deus. Um passarinho me contou que foram usados apenas Unixes, ou seja, Apple e seus produtos + GNU/LINUX + FreeBSD.



Se você não ficou surpreso com esse artigo, então deve ter uma máquina du mau em casa. Poderia me dar apenas 1 TB de RAM? Ou 50 processadores Intel Xeon rodando juntos? Rsrs. Acho que não é tão comum, certo?



Bom, pessoal, é isso!

Abraço!

11 de dezembro de 2009

Conhece vosso hardware

Além da opção lshw, você também pode usufruir da opção dmidecode. Imaginem a seguinte situação:

Estou eu montando um roteador novo pro velox aqui na empresa e vejo que a BIOS só reconhece pentes DIMM de 128Mb. Caceta. Abro a máquina e procuro em algum lugar impresso o modelo da motherboard (antiga como o cão). Não tem. E agora pra eu identificar o modelo dessa porcaria? Vou ao google. Eis que acho o dmidecode. mão na roda, ele me deu informações de tudo o que eu precisava e minutos depois já estava com a BIOS atualizada. \o/

# dmidecode 2.8

SMBIOS 2.33 present.

41 structures occupying 1340 bytes.

Table at 0xCFF79000.Handle 0x0000, DMI type 0, 20 bytes

BIOS Information

Vendor: Phoenix Technologies LTD

Version: 6.00

Release Date: 08/13/2005

Address: 0xE4760

Runtime Size: 112800 bytes

ROM Size: 1024 kB

Characteristics:

ISA is supported

PCI is supported

PNP is supported

BIOS is upgradeable

BIOS shadowing is allowed

ESCD support is available

Boot from CD is supported

Selectable boot is supported

EDD is supported

3.5"/2.88 MB floppy services are supported (int 13h)

ACPI is supported

USB legacy is supported

LS-120 boot is supported

ATAPI Zip drive boot is supported

BIOS boot specification is supported

Handle 0x0001, DMI type 1, 25 bytes

System Information

Manufacturer: Itautec

Product Name: MX200

Version: 0123456789

Serial Number: CO8P301100003

UUID: 80F1E964-DC63-0010-89D5-0030482E46A2

Wake-up Type: Power Switch

Handle 0x0002, DMI type 2, 8 bytes

Base Board Information

Manufacturer: Itautec

Product Name: DT2520

Version: PCB Version

Serial Number: 0123456789

Handle 0x0003, DMI type 3, 17 bytes

Chassis Information

Manufacturer: Supermicro

Type: Other

Lock: Not Present

Version: 0123456789

Serial Number: 0123456789

Asset Tag:

Boot-up State: Safe

Power Supply State: Safe

Thermal State: Safe

Security Status: None

OEM Information: 0x00001234



Sacaram???

lshw

Uma das dificuldades de pessoas iniciantes ou até mesmo pessoas mais experientes que administram redes e sistemas é conhecer realmente a especificação do hardware e muitas das vezes informações que julgamos irrelevantes, por exemplo: o vendedor do hardware, qual o firmware que o mesmo utiliza? Qual o padrão? O.E.M? E o BIOS? Qual a empresa que o fornece? Essas e outras questões podem ser respondidas com facilidade. O objetivo deste documento é esclarecê-lo de forma clara e bastante detalhada.

Em diversos momentos nos perguntamos, qual é o driver ou módulo que estamos utilizando? Pois a facilidade que temos com a instalação do Linux não precisarmos instalar drivers de hardware após a instalação do sistema. Você já teve curiosidade em saber qual o comando ou aplicativo que lhe fornece o modelo de sua placa mãe? Nos gera a dúvidas sobre o máximo e mínimo suportado em nosso processador, saber qual a quantidade de cache? Ele é 32 ou 64 bits? Se não, então irei mostrar-lhes o comando lshw, que tenho certeza que irá ajudar-lhe muito em suas dúvidas a respeito do seu hardware. Pois bem, esse comando é originado de um software cujo nome é o próprio comando lshw, que recebeu este nome por Hardware lister (Listar Hardware).

O lshw é uma pequena ferramenta para fornecer informações referentes ao conjunto de hardware que compõe sua maquina, ele possui uma enorme eficiência em mostrar a configuração exata de seu processador, bem como a velocidade, quantidade de clock e cache. Enfim, todos os componentes ou peças que formam seu computador. Também é capaz de identificar a versão do software ou firmware que controlam o hardware, e faz isso de forma precisa e eficiente. Foi desenvolvido em C++ e está vinculado do ao projeto eZIX, iniciado em 2002 com o objetivo de elaborar uma usável ferramenta para sistemas UNIX, com base no Linux e libc.

O lshw está disponível para sistemas baseados em plataforma Unix, bem como os sistemas operacionais Linux e suas derivações e sistema Mac e Mac OS X. Atualmente ele se encontra na versão 2.14 e está disponível para todas as distribuições Linux como já mencionado. Sua instalação pode ser feita por meio de gerenciadores de instalação da distribuição Linux que está usando no momento. No quadro abaixo uma relação de formas de instalação em algumas distros.

Instalação dos pacotes no Ubuntu:

# apt-get install lshw lshw-gtk

Instalação dos pacotes no Mandriva:

# urpmi lshw

Instalação dos pacotes no Fedora:

# yum install lshw lshw-gui

Instalação dos pacotes no Gentoo:

# emerge lshw

Após a instalação do programa podemos utilizá-lo, mas antes veremos o que podemos obter se o utilizarmos de forma correta e precisa. O programa te permite exibir relatório de acordo com o formato, podendo ser HTML, XML, relatório resumido. Para usá-lo basta que execute o comando lshw seguido do parâmetro que desejas. Uma das primeiras coisas que podemos testar é a versão do software e para isso o usamos o comando: lshw -version, que exibirá na saída padrão o resultado com a versão do software. Abaixo temos os seguintes modos de uso de desse programa junto com as opções de relatório.

O programa sempre retorna os resultados na saída padrão, caso você queira colocá-lo direto em um arquivo pode usar o redirecionamento para um arquivo, veja as três situações abaixo:

HTML na saída padrão:

# lshw -html

HTML no arquivo:

# lshw -html > nomedoarquivo.html

XML na saída padrão:

# lshw -xml

XML no arquivo:

# lshw -xml > nomedoarquivo.xml

Podemos também obter relatórios reduzidos contendo apenas informações mais especificas e objetivas, como por exemplo, saber somente informações reduzidas de cada hardware. Abaixo duas formas simplórias para dois parâmetros, o -short e o -businfo. São poucas as diferenças entre um e outro, mas o -short indica o caminho de cada dispositivo. O parâmetro -businfo faz referência aos controladores de hardwares. Veja os comandos abaixo.

# lshw -short
# lshw -businfo

Por fim, terminando as opções de linha de comando, pode ter uma opção interessante que é fazer busca de dispositivo por classe, que ao contrário de se aplicar o comando sozinho, que lhe mostrará muitos resultados. Podemos filtrá-lo, por exemplo: "quero somente as especificações do processador". Neste caso teremos que saber em qual classe o processador se encontra. Com os comandos que foram aplicados acima podemos obter essa informações.

Pois bem, veja um exemplo para obter informações somente de um hardware específico.

Comando para saber somente as especificações da placa mãe:

# lshw -class system

O resultado deste comando detém todas especificações da sua placa mãe, em meu computador o resultado deste comando foi o seguinte:
    androide                 
description: Desktop Computer
product: P4V8X-MX
vendor: System manufacturer
version: 1.00
serial: 00000000
width: 32 bits
capabilities: smbios-2.3 dmi-2.3 smp-1.1 smp
configuration: chassis=desktop cpus=1 uuid=00020003-0004-0005-0006-000700080009

Caso não entenda as especificações acima, no final deste artigo deixarei duas tabelas para melhor explicar.

Por fim podemos usar o programa em modo gráfico, que consiste em um comando ou uma execução no executar comando de sua distribuição, no meu caso estou usando Ubuntu e para fazer isso eu uso o Alt + F2. Então aperte Alt + F2 e digite lshw-gtk ou lshw -X no terminal e uma tela aparecerá contendo as especificações do hardware. Para ver uma prévia de como é a interface do programa, acesse este link (screenshot).

Então por hora aí está o programa que ajudará em todas as suas dúvidas a respeito de hardware e de firmware. Quando me referi ao título que poderia ver toda a especificação com apenas um comando, você pode usar somente o comando lshw.

1 de dezembro de 2009

Debian Multimedia

Olá!!!
Para quem trabalha com som e vídeo, pode encontrar muitos aplicativos e codecs no repositório multimídia do Debian…
Para adicionar este repositório no sources.list, vá ao Terminal e siga os seguintes passos:

Edite o arquivo /etc/apt/sources.list

sudo gedit /etc/apt/souces.list

Adicione ao final do arquivo as linhas abaixo:

## Debian Multimedia (pacotes do mplayer, vários codecs e outros pacotes)
deb http://www.debian-multimedia.org stable main
deb-src http://www.debian-multimedia.org stable main
deb http://www.debian-multimedia.org testing main
deb-src http://www.debian-multimedia.org testing main

Salve e feche o arquivo.

Volte ao Terminal e execute os seguintes comandos:

sudo apt-get update
sudo apt-get install debian-multimedia-keyring

Nota: Este último comando serve para instalar as chaves públicas que permitem acesso ao repositório.

Para consultar a lista de pacotes disponíveis neste repositório acesse o endereço:

http://www.debian-multimedia.org e click no link Packages e depois escolha sua plataforma, se estiver com o Ubuntu de 32 bits instalado, selecione a plataforma i386.

Multimedia Debian

Usa Debian e quer assistir filmes em wmv, rmvb, ouvir suas mp3? Então leia este pequeno artigo preparado para lhe ajudar!


Bem, como muitos, mas nem todos sabem, existem formatos de arquivos multimedia proprietários e entre eles os mais usados são o wmv, do windows, o rmvb que é o formato utilizado pelo Real Media, e o mais conhecido de todos que é o formato de músicas mp3.

O Debian, assim como muitas outras distribuições, não vem com suporte à estes formatos por roblemas com patentes em alguns países, mas podemos instalar esse suporte sem maiores problemas. Bem em primeiro lugar devemos ter configurado em nossa source.list (/etc/apt/source.list) os epositórios contrib e non-free, se você não sabe fazer isso não tem problema, eu ensino: Edite o arquivo /etc/apt/sources.list, a linha que é mais ou menos assim:

deb http://ftp.debian.org/debian/ stable main

Deve ficar assim:

deb http://ftp.debian.org/debian/ stable main non-free contrib

Para enteder melhor o que foi feito aqui e o que são as opções "contrib" e "non-free" adicionadas leia isso. Após adicionar as opções atualize a lista de pacotes do apt:

# aptitude update

Ok, agora vamos lá, vamos instalar os pacotes para curtir um pouco de multimedia!
Vamos começar pelo mp3, existe um programinha tocador de mp3 que é utilizado via linha de comando, é o mpg321, eu já comentei sobre ele. Quando você instala esse tocador ele instala também os codecs necessários para a reprodução de mp3, o mp3-decoder, mas é claro que você pode instalar apenas o mp3-decoder.

Um excelente tocador de musicas para Gnu/Linux é o Amarok, ele organiza sua coleção de acordo com os artitas, separa os discos, mostra a letra da música em execução e mais algumas funcionalidades de fazer inveja a alguns players famosos. Ele é desenvolvido oficialmente para o KDE, mas não há problemas em utilizá-lo com outros gerenciadores de janelas, para instalá-lo use:

# aptitude install amarok

Instale também o engine do xine, que o Amarok usa para a reprodução:

# aptitude install amarok-xine

E não podemos nos esquecer do decoder mp3 do xine:

# aptitude install libxine1-ffmpeg

Pronto já pode curtir suas mp3 enquanto segue o restante do artigo =).
Vamos agora aos vídeos em wmv. Para assistir esse tipo de vídeo você precisa de uma certa coletânia de codecs que podem ser encontrados no pacote w32codecs, simplesmente faça o download desse arquivo e instale com o comando:

# dpkg -i w32codecs*.deb

Uma segunda opção é adicionar o repositório do debian-multimedia.org ao apt, esse é um projeto que tem o propósito de facilitar a vida de usuários Debian quando o assunto é multimedia.
Para fazer isso adicione esse linha ao seu arquivo /etc/apt/sources.list:

deb http://www.debian-multimedia.org etch main

depois disso atualize seu apt e instale o pacote debian-multimedia-keyring para configurar a chave GPG do repositório. Depois mais uma atualização já com a chave configurada:

# aptitude update
# aptitude install debian-multimedia-keyring
# aptitude update

Agora basta instalar os codecs:
# aptitude install w32codecs
Agora use o seu player favorito para assistir os vídeos, eu gosto bastante do Kaffeine e também do MPlayer.
Vamos agora aos vídeos em Real Media. Esses são os mais chatinhos, pois em geral funcionam apenas com o Real Media Player que eu particularmente não gosto, motivos para isso? tenho sim! Uma vez estava vendo um vídeo e precisei abaixar o volume para atender ao telefone, acabou que eu não assisti o restante do vídeo e depois disso o som da máquina ficou no zero, eu então reconfigurei o alsa, chequei os mixers e nada e quando eu lembrei que o Real Media Player estava no volume zero eu percebi que ele é tão folgado que domina o som do PC completamente, nem o mixer do alsa ganha dele...

Mas então... há alguma alternativa?
Bem você pode instalar o Realplayer e não utilizá-lo, pois quando você o instala do repositório do Debian Multimedia ele instala os codecs e então você pode assistir os arquivos em qualquer player, no Kaffeirne funcionou muito bem, no MPlayer também. Então instale o Real Player com:

# aptitude install realplayer

Lembrando que você precisa ter o repositório Debian Multimedia para instalar o Real Player dessa forma.
Bem, então é isso, agora seu Debian vai ficar turbinado para assistir seus vídeos e ouvir suas músicas.

Descobrindo algum MAC pelo ip

Hello galera...

eae ebeluza???

gostaria de comprtilhar isso que falarei logo a seguir. Imagina que vc quer pegar o MAC Address de uma máquina, mas só tem o ip dela. Mas, nenhuma informação como vc faz?


Você pode fazer de duas formas

1- Pinga o broadcast e depois dà um arp -a

ou

2 - nmap -vv -PO 192.168.x.x



obrigado galera por visitar o blog

Abraços!

16 de outubro de 2009

Firewall e Iptables - conceitos

Por Lucas Sabino

No meu último post possui muitas informações sobre iptables, tabela mangle e etc. Muitas pessoas que viram o artigo me contactaram pedindo um artigo mais básico, mas simples. Para que, só após isso compreendessem o sentido do artigo do MTU. Então irei começar lá do início... Com alguns conceitos.

1. O que é um firewall?
2. O que é netfilter/iptables?
3. Termos: Statefull e Stateless
4. O Iptables
5. IPTABLES: Tables, Chains e sua arquitetura
6. Iptables e seus Estados de Conexão
7. Como funciona o Iptables
8. Bibliografia



1. O que é um firewall?
Firewall é o nome dado ao dispositivo de uma rede de computadores que tem por objetivo aplicar uma política de segurança a um determinado ponto de controle da rede. Sua função consiste em regular o tráfego de dados entre redes distintas e impedir a transmissão e/ou recepção de acessos nocivos ou não autorizados de uma rede para outra. Este conceito inclui os equipamentos de filtros de pacotes e de proxy de aplicações, comumente associados a redes TCP/IP.


2. O que é netfilter/iptables?
O netfilter é um módulo que fornece ao sistema operacional Linux as funções de firewall, NAT e log dos dados que trafegam por rede de computadores. Iptables é o nome da ferramenta do espaço do usuário que permite a criação de regras de firewall e NATs. Apesar de, tecnicamente, o iptables ser apenas uma ferramenta que controla o módulo netfilter, o nome "iptables" é frequentemente utilizado como referência ao conjunto completo de funcionalidades do netfilter.


3. Termos: Statefull e Stateless
A diferença entre Stateful e Stateless é básica: O firewall que é Stateful vai guardar o estado dos objetos/conexões, enquanto o firewall Stateless vai reconhecer a cada requisição como uma nova conexão.


4. O iptables
A partir do kernel do Linux 2.4 foi introduzido o firewall iptables em substituição ao ipchains que estava embutido nos kernels da série 2.2. O novo firewall tem como vantagem ser muito estável, confiável, permite muita flexibilidade na programação de regras pelo administrador do sistema, mais opções disponíveis ao administrador para controle do tráfego, controle independente do tráfego local, entre redes e de interfaces devido a nova organização das etapas de roteamento de pacotes.

O iptables é um firewall em nível de pacotes e funciona baseado nos endereços de origem e destino, nas portas de origem e destino, prioridades e outros. Ao receber os pacotes o iptables os submete a uma comparação com as regras estabelecidas pelo administrador para saber se um pacote tem ou não permissão para passar. Em firewalls mais restritivos o pacote ao ser bloqueado é registrado em um arquivo de log para posterior análise do administrador do sistema.

Outras funções do iptables podem ser usadas para modificar e monitorar o tráfego da rede, fazer NAT, redirecionamento de pacotes, marcação de pacotes, modificar a prioridade dos pacotes que chegam e saem do sistema, contagem de bytes, divisão de tráfego entre máquinas, criar proteções anti-spoofing, contra syn flood, DoS, o tráfego vindo de máquinas desconhecidas da rede pode ser bloqueado e registrado através do uso de regras simples.

As possibilidades oferecidas pelo iptables juntamente com as ferramentas UNIX maduras dá ao administrador do sistema possibilidades quase que infinitas na criação das regras, ficando a cargo de sua imaginação definir quais recursos utilizar. Para criar regras realmente efetivas precisamos ter informações como o que é necessário bloquear, quais interfaces o sistema possui, o que tem acesso garantido, quais serviços devem estar acessíveis para cada rede, e a partir daí começar a montar o firewall.


5. IPTABLES: Tables, Chains e sua arquitetura
O iptables é considerado um firewall de primeira geração, pois possui comportamentos diferente de seus antecessores ip-chains e ipfwadm, que funcionavam apenas como filtro de pacotes stateless. Funcionando como um filtro de pacotes statefull o iptables possui a capacidade de atuar sobre as camadas do protocolo TCP. Apesar da implementação do firewall stateless ser mais simples, ele apresenta uma configuração mais trabalhosa, além de ser menos seguro se comparado aos filtros baseados em estado de conexão (Statefull).

Para o filtro de pacotes stateless todo pacote recebido é considerado novo, independente do fluxo de informação em questão (requisição ou resposta). Já com o iptables é possível trabalhar com um filtro de pacotes statefull, através da definição de regras como: nova(NEW), estabelecida (ESTABLISHED), reincidente (RELATED) ou inválida (INVALID), que permitem identificar os “estados de conexão”.

Outra característica do iptables é a modularização o que permite adicionar novas funcionalidades de maneira extremamente simples, ficando assim, a cargo do administrador decidir que módulos atendem melhor suas necessidades.

O iptables possui uma organização baseada em três tipos de tabelas (filter, nat e mangle), e cada tabela possui suas respectivas chains (prerouting, postrouting, input, forward, output) de acordo com a sua funcionalidade. Nesse caso podemos classificar chain como um conjunto de regras com objetivos semelhantes. Para melhor entendimento temos:

• A chain INPUT é responsável por definir as regras que farão a filtragem de pacotes cujo endereço de destino é o firewall.

• A chain FORWARD é responsável por comportar as regras que farão a filtragem dos pacotes que passarão pelo firewall, ou seja, que possuem como endereço de destino algum host fora da rede interna.

• A chain OUTPUT fica responsável por estabelecer as regras para a filtragem dos pacotes que são originados pelo próprio firewall.

• A chain PREROUTING é responsável por definir regras específicas de roteamento antes que o pacote seja enviado para a chain INPUT ou FORWARD, podendo realizar algum redirecionamento de conexão (através do alvo DNAT) ou de porta (através do REDIRECT).

• A chain POSTROUTING fica responsável por regras específica de roteamento após o pacote ter passado pelas chains PREROUTING, INPUT ou FORWARD ou OUTPUT, podendo realizar algum tipo de filtro ou troca de endereços IPs de origem, através do alvo SNAT ou MASQUERADE.

As chains são organizadas por tabelas, ou seja, cada tabela possui um conjunto de chains variando de acordo com a sua funcionalidade, para melhor entendimento temos:

• A tabela filter define as principais regras de permissões de acessos (filtros) do firewall, e comporta as chains INPUT, FORWARD e OUTPUT.

• A tabela nat é responsável pela implementação do NAT, e através dela podemos realizar redirecionamento de conexões e acessos compartilhados. A tabela nat comporta as chains PREROUTING e POSTROUTING.

• A tabela mangle é utilizada para aplicar regras de acesso a qualquer pacote recebido pelo firewall, podendo também marcar pacotes para realização de balanceamento de carga, além de muitas outras possibilidades. A tabela mangle nas versões de kernel mais atuais comporta todas as chains (PREROUTING, INPUT, OUTPUT, FORWARD e POSTROUTING).

- A tabela raw - Essa tabela é usada principalmente para a configuração de isenções de monitoramento de conexão, em combinação com o NOTRACK. Ele registra no netfilter hooks com maior prioridade e é assim chamado antes ip_conntrack, ou qualquer outro IP tables. As suas chains são as seguintes: PREROUTING (para pacotes que chegam através de qualquer interface de rede) e OUTPUT (para pacotes gerados por processos locais).


6. Iptables e seus Estados de Conexão
O iptables inclui um módulo que permite aos administradores inspecionar e restringir conexões a serviços disponíveis numa rede interna, usando um método chamado registro de conexão (connection tracking). O registro de conexão armazena as conexões numa tabela, que permite aos administradores permitir ou negar acesso baseado nos seguintes estados de conexão:


/NEW (nova) — Um pacote requisitando uma nova conexão, como um pedido HTTP.

/ESTABLISHED (estabelecida) — Um pacote que é parte de uma conexão existente.

/RELATED (relacionado) — Um pacote solicitando uma nova conexão, mas que é parte de uma conexão existente, como conexões FTP passivas, nas quais a porta de conexão é 20, mas a porta de transferência pode ser qualquer uma (de 1024 para cima) não usada.

/INVALID (inválido) — Um pacote que não faz parte de nenhuma das conexões da tabela de registro das conexões.

Você pode usar a funcionalidade de estado do registro de conexões do iptables com qualquer protocolo de rede, mesmo que o próprio protocolo seja sem estado/'stateless' (como o UDP).


7. Como funciona o IPTABLES
Com o passar do tempo e a evolução dos ataques o filtro de pacotes estático (static packet filtering) passou a não ser tão eficiente no confronto às novas modalidades de ataques. Para resolver esse problema o filtro de pacote estático teve que passar por uma reformulação, dando origem a um novo conceito em filtragem de pacotes. Conhecido como filtro de pacotes dinâmico (dynamic packet filtering) ou filtro de inspeção de estados (stateful inspection), o novo firewall toma decisões de filtragem baseado nas informações dos pacotes de dados e da sua tabela de estados, além de levar em consideração todos os dados do pacote, e não apenas o cabeçalho.
O IPTABLES por ser considerado um filtro de pacotes dinâmico, incorpora todas as características citadas acima, e funciona da seguinte maneira:



Passo 1: No cenário ilustrado acima quando um usuário deseja iniciar uma conexão ele envia um pacote SYN para o firewall;

Passo 2: o firewall ao receber o pacote SYN o submete à tabela de regras definida pelo administrador da rede;

Passo 3: se o pacote não passar por uma das regras ele é descartado e a conexão é rejeitada;

Passo 4: no caso do pacote passar sem problemas por todas as regras, a sessão é cadastrada na tabela de estados do firewall que se encontra na memória do kernel;

Passo 5: após o cadastro na tabela de estados o pacote é enviado para o destino. A partir do momento que a sessão está cadastrada os próximos pacotes são submetidos diretamente à tabela de estados, e se fizerem parte de alguma sessão da tabela são liberados, senão são descartados.




8. Bibliografia
- JUCÁ, Humberto L. Técnicas Avançadas de Conectividade e Firewall em GNU/LINUX. 1. Ed. Rio de Janeiro: Brasport, 2005.

- SILVA, Gleydson Mazioli. Guia Foca GNU/Linux. Versão 5.60. Espírito Santo: Vitória, 2007.

- NAKAMURA, Emilio Tissato.(2000). Um Modelo de Segurança de Redes para Ambientes Cooperativos. Dissertação (mestrado) – Unicamp, 2000.


http://pt.wikipedia.org/wiki/Netfilter
http://netfilter.org
http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-sg-pt_br-4/s1-firewall-state.html
http://under-linux.org/f46832-estado-de-conexoes
http://pt.wikipedia.org/wiki/Firewall
http://en.wikipedia.org/wiki/Stateful_firewall
http://www.akadia.com/services/pppoe_iptables.html

man pages linux iptables




Bom, é isso pessoal! Acho que o basicão está aí
flw!

11 de outubro de 2009

O Problema do MTU do PPPoE

Por Lucas Sabino


Caros leitores, se você nunca ficou sabendo de tal coisa é necessário ler e aprender. Eu não tinha a mínima idéia (ideia para quem já está seguindo à risca a nova língua portuguesa) que isso existia. Mas, existe. Meu chefe (meus dois chefes) mandaram eu fazer um monte de firewall em um monte de servidores pelo Brasil a fora (esse a fora foi exagero, é só Brasil mesmo) (devo mais essa pro SSH, imagina eu indo pro Acre, Curitiba ou sei lá mais onde!!??). Acho que são uns 15 firewall. Na realidade não preciso fazer propriamente dito, preciso traduzir do modelo FERM (For Easy Rule Making) para o modelo Iptables. Bom esse ferm até que em bem mais fácil. Você configura um firewall em 20 linhas.

Enquanto no iptables você faria isso numas 50. Mas, ainda sim, sou mais o grande IPTABLES. Me deparei com a seguinte linha no conf fo FERM: "table mangle { chain FORWARD { interface $LAN_IF proto tcp tcp-flags (SYN RST) SYN TCPMSS clamp-mss-to-pmtu;" Aí eu falei, fudeu!! E agora??? que bagaça é essa???? mangle blz é table mas TCPMSS, mss pmtu mtu??? que que é isso? Bom, vamos ao que interessa, a introdução já foi feita! O PROBLEMA DO EMPACOTAMENTO DA PPPoE A fonte desse texto eu traduzi do link a seguir --> http://www.akadia.com/services/pppoe_iptables.html. Quem quiser poderá ler em sua fonte original em inglês. Quem não quiser leia a tradução aqui mesmo.  


Alguns termos devem estar na ponta da língua: MTU PPP PPPoE.  

MTU
Em redes de computadores, MTU significa Unidade Máxima de Transmissão, e refere-se ao tamanho do maior datagrama que uma camada de um protocolo de comunicação pode transmitir. O protocolo IP permite a fragmentação de pacotes, possibilitando que um datagrama seja dividido em pedaços.

PPP
O protocolo ponto-a-ponto (point-to-point protocol, em inglês), também conhecido como PPP, foi desenvolvido e padronizado através da RFC 1661(1993) com o objetivo de transportar todo o tráfego entre 2 dispositivos de rede através de uma conexão física única. Na prática, a interface PPP é implementada através de conexões físicas do tipo RS-232 ou modens. Atualmente é possível usar conexões PPP até sobre Ethernet (PPPoE). Em suma, é a conexão discada slowmotion que todo mundo conhece só pelo barulinho agradável.

PPPoE
PPPoE (Point-to-Point Protocol over Ethernet) é um protocolo para conexão de usuários em uma rede Ethernet a Internet. Seu uso é típico nas conexões de um ou múltiplos usuários em uma rede LAN à Internet através de uma linha DSL, de um dispositivo wireless (sem fio) ou de um modem de cabo broadband comum. O protocolo PPPoE deriva do protocolo PPP. O PPPoE estabelece a sessão e realiza a autenticação com o provedor de acesso a Internet. Em suma, é o Speedy (SP) ou Velox (RJ, MG, nordeste, aonde a Oi é operadora padrão).


Com esses termos na ponta da língua, vamos ao texto: O PROBLEMA MTU

Uma interface Ethernet pode ter um pacote que tem no máximo 1518 bytes. 14 bytes desses são usados pelo cabeçalho, e 4 para uma seqüência de pacotes de checagem. Ou seja, temos ainda 1500 bytes a serem usados. 1500 é o padrão para conexões PPPoE.

Esse é o tamanho que o pacote PPPoE possui quando a interface não fragmenta ele. A conexão PPPoE adiciona outros 6 bytes a essa perda, além do protocolo PPP consumir 2 bytes. Assim, nosso datagrama possui 1492 bytes. O MTU da conexão PPPoE é então 1492 bytes.

Quando uma conexão TCP é inicializada, cada lado dos agentes/clientes do TCP pode ter o seu próprio tamanho de fragmentação do seu pacote (MSS - Maximum Segment Size). O TCP é respnsável por ouvir/conversar com esses fragmentos, enquanto o MSS determina o tamanho máximo para que ele seja aceito. Por padrão, o MSS é escolhido como o MTU a partir de uma interface de saída menos usual do TCP e cabeçalhos IP (40 bytes), que resulta num MSS de 1460 bytes para a interface de Ethernet.

O TCP não quer fragmentação, quanto menos pra ele melhor! Então, ele usa o MSS para não causar fragmentações a mais na sua interfae de saída. Eventualmente, eles podem trabalhar como MTU causando uma fragmentação nos seus pacotes. O TCP descobre o caminho MTU. No caminho da descoberta do MTU, uma pilha TCP define um especial ponto de "não fragmente" (DF) em datagramas IP. Roteadores que não pode encaminhar o datagrama sem fragmentá-lo é suposto largá-lo e enviar um ICMP Fragmentation "necessário" datagrama ao host de origem.

Nesse estágio, os hosts de origem tentam um valor baixo para MTU. Eventualmente, muitos roteadores são "anti-sociais" e não geram a fragmentação dos datagramas como foi mandado. Eles são rebeldes! (rs). Muitos Firewall são igualmente anti-sociais e bloqueiam todos os pacotes ICMP.

Agora vamos considerar uma estação cliente conectada de uma Ethernet LAN até um gateway PPPoE. O cliente abre, depois de conectado, uma conexão para com um servidor web. Ele sugere um MSS de 1460 bytes porque seu MTU é 1500. O servidor web possui também uma interface Ethernet e sugere um MSS de 1460. A máquina cliente então pede a página web. Essa requisição é tipicamente pequena e aproxima o servidor web. O servidor responde com muitos fragmentos TCP, a maioria sendo do tamanho 1460 bytes.

O tamanho máximo de fragmentação do pacote é 1500 bytes no datagrama IP, porém o pacote é segmentado em menos bytes por eles. E daí vai para o provedor DSL que não manda ICMP para o servidor web.

A internet silencia o pacote, ele é dropado (rejeitado, apagado). O cliente web fica esperando pelos dados, e o servidor web transmite os dados finalmente, ou a conexão é fechada pelo usuário.

Uma maneira de contornar isso é criar um outro MSS para definir a rota padrão em todos os hosts LAN atrás do gateway PPPoE. Isso é chato, pois requer mudanças em cada host. Em vez disso, RP-PPPoE "em escuta" sobre a negociação MSS e modifica a MSS se for demasiado grande. Ajustar o MSS é um hack. Ela quebra o conceito de transporte da camada ser final-para-final (client-server). Não vai funcionar com o IPSec, IPSec, porque não vai deixar você danos pacotes IP (eles não conseguirão autenticar.) No entanto, é uma solução bastante eficaz para um problema , e é usado por padrão no RP-PPPoE."

- Mas, ok ok ok... Mas, Sabino você não disse como resolve no Iptables!

- Calma Pequeno gafanhoto... Espere um pouco...



Agora! Vamos à solução no Iptables:

iptables -t filter -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

ou

iptables -t nat -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu TCPMSS --clamp-mss-to-pmtu -o ppp0

ou

iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -o eth1 -j TCPMSS --set-mss 1472
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -o eth1 -j TCPMSS --clamp-mss-to-pmtu
iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o eth1 -j TCPMSS --set-mss 1472
iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o eth1 -j TCPMSS --clamp-mss-to-pmtu


Vai depender do que você quer fazer e como você quer fazer. Depende da sua tabela, se é filter | nat | mangle.

Espero ter ajudado! flw!