Comparando o iptables e o nftables no Linux

Os patches do php2shell (CVE-2026-109618 e CVE-2026-109619) para o PHP em fim de vida (EOL) já estão disponíveis. Como as respostas do atendimento de vendas estão mais demoradas do que o normal devido à alta demanda, a maneira mais rápida de obter os pacotes corrigidos é adquirir o ELS para Runtimes on-line (abre em uma nova aba). Leia as perguntas frequentes sobre os patches

Vá direto para um resumo gerado por IA desta postagem do blog

  • Resuma esta postagem com o Perplexity
  • Resuma esta postagem com o Gemini
  • O nftables oferece uma alternativa mais simples e eficiente ao iptables, com tratamento unificado de IPv4/IPv6.
  • Recursos como o rastreamento de regras e as regras com múltiplas ações no nftables aprimoram o gerenciamento de rede.
  • A migração para o nftables oferece melhor desempenho e simplicidade, com o apoio de ferramentas como o iptables-translate.

A trajetória contínua do Linux na filtragem de pacotes de rede e no gerenciamento de firewalls, especialmente destacada no debate entre iptables e nftables, representa uma mudança fundamental na segurança de rede. Tanto o iptables quanto o nftables oferecem abordagens únicas para controlar e proteger o tráfego de rede. Esta postagem do blog fará uma análise aprofundada da comparação entre iptables e nftables, destacando suas características específicas, diferenças e aplicações práticas em diversos ambientes de rede.

 

Noções básicas

 

Desde sua introdução no final da década de 1990, o iptables tem sido um componente essencial na resolução de diversos problemas do Linux, oferecendo flexibilidade e controle robusto sobre o tráfego de rede. No entanto, sua sintaxe complexa pode ser intimidadora. Em contrapartida, o nftables, introduzido com o kernel 3.13 do Linux em 2014, foi projetado para resolver algumas das limitações observadas no iptables. Ao comparar o iptables com o nftables, percebe-se que o nftables simplifica a filtragem e a classificação de pacotes, oferecendo uma sintaxe mais intuitiva, melhor desempenho e maior compatibilidade com protocolos de rede modernos.

Além das melhorias na usabilidade, garantir a segurança das configurações do firewall do Linux é um aspecto crucial do fortalecimento do sistema, já que regras configuradas incorretamente podem introduzir vulnerabilidades que devem ser corrigidas por meio da aplicação regular de patches de vulnerabilidade. O fortalecimento das políticas de firewall com o nftables aumenta a segurança do sistema, minimizando as superfícies de ataque e, ao mesmo tempo, mantendo um controle eficiente do tráfego de rede.

 

iptables x nftables

 

A sintaxe e a usabilidade do iptables, conhecidas por sua complexidade e verbosidade, costumam apresentar uma curva de aprendizado íngreme, especialmente para iniciantes. A sintaxe das opções do iptables pode ser bastante delicada em certos casos. Em algumas situações, é possível inserir um espaço após uma vírgula, enquanto em outras, isso não é permitido. Às vezes, é possível trocar a ordem de duas opções sem problemas, mas, em outras ocasiões, isso pode gerar um erro. Essa complexidade dificulta especialmente os testes quando as regras são geradas por scripts.

O Nftables supera esse desafio com uma sintaxe intuitiva que simplifica a criação de regras e reduz a probabilidade de erros, resultando em maior facilidade de gerenciamento.

Por exemplo, uma regra típica do iptables pode ser assim:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Essa regra permite o tráfego SSH de entrada na porta 22. 

Em contrapartida, o nftables oferece uma sintaxe mais simples, como pode ser visto nesta regra equivalente do nftables:

nft adicionar regra filtro de IP entrada tcp porta de destino 22 aceitar

 

