Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6.26 no Debian Linux

Caros amigos, após atualizar o meu kernel 2.6.18 para o 2.6.26, simplesmente não conseguia mais compartilhar a internet. Surgia o seguinte erro: "FATAL: Module ip_tables not found" no momento que carregaria o módulo iptable_nat.

[ Hits: 41.442 ]

Por: Francisco Claudionor Avelar Albuquerque em 17/11/2008


Instalando os pacotes necessários para copilar o kernel



Caros amigos, após atualizar o meu kernel 2.6.18 para o 2.6.26, resolvi compartilhar a internet, mas não conseguia mais subir os módulos ip_table e iptable_nat, simplesmente retornavam o erro:

FATAL: Module ip_tables not found

Depois de muitas noites em claro pesquisando na internet como habilitar o módulo nat no kernel 2.26 para assim compartilhar a NET, enfim encontrei a solução e quero muito compartilhar com vocês. Nesse artigo mostrarei como atualizar o kernel e habilitar os módulos necessários para carregar o ip_table e o iptable_nat. Então vamos ao trabalho.

Antes de começar precisamos de alguns pacotes básicos, essenciais para o processo: o kernel-package, gcc e libncourses5-dev. Sem eles não será possível a compilação. Para isto abra o terminal e use os seguintes comandos para baixá-los via apt-get dos repositórios da distribuição (lembrando sempre que linhas iniciadas em "#" são para comandos como root (administrador) e linhas iniciadas em "$" são para comandos como usuários):

# apt-get update
# apt-get install kernel-package
# apt-get install gcc
# apt-get install libncurses5-dev


Baixando o kernel

Baixando o kernel diretamente dos repositórios da sua distribuição via apt-get.

Primeiro temos que saber a versão do kernel atual, para isso utilize o comando:

uname -a

Com a versão na mão, utilizaremos o seguinte comando para pesquisar qual o kernel mais atualizado no nosso repositório:

# apt-cache search linux-source
linux-source
Esse comando vai mostrar as versões mais atuais do seu kernel, com isso usaremos o seguinte comando:

# apt-get install linux-source-2.6.xx

Obs.: Substituindo o "xx" com a versão que iremos atualizar. o apt-get coloca o arquivo na pasta /usr/src.

Baixe também o linux-headers e linux-kbuild:

# apt-get install linux-kbuild-2.6.xx
# apt-get install linux-headers-2.6.xx-etchnhalf.1-all-i386


É importante lembrar que a versão dos dois pacotes precisa ser a mesma que o source.

Baixando o kernel pelo kernel.org

Acesse a página: http://www.kernel.org/pub/linux/v2.6/
kernel.org
Nesta página você escolhe o kernel que mais lhe agrada, no meu caso escolhi o kernel linux-2.6.26.tar.bz2.

No terminal, como root, você utiliza o seguinte comando:

# wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.tar.bz2

Obs.: Este comando deverá ser executado no diretório /usr/src, pois é o diretório base onde executaremos o processo do kernel.

    Próxima página

Páginas do artigo
   1. Instalando os pacotes necessários para copilar o kernel
   2. Compilando o kernel
   3. Levantando os módulos: ip_tables e iptables_nat
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Compilação do Kernel Linux para máquinas locais Debian

Compilando um novo kernel em distribuições RPM-like

Como compilar o Kernel em qualquer distribuição GNU/Linux

Registrando extensões no kernel com o binfmt_misc

Kernel v3.x no Debian - Compilação em 7 passos práticos

  
Comentários
[1] Comentário enviado por removido em 17/11/2008 - 22:45h

É isso que me mata no debian... Ter de recompilar o kernel por causa de um simples módulo iptables.
Tenham a santa paciência!!!

[2] Comentário enviado por osmano807 em 18/11/2008 - 10:24h

Aqui em casa, só instaleio o pacote iptables que funcionou o module ip_tables.
Talvez ele queira que você já mude para ipv6, onde não existe nat, sei lá.

[3] Comentário enviado por agk em 08/12/2008 - 10:36h

Excelente artigo, mas tenho que discordar do que o amigo acsilva escreveu: "É isso que me mata no debian... Ter de recompilar o kernel por causa de um simples módulo iptables. Tenham a santa paciência!!!"

O Debian vem com iptables, nat, tudo funcionando perfeitamente, não tem que instalar e nem compilar nada, não fale o que não sabe, isso além de mostrar que não tem conhecimento do assunto, acaba por assustar usuários que buscam por informações sobre o Debian.

O que o nosso amigo fcavelar mostrou no seu artigo foi como habilitar esse módulo para utilizar com kernel 2.6.26, por padão o Debian Etch vem com kernel 2.6.18, se a versão mais nova do kernel não funciona por padrão isso não é problema do Debian, é problema do usuário saber configurar o kernel antes de sair compilando e instalando uma versão mais nova, pois o que vem por padrão com a distribuição funciona.

Muito bom o artigo, bem explicado, com certeza vai ajudar muita gente.

[4] Comentário enviado por firefiery em 18/11/2009 - 15:28h

Parabéns, me ajudou d+ esse artigo! :)

[5] Comentário enviado por manivelas_Brasil em 24/08/2010 - 01:14h

Excelente artigo. Fiz o passo a passo e deu tudo certo.Já estou compartilhando minha conexão da máquina virtual com a física. Agradeço ao amigo. Um abraço.

[6] Comentário enviado por juniorsaulo em 28/01/2013 - 10:24h

Olá amigo fcavelar, sou novo por aqui. Fui seguindo seu tutorial e estava tudo certo até o memento em que utilizei o comando make-kpkg -initrd kernel_image para criar o pacote. Parece que existe uma falha na sintaxe do comando. Pode me ajudar? Veja a saída do comando.

root@debian:/usr/src/linux# make-kpkg -initrd kernel_image
Unknown option: i
Unknown option: n
Unknown option: i
Unknown option: t
Unknown option: r
Unknown option: d
use --help to display command line syntax help.

[7] Comentário enviado por clovisvellardo em 23/10/2013 - 10:16h

Muito bom o post estou nesse exato momento tentando faze-lo
Sobre o comando make-kpkg -initrd kernel_image o correto é
make-kpkg --initrd kernel_image
É isso ai galera abraços...


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts