compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6

14
30/04/12 Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6.26 no Debian Linux [Artigo] 1/14 www.vivaolinux.com.br/artigos/impressora.php?codigo=9175 Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6.26 no Debian Linux Autor: Francisco Claudionor Avelar Albuquerque <claudionor at fretcar.com.br> Data: 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:

Upload: reynaldo-fontoura-prado

Post on 02-Aug-2015

129 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6

30/04/12 Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6.26 no Debian Linux [Artigo]

1/14www.vivaolinux.com.br/artigos/impressora.php?codigo=9175

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

Autor: Francisco Claudionor Avelar Albuquerque <claudionor at fretcar.com.br>Data: 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 paraassim 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, gcce 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:

Page 2: Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6

30/04/12 Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6.26 no Debian Linux [Artigo]

2/14www.vivaolinux.com.br/artigos/impressora.php?codigo=9175

# apt-cache search 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/

Page 3: Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6

30/04/12 Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6.26 no Debian Linux [Artigo]

3/14www.vivaolinux.com.br/artigos/impressora.php?codigo=9175

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 oprocesso do kernel.

Compilando o kernel

Execute o seguinte comando para descompactar o arquivo do kernel, importante, no diretório /usr/src.

# tar -xjvf linux-2.6.26.tar.bz2

Um diretório linux-2.6.26 foi criado. Crie um link para esse diretório e depois entre nele.

# ln -s linux-2.6.26 linux

Sei que estou sendo chato, mas lembrando sempre que essa operação terá que ser feita dentro do diretório

/usr/src.

Depois de criado o diretório "linux", vamos entrar nele.

# cd linux

Vamos iniciar uma breve explicação, temos algumas maneiras de acessar os parâmetros do kernel, mas

geralmente utilizo esses dois: menuconfig (texto) ou xconfig (gráfico).

Page 4: Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6

30/04/12 Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6.26 no Debian Linux [Artigo]

4/14www.vivaolinux.com.br/artigos/impressora.php?codigo=9175

Para utilizar o menuconfig já foi instalado o pacote libncurses5-dev. Caso não tenha sido instalado é só

executar o comando abaixo:

# apt-get install libncurses5-dev.

Para o xconfig, instalar o pacote libqt3-mt-dev com o comando abaixo:

# apt-get install libqt3-mt-dev

Particularmente eu prefiro o menuconfig, mas fica por sua conta.

Continuando com o processo do kernel, execute o seguinte comando dentro do diretório /usr/src/linux:

# make menuconfig

Selecionaremos a opção Networking.

Selecione a opção Networking options.

Page 5: Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6

30/04/12 Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6.26 no Debian Linux [Artigo]

5/14www.vivaolinux.com.br/artigos/impressora.php?codigo=9175

Selecione a opção Network packet filtering framework (Netfilter).

Entrando na opção IP: Netfilter Configuration, explicarei o grande mistério do kernel 2.6.26:

Não sei por que o módulo do nat não vem habilitado no kernel como mostrado abaixo, não confunda IP

tables support (required for filtering/masq/NAT), pois essa opção não ativa o módulo do NAT.

Page 6: Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6

30/04/12 Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6.26 no Debian Linux [Artigo]

6/14www.vivaolinux.com.br/artigos/impressora.php?codigo=9175

Então vamos habilitar, vá à opção <Exit> para retornar a tela anterior:

E vá à opção Core Netfilter Configuration.

Aqui está o grande segredo, marque a opção Netfilter connection tracking support (NEW) como módulo

(M).

Page 7: Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6

30/04/12 Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6.26 no Debian Linux [Artigo]

7/14www.vivaolinux.com.br/artigos/impressora.php?codigo=9175

Selecione <Exit> para retornar a tela anterior:

E vá novamente para a opção IP: Netfilter Configuration.

Page 8: Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6

30/04/12 Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6.26 no Debian Linux [Artigo]

8/14www.vivaolinux.com.br/artigos/impressora.php?codigo=9175

Veja que apareceu uma nova opção que não estava antes: Ipv4 connection tracking support (required for

Nat) (NEW), marque ele como módulo (M).

E bem abaixo marque como modulo (M) a opção Full Nat:

Page 9: Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6

30/04/12 Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6.26 no Debian Linux [Artigo]

