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 »

Compilando kernel no Debian Squeeze

 Clusterweb, Linux  Comentários desativados em Compilando kernel no Debian Squeeze
fev 252013
 

Procedimentos

1. Instalar os pacotes necessários:

# apt-get update
# aptitude safe-upgrade

Tem alguns pacotes a mais do que o necessário, mas neste caso, o que abunda não prejudica.

# aptitude install build-essential module-init-tools kernel-package initramfs-tools libaal-dev wget liblzo2-dev gzip expectk libncurses5-dev dpatch udev

2. Fazer o download do kernel desejado no site kernel.org.

O download pode ser feito via navegador ou pelo terminal. No terminal, utiliza-se o pacote wget:

# wget http://caminho_completo_do_kernel

Exemplo:

# wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.7.6.tar.bz2

Obs.: O kernel será baixado no diretório/pasta onde você estiver.

# ls  #Para ver o arquivo baixado

3. Descompactar o arquivo do kernel:

# tar -jxvf nome_do_arquivo.tar.bz2  #Para arquivos: .tar.bz2
# tar -vzxf nome_do_arquivo.tar.gz  #Para arquivos: .tar.gz
# ls  #Para ver o arquivo descompactado

4. Copiar o kernel para o diretório /usr/src (diretório/pasta padrão de compilação do kernel no Debian):

# cp -R linux-x.x.x /usr/src
# cd /usr/src  #Entrar no diretório
# ls  #Verificar se o arquivo foi copiado

5. Nas opções de configuração (make menuconfig), as opções marcadas com “M” indicam que a instalação se dará como módulos, ou seja, não farão parte do bloco monolítico do kernel.

As opções marcadas com “*” (asterisco) indicam que serão instaladas dentro do kernel, ou seja, farão parte do bloco monolítico do kernel, e os drivers e módulos iniciarão junto com o sistema. Em alguns casos, isto é interessante para melhorar o desempenho.

Executar os comandos abaixo em sequência (aguardar o final após cada comando e sempre ler as mensagens de retorno para ver se deu algum erro):

# ln -s linux-x.x.x linux  #Cria um link simbólico necessário para a compilação
# ls  #Confirmar se o arquivo foi criado
# cd linux  #Entra no diretório criado
# make-kpkg clean  #Limpa prováveis compilações anteriores
# make mrproper  #Limpa prováveis compilações anteriores
# make menuconfig  #Entra nas configurações do kernel

Para alterar de “M” para “*” e vice-versa, é só pressionar a barra de espaços.

Vá em “Processor type and features”, e marque (barra de espaços) a opção que corresponde ao processador da máquina.

Mais abaixo, vá em “Timer frequency”. Se a sua instalação for do tipo servidor marque, a opção 100 HZ (isso melhorará o tempo de resposta do servidor para as requisições). Para Desktop, deixe como está.

Retorne ao menu principal.

Vá em: Networking support → Networking options → Network packet filtering framework (netfilter) → IP: netfilter configuration

Verifique se “IPv4 connection tracking support (required for NAT)” está marcada.

Mais abaixo, marque as opções:

IPv4 NAT
MASQUERADE target support
NETMAP target support
REDIRECT target support

Volte ao menu principal.

Vá em “File Systems”, marque os sistemas de arquivo utilizados no particionamento da instalação com: “*”

Mais abaixo, vá em “Native language support” e marque com “*” as opções:

Codepage 860 (Portuguese)
ASCII (United…)
NLS 8859-1 (Latin 1, …)
NLS UTF-8

Retorne ao menu principal dando EXIT. Após o último EXIT, aparecerá a janela “Do you wish…”, deixe como: “Yes”

Compilação

6. Compile:

# make config_debug_section_mismatch=y  #Compila e previne possíveis erros durante a compilação, deverá demorar de uma a duas horas
# make modules  #Compila os módulos
# make modules_install  #Instala os módulos
# make install  #Instala o kernel
# cd /lib/modules  #Entrar no diretório
# ls  #Confirmar que foi criado o arquivo x.x.x, no caso, 3.7.6
# mkinitramfs -o /boot/initrd.img-x.x.x /lib/modules/x.x.x  #Cria a imagem do kernel
# cd /boot  #Entrar no diretório /boot e conferir se o arquivo foi criado
# cd  #Entra no diretório raiz
# update-grub  #Atualiza o GRUB
# shutdown -r now  #Reinicia

Ao reiniciar, o novo kernel deverá aparecer nas opções do GRUB.

Depois, atualize o sistema (opcional):

# aptitude update
# aptitude safe-upgrade

Em caso de erro em alguma etapa da compilação:

  • Apague os arquivos criados do novo kernel dentro dos diretórios: /boot e /lib/modules
  • Recomece a partir do comando: make-kpkg clean (estando dentro do link: linux)

E seja feliz com seu novo e atualizado kernel.

