Controle de banda sem mistérios para servidores

 Clusterweb, Leitura Recomendada, Linux, Redes, Segurança  Comentários desativados em Controle de banda sem mistérios para servidores
out 102013
 

Iniciando e finalizando sem rodeios.

Vendo que muitos ainda brigam para implementar banda no Linux usando CBQ e cia, resolvi postar este pequeno texto para mostrar a todos uma maneira bem fácil de se ter isto sem nenhuma dor de cabeça.

Há também uma versão para se controlar p2p, mas ainda não testei então brevemente coloco uma “emenda” (vamos lembrar dos nossos parlamentares) neste texto. Lembro que neste texto utilizo Linux Fedora 6.

Vamos lá!

O projeto UnderLinux Bandlimit tem como objetivo prover uma fácil solução para o controle de banda baseado na idéia de Francisco Antonello (Skyzer) e Marcus Maciel, como explica o wiki do projeto. Verifique em: Continue reading »

NPTL, Exec-Shield e outros palavrões que fazem seus programas crasharem

 Clusterweb, Leitura Recomendada, Linux, Redes, Segurança  Comentários desativados em NPTL, Exec-Shield e outros palavrões que fazem seus programas crasharem
out 102013
 
NPTL

NPTL, também conhecido como Native POSIX Thread Library, é o novo sistema de threading do kernel 2.6. O NPTL promete melhor compatibilidade com o padrão POSIX, maior escalabilidade e maior desempenho na criação e destruição de threads, colocando o Linux em pé de igualdade com os Unix comerciais em termos de alto desempenho (e custando muuuuuuuuito menos! 🙂 Para os chegados em tecnicalidades ou estudiosos de sistemas operacionais, vale a leitura do paper descritivo da biblioteca em:

A RedHat vem implementando um backport do NPTL para os seus kernels 2.4 desde o RedHat 9 e o kernel do Fedora Core 1 tem o mesmo patch.

Só que alguns programas podem crashar alegremente, deixando você com um segfault na mão e uma cara de tacho. Exemplos clássicos são o IBM JRE e o Sun JVM (antes do 1.4.1, bem, você deveria estar utilizando o 1.4.2 mesmo…). Neste caso, LD_ASSUME_KERNEL é seu amigo.

LD_ASSUME_KERNEL é uma variável de ambiente que diz ao kernel para utilizar o velho LinuxThreads em vez do NPTL, com isso deixando o programa problemático mais feliz. Pode assumir os valores 2.2.5, 2.4.1 ou 2.4.19 (ou seja, emulação do comportamento de kernels específicos). Uma boa política é utilizar um alias do shell para o programa crashento, por exemplo:

alias programa_crashento=”LD_ASSUME_KERNEL=2.4.1 programa_crashento” Continue reading »

Como selecionar que processos serão iniciados ao boot – sysv-rc-conf

 Clusterweb  Comentários desativados em Como selecionar que processos serão iniciados ao boot – sysv-rc-conf
out 102013
 
Do que se trata?

sysv-rc-conf é uma interface de fácil e de uso intuitivo para o gerenciamento de processos para /etc/rc(run_level).d.Poderemos, com esta ferramenta, dizer ao sistema que processos deverão ser iniciados ao carregá-lo, dependente do runlevel que você entrou.

Instalando o sysv-rc-conf

Para ficar mais fácil ainda, ele encontra-se na árvore stable do Debian. Outras distribuições deverão ter a mesma facilidade em instalar o pacote:

# apt-get install sysv-rc-conf

Para rodá-lo basta chamá-lo, como root, em um terminal:

# sysv-rc-conf
Continue reading »

Bottlenecks – Métricas de performance de servidores

 Clusterweb, Leitura Recomendada, Linux, Redes, Segurança  Comentários desativados em Bottlenecks – Métricas de performance de servidores
out 102013
 
Métricas para avaliação de performance – Análise de utilização de disco

Ter um servidor bem dimensionado que suporte uma aplicação para um ambiente produtivo empresarial de mais de 30.000 usuários é um desafio. O que fazer para obter confiança, performance, desempenho e sossego na manutenção? A resposta é investir em testes de performance. Os testes de performance certificarão que o hardware escolhido irá suprir as necessidades da aplicação e do ambiente produtivo da empresa.

Para realizar estes testes, antes, é necessário criar as métricas que serão observadas e mensuradas durante os testes. É sobre isso que trata esse artigo.

As métricas aqui identificadas poderão servir como verificadores de existência de bottlenecks em um equipamento dimensionado para um ambiente produtivo com S.O. Linux.

Métricas para avaliação de performance – Análise de utilização de disco:

Physical Disk Read Latency Analysis: Esta métrica corresponde à média da velocidade de leitura de uma partição primária de uma unidade de disco rígido. Esta análise determina se uma unidade de disco rígido está respondendo em uma velocidade lenta. Se o tempo de resposta permanecer entre 0.015 e 0.025 milissegundos então o sistema de leitura do disco rígido está respondendo de forma normal. Porém, caso a aferição seja superior a 0.025 milissegundos então o disco rígido estará respondendo lentamente caracterizando um bottleneck de leitura de disco rígido.  Continue reading »

Estrutura do Iptables

 Clusterweb, Firewall, Leitura Recomendada, Linux, Redes, Segurança  Comentários desativados em Estrutura do Iptables
out 102013
 
Introdução: o que esperar deste artigo

Ao contrário de outros artigos e tutoriais sobre iptables, este não se dispõe a ensinar sua sintaxe, como construir regras e como bloquear este ou aquele tipo de pacote. Artigos meus futuros poderão passear por este caminho, muito embora já se tenha muito material na Internet sobre isto.

Ele se destina a explicar a origem dos termos “tabelas” do iptables, o que é e para que servem as tabelas nat, filter e mangle. Onde, ou seja, em qual tabela se deve colocar as regras para este ou aquele objetivo.

Este artigo aproveita também para esclarecer algumas diferenças interessantes, como para que serve o REJECT e qual a diferença dele para o DROP?

Algumas definições serão relevantes e merecem serem citadas antes da leitura:

Quando falo de “nível” no artigo (ex: nível de Enlace) estou me referindo ao modelo de camadas TCP/IP, composto por apenas QUATRO camadas e não SETE como no modelo OSI. No modelo TCP as camadas são o ENLACE, onde se tem na sua imensa maioria o padrão de rede Ethernet como referência:

  • O nível de REDE, responsável pelo roteamento, onde se tem o IP na sua versão 4 como mais significativo;
  • O nível de TRANSPORTE, com seus pacotes UDP e TCP, dentre outros;
  • O o nível de aplicação, com os protocolos FTP, HTTP, etc;
  • O nível FÍSICO não faz parte do modelo de camadas TCP/IP, pois é restrito ao fabricante da placa.

Continue reading »

Criptografia Quântica

 Clusterweb, Leitura Recomendada, Linux, Redes, Segurança  Comentários desativados em Criptografia Quântica
out 102013
 
Introdução

A seguir explicarei como funciona esse método, denominado criptografia quântica:

Uma usuária chamada Alice quer estabelecer uma chave única com um segundo usuário, Paulo. Alice e Paulo são os protagonistas. Vamos supor que Paulo é um banqueiro com quem Alice gostaria de realizar negócios.

Se Alice e Paulo pudessem estabelecer uma chave única, eles teriam a possibilidade de usá-la para se comunicarem com segurança. A pergunta é: como eles podem estabelecê-la sem trocar DVDs, CDs, ou qualquer outro tipo de material que contenha a chave armazenada? Suponhamos que Alice e Paulo estão em extremidades opostas de um cabo de fibra óptica pelo qual podem enviar e receber pulsos de luz. Porém, uma intrusa chamada Maria pode cortar a fibra e criar um grampo ativo. Maria pode ler todos os bits em ambos os sentidos. Ela também pode enviar falsas mensagens nos dois sentidos. A situação pode ser um grande problema para Alice e Paulo, mas a criptografia quântica pode trazer uma nova luz sobre o assunto.

A criptografia quântica se baseia no fato de que a luz se propaga em pequenos pacotes chamados fótons, que apresentam algumas propriedades peculiares. Além disso, a luz pode ser polarizada ao passar por um filtro de polarização, um fato bem conhecido para os usuários de óculos de sol e fotógrafos. Se um feixe de luz (isto é, um fluxo de fótons) passar por um filtro de polarização, todos os fótons que sairem dele serão polarizados na direção do eixo do filtro (por exemplo, vertical). Se o feixe passar agora por um segundo filtro de polarização, a intensidade da luz que emergirá do segundo filtro será proporcional ao quadrado do cosseno do ângulo entre os eixos. Se os dois eixos forem perpendiculares, nenhum fóton passará pelo filtro. A orientação absoluta dos dois filtros não importa; só interessa o ângulo entre seus eixos.  Continue reading »

Multiterminais em um PC

 Clusterweb  Comentários desativados em Multiterminais em um PC
out 102013
 
Introdução

Xephyr é um tipo de servidor X que utiliza outro servidor X (Xorg) para a exibição das imagens. O Xephyr funciona como cliente do Xorg, mas é também servidor para outros aplicativos, que enxergam o Xephyr como se fosse um servidor X normal. O Xephyr pode ser utilizado para se trabalhar em dois ou mais desktops simultaneamente, no entanto, fizemos alterações em seu código para permitir que ele seja utilizado para implementar um sistema multiterminal.O sistema opera da seguinte maneira. Roda-se apenas um servidor X, configurado para utilizar várias telas (screens), sendo que cada tela estará associada a uma placa de vídeo. Após a inicialização do X, abre-se, em tela cheia, um Xephyr para cada tela, o qual será utilizado pelo usuário, de maneira transparente.

O Xephyr original obtêm os eventos de mouse e teclado a partir do servidor X pai. No entanto, para permitir a utilização do Xephyr no multiterminal, tivemos que alterar seu código fonte para que ele lesse os eventos diretamente dos dispositivos, sem intermediação do servidor X. Para ler os eventos do mouse e do teclado utiliza-se o protocolo evdev.

A vantagem de se utilizar o Xephyr é que o gerenciamento das diversas placas de vídeo é feito por um único X, o que elimina os problemas de compatibilidade e conflitos presentes nas outras maneiras de implementar o multiterminal. Isso significa que o multiterminal funciona com qualquer combinação de placas de vídeo que o X consiga gerenciar.

A vantagem de se utilizar o Xephyr ao invés do Xnest é que o Xephyr está sendo mantido atualmente, é mais rápido, e permite a implementação de extensões do X mais facilmente. Continue reading »

Layer7 e compilação do kernel mole-mole com Conectiva 10

 Clusterweb, Leitura Recomendada, Linux, Redes, Segurança  Comentários desativados em Layer7 e compilação do kernel mole-mole com Conectiva 10
out 102013
 
O cenário

Em empresas, escolas, instituições públicas, o controle eficaz do tráfego é fundamental. A “educação” dos usuários da rede deveria ser proporcional à importância que a internet tem para a empresa, mas sabemos que nem sempre isso acontece, principalmente em instituições públicas.Há usuários que aproveitam-se de programas “visualmente discretos”, como o kazaa, emule e deixam estes programas minimizados ao lado do relógio, consumindo toda a banda do link da empresa, fazendo falta na hora de enviar um e-mail ou fazer uma transação bancária, por exemplo.

Além de outras medidas que devem ser tomadas para regularizar o tráfego, como um acompanhamento através do MRTG e SARG, controle de banda com HTB, uma das mais importantes é aplicação do layer7, que proporciona um controle eficaz sobre o tráfego da rede, inclusive sobre p2p.

Após o controle correto com o layer7, a internet apresentará uma melhoria de até 60% no tráfego da rede, baseando-se numa empresa com um número considerável de funcionários e com alguns engraçadinhos que gostam de baixar músicas, vídeos e jogos. Este cenário pode ser comparado ao de uma instituição pública, como uma prefeitura ou um hospital, por exemplo.

Na análise do cenário o administrador da rede deve verificar qual é a melhor opção, optando por bloquear totalmente programas de mensagens instantâneas, como MSN, ICQ, Skype, programas p2p (kazaa, emule, edonkey, shareaza, imesh, napster, etc) ou se o caso é apenas de baixar a banda destes programas. Este artigo mostrará como bloquear totalmente estes programas.  Continue reading »

Não pode ter a maçã? Vai de pera!

 Clusterweb, Leitura Recomendada, Linux  Comentários desativados em Não pode ter a maçã? Vai de pera!
out 102013
 

Não pode ter a maçã? Vai de pera!

Olá, amigos!

Dica rápida para usuários que querem ter uma experiência “semelhante” ao Mac OS, no GNU/Linux.

Apresento o sistema Pear OS 7.

Linux: Não pode ter a maçã? Vai de pera!

A última vez que testei Pear OS para ver se realmente era bom, foi o Pear OS 6. Não gostei muito. Não lembro exatamente o motivo. Acho que esperava um melhor acabamento visual. Porém, recentemente, resolvi testar um pouco o Pear OS versão 7.

O que posso dizer é que está bem bom. Baseado no Ubuntu 12.10. Estável e bonitinho.

Link para Distrowatch: http://distrowatch.com/pear

Se quiser ver screenshots e outras informações, pode acessar o site oficial:

Infelizmente, quando usei, me senti um usuário comendo migalhas por estar usando um sistema que tenta imitar o Mac OS. Engraçado, porque era o que eu queria, até começar a usar. Mas pode ser que você goste.

Eu, porém, acho que o GNU/Linux não deveria tentar imitar o Mac OS, principalmente se não consegue.

Abraço!

Relatórios Personalizados no OcoMon

 Banco de Dados, Clusterweb, Leitura Recomendada, Linux, Redes, Sistemas de Armazenamento  Comentários desativados em Relatórios Personalizados no OcoMon
out 102013
 
Introdução / Requisitos

Introdução

Sobre o OcoMon:

O OcoMon surgiu em março de 2002, como projeto pessoal do programador Franque Custódio, tendo como características iniciais o cadastro, acompanhamento, controle e consulta de ocorrências de suporte e tendo como primeiro usuário o Centro Universitário La Salle (UNILASALLE).

A partir de então, o sistema foi assumido pelo Analista de Suporte Flávio Ribeiro, que adotou a ferramenta e, desde então, a tem aperfeiçoado e implementado diversas características, buscando atender à questões de ordem prática, operacional e gerencial de áreas de suporte técnico como help desks e service desks.

Em maio de 2003, surgiu a primeira versão do módulo de inventário (Invmon) e, a partir daí, todas as informações de atendimentos começaram as estar vinculadas ao respectivo equipamento, acrescentando grande praticidade e valor ao sistema de atendimento.

Com a percepção da necessidade crescente de informações mais relacionadas com a questão de qualidade no suporte, no início de 2004, foram adicionadas características de gerenciamento de SLAs, mudando de forma sensível a maneira como o gerenciamento de chamados vinha acontecendo e obtendo crescente melhoria da qualidade final de acordo com os indicadores fixados para os serviços realizados.

Fonte: Flávio Ribeiro
Disponível em: Ocomon  Continue reading »

Guia de preparação para LPI

 Clusterweb, Leitura Recomendada, Linux, Redes  Comentários desativados em Guia de preparação para LPI
out 102013
 
Falando sobre certificação

Se você parou para ler este texto eu suponho que:

  • deseja obter a certificação LPI
  • está tentando entender por que se fala tanto em certificação (principalmente Linux)
  • já tem esta certificação e está tentando obter um nível mais elevado

Mesmo que você não se enquadre em nenhuma das situações acima, de alguma maneira veio parar aqui, então espero que tire proveito deste documento. O texto é longo mas realmente existem muitos assuntos a tratar. Boa leitura.

Antes de mais nada, preciso fazer alguns esclarecimentos.

O que vou expressar aqui são comentários, experiências pessoais, sugestões, conselhos, dicas e ideias que eu usei durante a minha preparação para LPI. São o resultado de um longo tempo de estudo e preparação que poderão abreviar seu caminho para o estudo, já indicando os materiais mais adequados e outros “macetes”.

No entanto, nada do que eu digo aqui é “uma verdade incontestável”. Não existem receitas prontas para levá-lo à certificação. Nem nada que alguém disser poderá poupá-lo de muito estudo e prática dos assuntos aprendidos.

Por isso, seja realista: se sua intenção é certificar-se, comece a estudar já! E saiba que terá de encarar o processo de preparação com seriedade e disciplina. Se não fizer isso não chegará a lugar algum.
Continue reading »

Simulando aplicações simples com TinyOS e Cooja

 Clusterweb, Leitura Recomendada, Linux, Redes  Comentários desativados em Simulando aplicações simples com TinyOS e Cooja
out 102013
 
Introdução e contextualização

Ultimamente, os sistemas distribuídos usando redes de sensores sem fio (RSSF), estão sendo bastante estudados. Apesar de poucas pessoas conhecerem o trabalho, que é desenvolvido com esse tipo de rede, existem várias aplicações que fazem seu uso – aplicações de sensoreamento em geral (exército, medicina, escritórios, plantações).

Venho, portanto, por meio deste tutorial, mostrar como simular algo no TinyOS, uma espécie de sistema operacional voltado para o desenvolvimento de aplicações de RSSF, juntamente com o software Cooja, que simula um ambiente de rede, permitindo analisar tudo o que acontece durante a execução da aplicação.

A linguagem de programação utilizada no desenvolvimento é bem parecida com a linguagem C, ela se chama nesC (network embedded systems C).

De uma maneira geral, um programa em nesC é composto por dois arquivos, são eles o componente de configuração e o componente de implementação:

  1. O primeiro é voltado para definir e criar uma interface para componentes reais, que vão prover as funcionalidades que estamos interessados.
  2. O segundo, visa implementar os eventos das interfaces do módulo, que contém as interfaces que serão usadas na aplicação.

Obs.: a compreensão do código fica por conta do aprendiz. Eu utilizo o livro “TinyOS Programming eBook”.

Esta é a máquina virtual, já configurada com os softwares que serão utilizados (a senha é user):

Configuração de um OSPF com Mikrotik

 Firewall, Linux, Redes, Wireless  Comentários desativados em Configuração de um OSPF com Mikrotik
out 022013
 

Exemplo de rede consiste de três roteadores conectados na rede 10.10.1.0/24 e cada roteador tem também uma rede conectada adicional.

 

Neste exemplo seguintes endereços IP são configurados:

R1:

[admin@MikroTikR1]/ip address add address=10.10.1.1/30 interface=ether1

 [admin@MikroTikR1]/ip address add address=10.10.1.5/30 interface=ether2

 [admin@MikroTikR1]/ip address add address=210.13.1.0/28 interface=ether3

R2:

[admin@MikroTikR2]/ip address add address=10.10.1.6/30 interface=ether1

[admin@MikroTikR2]/ip address add address=10.10.1.9/30 interface=ether2

[admin@MikroTikR2]/ip address add address=172.16.1.0/16 interface=ether3

R3:

[admin@MikroTikR3]/ip address add address=10.10.1.2 /30 interface=ether1

[admin@MikroTikR3]/ip address add address=10.10.1.10/30 interface=ether2

[admin@MikroTikR3]/ip address add address=192.168.1.0/24 interface=ether3

Há três elementos básicos de configuração OSPF:

  •  Ativar instância OSPF
  •  configuração da área OSPF
  • configuração de rede OSPF

Informações gerais é configurado em / encaminhamento de menu exemplo OSPF. Para configurações avançadas OSPF, é possível executar várias instâncias OSPF. Configuração de instância padrão é bom para começar, só precisamos permitir instância padrão.

Continue reading »