9/14www.vivaolinux.com.br/artigos/impressora.php?codigo=9175

Marque as opções MASQUERADE target support, REDIRECT target support, NETMAP target support,

Basic SNMP-ALG support como modulo (M).

Selecione a opção <Exit> até chegar a essa tela:

Page 10: Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6

30/04/12 Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6.26 no Debian Linux [Artigo]

10/14www.vivaolinux.com.br/artigos/impressora.php?codigo=9175

Aí é só confirmar para passarmos ao próximo passo.

Crie agora o pacote com o seu novo kernel:

# make-kpkg -initrd kernel_image

Esta é a parte mais demorada do processo, agora é só relaxar e esperar.

Ao terminar o processo, sair do diretório atual e instalar o seu kernel:

# cd ..

# dpkg -i linux-image-2.6.26_2.6.26-10.00.Custom_i386.deb

O seu pode estar diferente, mas o comando tem que ser executado com o arquivo que esta dentro do

diretório /usr/src com a terminação .deb.

Pronto, como estamos no Debian, não precisaremos mexer nas configurações do GRUB, pois esse comando

já faz isso por você. Agora é só reiniciar o computador com o seu novo kernel.

# reboot

Levantando os módulos: ip_tables e iptables_nat

Após ser reiniciado o sistema com o seu novo kernel, vamos ativar os módulo do ip_tables e iptables_nat:

# modprobe ip_tables

# modprobe iptable_nat

Agora execute o comando "lsmod | grep iptable" e verificamos que os arquivos estão habilitados no módulo:

Bem, tem várias maneiras de deixar o carregamento dos módulos no kernel automático, mas eu prefiro utilizar

Page 11: Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6

30/04/12 Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6.26 no Debian Linux [Artigo]

11/14www.vivaolinux.com.br/artigos/impressora.php?codigo=9175

um utilitário para fazer esse trabalho para mim, sem precisar colocar em algum arquivo de inicialização ou

ficar fazendo manualmente, estou falando do modconf. Caso não esteja instalado no seu sistema é só executaro seguinte comando:

# apt-get install modconf

Depois de instalado é só chamar o aplicativo:

# modconf

Ir à opção kernel/net/ipv4/netfilter.

Verificando que a opção iptable_nat está com um sinal de -, significa que o mesmo não está carregado nomódulo. Para carregar é só teclar enter em cima da opção.

Page 12: Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6

30/04/12 Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6.26 no Debian Linux [Artigo]

12/14www.vivaolinux.com.br/artigos/impressora.php?codigo=9175

Confirma:

Enter:

Enter novamente:

Page 13: Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6

30/04/12 Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6.26 no Debian Linux [Artigo]

13/14www.vivaolinux.com.br/artigos/impressora.php?codigo=9175

Verificamos agora que o sinal está com o sinal de +, significando que o mesmo está carregado no módulo,vamos fazer o mesmo procedimento para o ip_table, caso o mesmo esteja com o sinal de -.

Após a configuração é só sair com <ESC>.

Vamos reiniciar novamente o sistema para ver se realmente funcionou:

# reboot

Depois de reiniciado, vamos verificar se os módulos realmente estão carregados no kernel:

# lsmod | grep iptable

Pronto, agora é com você ativar o compartilhamento da internet. Existem muitos artigos espalhados pela net

ensinando como ativar o compartilhamento, mas de qualquer maneira vou colocar só uma dica de comocompartilhar:

# modprobe iptable_nat # echo 1 > /proc/sys/net/ipv4/ip_forward

# iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Obs.: Como o iptable_nat já está ativado, então não precisa utilizar o modprobe.

Espero ter contribuído de alguma forma a ajudar algum colega que, como eu, após ter atualizado o kernel e

tentou compartilhar a NET não estava conseguindo sucesso por não conseguir carregar os módulos

Page 14: Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6

30/04/12 Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6.26 no Debian Linux [Artigo]

14/14www.vivaolinux.com.br/artigos/impressora.php?codigo=9175

necessários para tal.

Até a próxima...

http://www.vivaolinux.com.br/artigo/Compilar-e-habilitar-os-modulos-ip_table-e-iptable_nat-no-kernel-2.6.26-no-Debian-Linux

Voltar para o site