NFtables – O Sucessor do IPtables (já no kernel 3.13)

Publicado por Esli Silva em 06/11/2013

[ Hits: 7.796 ]

Blog: http://www.esli-nux.com

 


NFtables – O Sucessor do IPtables (já no kernel 3.13)



Atualmente em desenvolvimento (iniciou em março de 2009), NFtables é o projeto (do netfilter) que visa substituir o iptables, ip6tables, arptables e ebtables.

Será a 4ª geração de filtro de pacote no kernel linux.

Ele usa uma nova syntax, diferente da usada pelo iptables e dos demais “tables”, porém, fornece uma camada de compatibilidade que permite que seja executado syntax na estrutura do iptables, por exemplo.

Um utilitário em linha de comando consegue adicionar ao NFtables regras escritas através da “linguagem” do iptables.

Esse projeto prevê uma nova estrutura de filtragem de pacotes (trazendo melhorias e otimizações junto ao kernel), um novo utilitário para usuário e também uma camada de compatibilidade para o iptables e ip6tables.

Principais Características

O usuário cria as regras e as armazena (no lado user) através do utilitário NFtables, após, elas são compiladas num pseudo-estado e transferidas (através da API nftables do Netlink,) para o lado do kernel.

A grosso modo, a idéia por trás do NFtables, é semelhante ao do Berkeley Packet Filter ( BPF ).

1. Pesquisas rápidas através de estruturas de dados de desempenho;

A nova sintaxe permite que você organize conjuntos de regras de uma maneira que prove muito mais desempenho, ao contrário das políticas de filtragem listadas linearmente (caso do iptables). Também permite que você use mapeamentos de ação baseada em conjunto, ou seja, para um elemento correspondente no conjunto, emitir a ação especificada pelo usuário.

2. Reduzir a quantidade de código no kernel;

Pode expressar o seletor de pacotes para todos os protocolos existentes, utilizando o conjunto de instruções fornecido pelo nftables gravados no pseudo-estado da máquina (kernel, bytecode). Isso significa que não precisa especificar uma extensão no lado do kernel para cada protocolo que deseja, por exemplo.

Como efeito colateral, provavelmente, não será preciso atualizar seu kernel para obter novos recursos, uma vez que foi concebido para manter a maior parte da lógica no espaço do usuário, não do kernel (quem transfere para o kernel é a API nftables, previamente compilada no lado do usuário).

3. Interface unificada para substituir utilitários iptables/ip6tables/arptables/ebtables;

Assim, será capaz de se livrar completamente de toda a replicação de código existente no lado do kernel e no lado do usuário.

Existe um Howto (em Inglês) mostrando como instalar o NFtables, criação de regras básicas, NAT e mapeamento, em:
Estou traduzindo o guia e testando num ambiente virtualizado (Debian 7) para testes e postar maiores detalhes, guia melhorado e as dicas/regras e sintaxe do NFtables (postarei aqui no VOL e no ESLI-NUX.com).

Já está nos planos para ser inserido no kernel de algumas distribuições. Pelo que está sendo divulgado, no kernel oficial (do Kernel.org), o NFtables estará inserido no kernel 3.13 (estamos no 3.12-rc7).

Referências


Fonte: netfilter.org

Outras dicas deste autor

Criando item no menu do GNU/Linux com terminal executando comandos/scripts/aplicações

TtyLinux - Linux com ISO de 6 MB

Leitura recomendada

Compilando corretamente o kernel 2.4.x no Slackware

Compilar kernel 2.6.31 no Debian Lenny

Slackware 10.1 SATA k8nNeoPlatinum

Manjaro não inicializa pelo GRUB de outra distribuição [Resolvido]

Ubuntu 32 bits reconhecendo 4GB (ou mais) de RAM

  

Comentários
[1] Comentário enviado por px em 07/11/2013 - 14:20h

Quando eu começo a intender uma coisa eles mudam!

#vapaputaqpariu

Mas se for pra melhorar não me importo em perder mais uma semana aprendendo essa #°$$ª

OBG por compartilhar as novidades! mas já tem data certa para a mudança ocorrer nas principais distros?

[2] Comentário enviado por cROMADO em 07/11/2013 - 21:10h

Mas será que vão remover o iptables, quando o nftables de fato fazer parte do Kernel?.

[3] Comentário enviado por eslih em 07/11/2013 - 21:50h


[2] Comentário enviado por cROMADO em 07/11/2013 - 21:10h:

Mas será que vão remover o iptables, quando o nftables de fato fazer parte do Kernel?.


=

Não. A API do nftables lê os scripts (syntax) do iptables e consegue aplicar em sí.
Teoricamente, posso continuar com meu firewall e consigo aplica-lo no nftables (ainda não testei...)
Subi uma VM para testar aqui na empresa, vou postar os testes e transformar meu firewall atual para a syntax do nftables (para fins didáticos apenas)

[4] Comentário enviado por eslih em 07/11/2013 - 22:02h


[1] Comentário enviado por px em 07/11/2013 - 14:20h:

Quando eu começo a intender uma coisa eles mudam!

#vapaputaqpariu

Mas se for pra melhorar não me importo em perder mais uma semana aprendendo essa #°$$ª

OBG por compartilhar as novidades! mas já tem data certa para a mudança ocorrer nas principais distros?



O kernel atual é o 3.12, mas nada impede que você pegue o nftables e compile na sua distro (foi o que eu fiz numa vm),
sobre as distros, cabe a cada comunidade/mantenedor sobre adota-lo logo após o lançamento ou não...
(algumas como o Debian, sei que irá demorar, até virar default no sistema, outras como o Fedora e Mandriva já discutem sua adoção logo ao ser laçado o release do kernel).
De 2 meses para cá virou um assunto bem comentado em vários fóruns por causa de sua aplicação no kernel já no proximo release. (nftables já exite há 4 anos em desenvolvimento).
Isso me lembra (bem semelhante) quando migrou-se o kernel para o 2.4 e com ele surgiu o iptables (substituindo o ipchains).
A lógica ou se já compreende o funcionamento do iptables, será fácil aprender o nftables... Creio que vá enfrentar as mesmas dificuldades de quem sabe o iptables e resolveu aprender o firewall dos *BSD



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor HostGator.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts