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
eIPv6
- 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 ferramentanft
) - 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)