Capítulo 6. Começando com nftables
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
IPv4eIPv6 - 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 libnftnl pode ser usada para interação de baixo nível com nftables Netlink API sobre a biblioteca libmnl.
O efeito dos módulos sobre o conjunto de regras nftables pode ser observado usando o comando nft list rule set. Como estas ferramentas adicionam tabelas, correntes, regras, conjuntos e outros objetos ao conjunto de regras nftables, esteja ciente de que nftables operações do conjunto de regras, como o comando nft flush ruleset, podem afetar os conjuntos de regras instalados usando os comandos herdados anteriormente separados.
6.1. Migrando de iptables para nftables Copiar o linkLink copiado para a área de transferência!
Se você atualizou seu servidor para o RHEL 8 ou sua configuração de firewall ainda usa as regras iptables, você pode migrar suas regras iptables para nftables.
6.1.1. Quando usar firewalld, nftables, ou iptables Copiar o linkLink copiado para a área de transferência!
A seguir, uma breve visão geral em que cenário você deve utilizar uma das seguintes utilidades:
-
firewalld: Use o utilitáriofirewalldpara casos simples de uso de firewall. O utilitário é fácil de usar e cobre os casos de uso típico para estes cenários. -
nftables: Use o utilitárionftablespara criar firewalls complexos e de desempenho crítico, como para toda uma rede. -
iptables: O utilitárioiptablesno Red Hat Enterprise Linux 8 usa a API do kernelnf_tablesao invés do back endlegacy. A APInf_tablesfornece compatibilidade retroativa para que scripts que usam os comandosiptablesainda funcionem no Red Hat Enterprise Linux 8. Para novos scripts de firewall, a Red Hat recomenda usarnftables.
Para evitar que os diferentes serviços de firewall influenciem uns aos outros, execute apenas um deles em um host RHEL, e desabilite os outros serviços.
6.1.2. Conversão de regras iptables em regras nftables Copiar o linkLink copiado para a área de transferência!
O Red Hat Enterprise Linux 8 fornece as ferramentas iptables-translate e ip6tables-translate para converter as regras existentes iptables ou ip6tables em regras equivalentes para nftables.
Observe que algumas extensões carecem de suporte de tradução. Se tal extensão existir, a ferramenta imprime a regra não traduzida prefixada com o sinal #. Por exemplo:
iptables-translate -A INPUT -j CHECKSUM --checksum-fill
# iptables-translate -A INPUT -j CHECKSUM --checksum-fill
nft # -A INPUT -j CHECKSUM --checksum-fill
Além disso, os usuários podem usar as ferramentas iptables-restore-translate e ip6tables-restore-translate para traduzir um lixão de regras. Note que antes disso, os usuários podem usar os comandos iptables-save ou ip6tables-save para imprimir um dump das regras atuais. Por exemplo:
Para mais informações e uma lista de opções e valores possíveis, digite o comando iptables-translate --help.