NFtables – O Sucessor do IPtables (já no kernel 3.13)
Dica publicada em Linux / Kernel
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.
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).
Fonte: netfilter.org
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
- kernel/NFtables.git - Netfilter's nftables tree
- nftables - nftables new utility tree
- iptables-nftables - iptables over nftables tree
Fonte: netfilter.org
#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?