Compilando ou atualizando um kernel Linux

 Clusterweb, Linux  Comentários desativados em Compilando ou atualizando um kernel Linux
ago 092012
 

Antes de Compilar

Olá,

Antes de personalizar um kernel, nós precisamos obter algumas informações, além dos pacotes necessários e o kernel. Com este método, podemos instalar qualquer versão, e ainda personalizar com o nome desejado.

Neste exemplo, foi utilizando o Debian 6 x86.

1. Verificação do kernel instalado, pacotes necessários, download do kernel desejado e descompactação.

1.1. Verificando a versão do kernel instalada.

Primeiro, devemos verificar qual a versão do kernel estamos rodando. Para isso, basta rodar o comando:

# uname -r

Meu resultado foi a versão:

2.6.26-2

Obs.: Caso você pergunte, o que cada um deste números significa, aqui vai uma revisão:

  • 1º campo (2)   -> versão maior
  • 2º campo (6)   -> versão menor
  • 3º campo (26) -> patch level
  • 4º campo (2)   -> extra version

1.2. Baixando os pacotes necessários

Precisamos de 4 pacotes, são eles: make, gcc, build-essential e libncurses5-dev.

# apt-get install make gcc build-essential libncurses5-dev

1.3. Baixar a versão do kernel desejada

Vá em kernel.org, e baixe a versão desejada.

Nesse exemplo, instalarei a versão 2.6.28, porém, o mesmo método pode ser utilizado por outras versões. Já instalei, em testes, a versão 3.5 sem problemas.

* Vale a pena lembrar que, a versão estável mais recente no dia da criação do artigo, é a 3.4.7.

Após feito o download, você terá um arquivo assim: linux-2.6.28-5.tar.bz2

Ou, o arquivo correspondente à versão escolhida.

* Para facilitar,salvei o arquivo em /root.

1.4. Após baixado, precisamos descompactar e colocar estes arquivos no lugar ideal.

Primeiro descompacte o arquivo:

# tar -xf linux-2.6.28.tar.bz2 -C /usr/src

Com este comando, estamos extraindo o arquivo e já apontando o destino dele.

Detalhando as seguintes opções utilizadas:

  • -x : Indica que você deseja extrair o arquivo;
  • -f : Aponta para o aquivo desejado.

    A opção ‘-f’ precisa ser a última quando utilizamos o ‘.tar’. Podemos acrescentar outras opções, como o ‘-v’ (verbose), porém o ‘-f’ será a ultima opção independente das que você estiver usando;

  • -C (maiúsculo) : Esta opção é utilizada para apontar o caminho de destino desejado.

Feito isso, você terá uma pasta chamada ‘linux-2.6.28’ em /usr/src: /usr/src/linux-2.6.28

Na próxima etapa, iremos personalizar nosso kernel e criar sua imagem.

Personalizando/compilando o kernel – Módulos

Personalizando e compilando o kernel

Chegamos à segunda etapa.

Nesse momento, você irá aprender a personalizar e compilar um kernel.

2. Assuntos desta segunda etapa:

  • Resolvendo dependências;
  • Criar o arquivo .config;
  • Editando o nome da distribuição;
  • Criando o bzImage.

2.1. Para iniciar, iremos rodar um comando rápido e verificar nossas dependências.

Primeiro, entre na pasta onde foi descompactado o kernel (no meu caso: /usr/src/linux-2.6.28):

# cd /usr/src/linux-2.6.28

Depois:

# make dep

Obs.: Caso você receba uma mensagem que não é necessário executar esta tarefa, está tudo OK.

2.2. Agora, iremos começar a personalizar de verdade nosso kernel, com o comando:

# make menuconfig

Com este comando, iremos entrar no modo de edição do kernel.

Aqui você irá ver todas as opções do kernel. Use as opções para navegar nos menus, adicione ou remova conforme desejado, porém, tome cuidado, pois toda modificação sem o conhecimento devido, pode causas erros.

É extremamente recomendável testar este método em uma máquina virtual, antes de por em prática no seu GNU/Linux.

Navegação:

  • [ENTER] – Entra num submenu
  • [N] ou [ESPAÇO] – Desmarca a opção onde está o cursor
  • [SETAS] – Navegação

Após terminadas as modificações desejadas, vá em: SAVE AN ALTERNATE CONFIGURATION FILE

E salve como: .config

2.3. Coloque agora, o seu nome no kernel

Você pode editar o arquivo Makefile para adicionar o seu nome a esta compilação do kernel.

# vim Makefile

Na linha: “EXTRAVERSION =”

Você pode acrescentar “.seunome” e a versão do kernel. Irá aparecer da seguinte forma (no meu exemplo): 2.6.28.luiz

2.4. Agora, precisamos criar a imagem do kernel.

Este processo pode levar algum tempo. Tudo depende do seu hardware:

# make bzImage

Obs.: Fique atento à sintaxe. No GNU/Linux, “bzImage” não é o mesmo que “bzimage”.

