Red Hat Training

A Red Hat training course is available for RHEL 8

9.2. Filtragem de pacotes

9.2.1. nftables substitui iptables como a estrutura padrão de filtragem de pacotes de rede

A estrutura nftables oferece facilidades de classificação de pacotes e é o sucessor designado para as ferramentas iptables, ip6tables, arptables, e ebtables. Ela oferece inúmeras melhorias em conveniência, características e desempenho em relação às ferramentas de filtragem de pacotes anteriores, mais notadamente:

  • tabelas de pesquisa em vez de processamento linear
  • uma estrutura única para ambos os protocolos IPv4 e IPv6
  • regras todas aplicadas atomicamente em vez de buscar, atualizar e armazenar um conjunto completo de regras
  • suporte para depuração e rastreamento no conjunto de regras (nftrace) e monitoramento de eventos de rastreamento (na ferramenta nft )
  • sintaxe mais consistente e compacta, sem extensões específicas de protocolo
  • uma API Netlink para aplicações de terceiros

Da mesma forma que iptables, nftables utiliza tabelas para o armazenamento de correntes. As cadeias contêm regras individuais para a realização de ações. A ferramenta nft substitui todas as ferramentas das estruturas anteriores de filtragem de pacotes. A biblioteca libnftables pode ser usada para interação de baixo nível com nftables Netlink API sobre a biblioteca libmnl.

As ferramentas iptables, ip6tables, ebtables e arptables são substituídas por ferramentas drop-in baseadas em nftables com o mesmo nome. Enquanto o comportamento externo é idêntico ao de suas contrapartes legadas, internamente eles usam nftables com módulos de kernel legados netfilter através de uma interface de compatibilidade onde for necessário.

O efeito dos módulos sobre o conjunto de regras nftables pode ser observado usando o comando nft list ruleset. Como estas ferramentas adicionam tabelas, correntes e regras ao conjunto de regras nftables, esteja ciente de que as operações do conjunto de regras nftables, como o comando nft flush ruleset, podem afetar os conjuntos de regras instalados usando os comandos herdados anteriormente separados.

Para identificar rapidamente qual variante da ferramenta está presente, as informações da versão foram atualizadas para incluir o nome do back-end. No RHEL 8, a ferramenta nftables baseada em iptables imprime a seguinte seqüência de versões:

$ iptables --version
iptables v1.8.0 (nf_tables)

Para comparação, as seguintes informações da versão são impressas se a ferramenta iptables estiver presente:

$ iptables --version
iptables v1.8.0 (legacy)