Outro ponto na discussão entre iptables e nftables é o tratamento de IPv4 e IPv6. Com a prevalência de configurações de pilha dupla nos servidores, os administradores muitas vezes precisam duplicar regras em dois arquivos de configuração diferentes. O nftables supera isso ao integrar funcionalidades como IPv4, IPv6, arp e inet em uma única estrutura, melhorando o desempenho e eliminando a redundância.

Além disso, o nftables permite que uma única regra execute várias ações. Por exemplo, ele pode registrar e bloquear pacotes provenientes de uma rede específica, como 10.10.1.0/24, simultaneamente, simplificando as configurações das regras e agilizando o processamento delas.

 

Rastreamento de regras no nftables

 

Um desafio comum no gerenciamento de redes é identificar qual regra está bloqueando o tráfego de forma inesperada. O nftables resolve isso com um recurso de rastreamento integrado, uma funcionalidade da qual o iptables carece. Por exemplo, se houver uma regra bloqueando o tráfego SSH proveniente de um intervalo como 10.10.1.0/24: 

$ sudo nft insert rule inet filter input ip saddr 10.10.1.0/24 tcp dport 22 drop

 

E, se você estiver investigando conexões bloqueadas provenientes do endereço 10.10.1.15, ativar o rastreamento para esse IP pode identificar a regra problemática:

 

$ sudo nft insert rule inet filter input ip saddr 10.10.1.15 tcp dport 22 meta nftrace set 1

 

Ao executar o comando “nft monitor trace”, você poderá ver a regra exata que está causando o bloqueio.

A introdução desse recurso de rastreamento no nftables melhora significativamente a capacidade de depurar conjuntos de regras complexos, oferecendo aos administradores de rede uma ferramenta poderosa para gerenciar e solucionar problemas no tráfego de rede.

 

Migração do iptables para o nftables

 

A migração do iptables para o nftables marca uma mudança em direção a um gerenciamento de rede mais eficiente. Ferramentas como o iptables-translate ajudam a converter regras do iptables para o formato do nftables, trazendo benefícios como melhor desempenho e simplicidade. Por exemplo, a transição das regras de firewall de um servidor web do iptables para o nftables pode envolver a conversão de regras do iptables que permitem o tráfego HTTP e HTTPS:

iptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT ACCEPT

iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

 

nas regras do nftables:

nft add rule ip filter input tcp dport 80 ct state new,established accept

nft adicionar regra filtro IP entrada TCP porta de destino 443 estado de conexão novo, estabelecido aceitar

Após converter todas as regras, a nova configuração do nftables garantiria o mesmo nível de segurança e gerenciamento de tráfego que a configuração anterior do iptables, mas com os benefícios adicionais da eficiência e simplicidade do nftables.

 

Escolhendo a ferramenta certa

 

Embora o iptables seja, há muito tempo, uma ferramenta confiável, o nftables surge como uma solução mais eficiente e preparada para o futuro. Na escolha entre o iptables e o nftables, a decisão depende das necessidades e dos ambientes específicos. O iptables ainda pode ser a opção preferida em sistemas com configurações legadas, enquanto o nftables costuma ser a escolha preferida em novas implantações devido ao seu desempenho e escalabilidade. 

Em ambos os cenários, a integração as garantirá que suas soluções de firewall estejam rodando em um kernel Linux seguro, com suporte e em conformidade.

Resumo
Comparando o iptables e o nftables no Linux
Nome do artigo
Comparando o iptables e o nftables no Linux
Descrição
Conheça o iptables e o nftables no Linux. Nosso guia aborda seus recursos, eficiência e por que o nftables é fundamental para o gerenciamento da segurança de rede
Autor
Nome da editora
TuxCare
Logotipo da editora

Junte-se a mais de 4.500 profissionais de Linux e código aberto!

2 vezes por mês. Sem spam.

Índice
Obtenha as respostas sobre segurança de código aberto de que você precisa

Junte-se a mais de 4.500 profissionais de Linux e código aberto!

2 vezes por mês. Sem spam.