Nessa fase, você aprendeu a personalizar um kernel e a criar a sua imagem.

Adiante, vamos criar os módulos.

Criando os módulos

Terceira etapa, vamos criar os módulos.

3.1. Esta etapa é provavelmente a mais demorada. Criar os módulos podem levar horas dependendo do seu equipamento.

Basta digitar o seguinte comando e aguardar:

# make modules

3.2. Agora, vamos à próxima etapa. Mais um comando simples, porém que pode levar um tempinho:

# make modules_install

3.3. Agora iremos copiar a imagem do kernel que criamos para o diretório /boot:

# cp -p arch/x86/boot/bzImage /boot/vmlinuz-2.6.28.luiz

3.4. Na próxima etapa, precisamos criar o sistema ramfs e atualizar o GRUB.

Precisamos criar o sistema ramfs para carregamento de módulos no boot, e fazemos isso com o seguintes comandos:

– Para entrar na pasta /lib/modules:

# cd /lib/modules

-Para criar o sistema:

# mkinitramfs -o /boot/initrd.img-2.6.28.luiz 2.6.28.luiz

E enfim, rodar o update-grub:

# udpate-grub

Neste artigo, você aprendeu a personalizar um kernel.

Lembre-se que, toda modificação no kernel é perigosa.

Recomenda-se fazer backup antes de qualquer modificação, e testar este método em uma máquina virtual, caso você esteja inseguro.

Obrigado, e estou à disposição para dúvidas e sugestões.

Instalação ou Recuperação do GRUB.

 Clusterweb  Comentários desativados em Instalação ou Recuperação do GRUB.
jan 122012
 

Instalando o GRUB

Você instalou o Windows após instalar o Linux e perdeu o GRUB? Tentou alterar alguma configuração e o GRUB sumiu? Ou a instalação do Linux deu errado justamente na instalação do GRUB?

Seus problemas acabaram!! Vamos instalar o GRUB usando um CD de instalação do Debian.

Esta situação é muito comum quando instalamos o Windows após instalar uma distribuição Linux. Isto ocorre por uma prática ‘egocêntrica’ do Windows. Ele ‘pensa’ que só existe ele mesmo como sistema operacional, e portanto, apaga o acesso aos demais.

Bom, brincadeiras à parte, para evitar perder tempo, é sempre recomendado o seguinte: instale primeiro o Windows e só depois instale o Linux. Isso deixa tudo na ordem certa, sem maiores dores de cabeça.

Mas se por qualquer motivo você precisou instalar o Windows depois do Linux, então muito provavelmente precisará recuperar o gerenciador de inicialização. Então vamos ao que interessa.

Pegue seu CD de instalação do Debian e inicie o computador por ele. Você verá uma tela parecida com esta logo abaixo, podendo mudar algum detalhe (dependendo da versão do Debian usada):

Linux: instalação ou 
Recuperação do GRUB

Nesta tela, escolha ‘Advanced options’. Dentre as opções disponíveis, escolha ‘Rescue mode’ (ou ‘Grafical Rescue Mode’, tanto faz). Daí, o CD levará você para alguns passos que parecem uma instalação padrão do Debian, mas só parece.

Nos passos seguintes, escolha o idioma e você terá a tela já em nosso bom Português (se assim escolheu). A próxima tela vai direto para o detector de disco, pulando a parte do particionamento. Isso é esperado, já que não estamos instalando o sistema.

Estamos no ‘Modo de recuperação’ conforme pode ver no alto de sua tela. Escolha a partição onde o Linux está instalado, e continue para o próximo passo.

Na tela seguinte, você verá as opções de recuperação:

Linux: instalação ou 
Recuperação do GRUB

Escolha a opção ‘Reinstalar o carregador de inicialização GRUB’. Comigo, após este passo, o GRUB foi reinstalado e só precisei sair do modo de recuperação, reinicializando a máquina.

Mas se não funcionar na sua máquina, escolha a opção ‘Executar um shell em /dev/sdaX’. Onde ‘sdaX’ indica a partição onde seu Linux está instalado.

Escolhendo esta opção, aparece um terminal onde você deve digitar o comando:

# grub-install /dev/sda

E após o comando, você verá a saída abaixo:

Linux: instalação ou 
Recuperação do GRUB

Pronto. Instalamos, ou recuperamos, o GRUB.

Agora basta sair das configurações e reinicializar a máquina. Para isso, na tela principal escolha a opção ‘Abortar a instalação’.

Aparecerá a mensagem abaixo, mas não se assuste. Pode reiniciar a máquina.

Linux: instalação ou 
Recuperação do GRUB

Maravilha, tudo certo! Agora é só usufruir os seus sistemas.

Sofri muito para encontrar um modo simples de fazer esta recuperação, até encontrar a forma mostrada aqui. Há vários outros caminhos, mas acho que este é um dos mais simples.