Comparativo: nftables vs firewalld para servidores Ubuntu 22.04 em VPS — desempenho, regras e exemplos práticos
Por Kevin Marcondes · Publicado em · 8 min de leitura
Comparativo: nftables vs firewalld para servidores Ubuntu 22.04 em VPS — desempenho, regras e exemplos práticos. Este guia mostra o que muda na gestão, quando cada opção é melhor e como aplicar configurações equivalentes com segurança. Você verá impactos em operação, automação e auditoria para decidir com confiança.
O que são e como se relacionam no Ubuntu 22.04
nftables é o subsistema de filtragem de pacotes do kernel Linux. firewalld é um daemon de alto nível que gerencia políticas por zonas e serviços, usando nftables como backend no Ubuntu 22.04.
As decisões de permitir ou bloquear trafegam no dataplane do kernel (nf_tables). O firewalld traduz políticas para nftables. A diferença está em como você declara, versiona e opera as regras.
Se está iniciando o hardening do servidor, consulte o checklist de segurança para VPS Linux para boas práticas complementares.
- nftables: sintaxe declarativa, sets/maps, apply atômico.
- firewalld: zonas, serviços conhecidos, API D‑Bus e CLI.
- No dataplane, o desempenho é equivalente em ambos.
Qual é mais rápido em VPS?
Em tráfego de rede, nftables puro e firewalld têm desempenho prático equivalente. O kernel decide os pacotes no mesmo subsistema nftables. A diferença aparece na gestão das regras e recargas.
nftables via arquivo único facilita apply atômico e rollback simples. O firewalld permite mudanças em runtime e reloads granulares; complete-reload pode causar breve interrupção. Em VPS comuns, o impacto costuma ser desprezível.
- Dataplane: igual para ambos (kernel nf_tables).
- nftables: apply atômico com arquivo versionável.
- firewalld: runtime-friendly; complete-reload pode interromper.
- CPU/RAM do firewall: mínimos frente à aplicação.
Tabela comparativa: quando cada opção é melhor
A escolha depende do fluxo de trabalho, necessidade de zonas e complexidade das regras. Este comparativo: nftables vs firewalld para servidores Ubuntu 22.04 em VPS resume critérios objetivos para decidir.
| Critério | nftables | firewalld |
|---|---|---|
| Camada/backend | Linguagem nativa do kernel (nf_tables) | Gerenciador por zonas; usa nftables como backend |
| Performance de tráfego | Equivalente (dataplane do kernel) | Equivalente (dataplane do kernel) |
| Mudanças/reloads | Arquivo único, apply atômico com rollback fácil | Mudanças em runtime; reload granular; complete-reload pode interromper |
| Curva de aprendizado | Maior; sintaxe própria, poderosa | Menor; serviços e zonas prontas |
| Zonas/serviços | Modela com chains, sets e maps | Nativo; facilita DMZ, public, internal |
| Regras avançadas (sets/maps) | Excelente; recurso central da linguagem | Possível via rich/direct rules |
| Automação/CI/CD | Ótimo; arquivo declarativo versionável | Bom; firewall-cmd, permanent e D‑Bus |
| Auditoria/config como código | Simples com /etc/nftables.conf | Requer export ou playbooks para convergir |
| Logs | Statement 'log' com prefixos | Rich rules ou nível de log por zona |
Qual escolher para meu servidor Ubuntu 22.04 em VPS?
Para controle fino, versionamento simples e sets/maps, nftables direto tende a ser a melhor escolha. Para agilidade operacional com zonas e serviços pré-definidos, firewalld acelera a rotina sem sacrificar segurança.
Ambos protegem bem. O que muda é a gestão: arquivo declarativo único (nftables) versus comandos e zonas (firewalld). Integre com seu provisionamento e monitore o resultado continuamente.
- Equipe pequena e IaC: nftables com arquivo versionado.
- Operação baseada em zonas/serviços: firewalld.
- IPv4 e IPv6: ambos atendem plenamente.
- Listas grandes de IPs: nftables brilha.
Exemplos de regras no nftables (política restritiva)
O exemplo cria tabela inet 'filter' com política padrão drop e libera SSH, HTTP(S), loopback, ICMP e conexões estabelecidas. Aplicar regras erradas pode derrubar sua sessão SSH; mantenha uma segunda sessão e um plano de rollback.
Depois de salvar o arquivo, aplique com 'sudo nft -f /etc/nftables.conf' e valide com 'sudo nft list ruleset'.
# /etc/nftables.conf
flush ruleset
table inet filter {
sets {
ssh_admins_v4 { type ipv4_addr; flags interval; elements = { 203.0.113.0/24 } }
}
chains {
input {
type filter hook input priority 0; policy drop;
ct state established,related accept
iif lo accept
ip protocol icmp accept
ip6 nexthdr icmpv6 accept
tcp dport { 80, 443 } accept
ip saddr @ssh_admins_v4 tcp dport 22 accept
counter log prefix "nft-drop " flags all drop
}
forward { type filter hook forward priority 0; policy drop; }
output { type filter hook output priority 0; policy accept; }
}
}
Exemplos equivalentes no firewalld (zones e services)
Abaixo, configuramos a zona 'public', liberamos HTTP/HTTPS e restringimos SSH a um bloco IPv4 via rich rule. Tornamos permanente e recarregamos. Se você remover SSH amplo, teste antes em console/serial para evitar perder acesso.
Para acessos administrativos robustos, considere um salto dedicado; veja como montar um bastion SSH no Ubuntu 22.04.
sudo apt-get update && sudo apt-get install -y firewalld
sudo systemctl enable --now firewalld
# Defina a zona padrão e remova SSH amplo (se existir)
sudo firewall-cmd --set-default-zone=public
sudo firewall-cmd --permanent --remove-service=ssh || true
# Libere HTTP/HTTPS na zona padrão
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
# Restrinja SSH ao bloco 203.0.113.0/24
sudo firewall-cmd --permanent \
--add-rich-rule='rule family="ipv4" source address="203.0.113.0/24" port protocol="tcp" port="22" accept'
# Aplique alterações
sudo firewall-cmd --reload
# Verifique
sudo firewall-cmd --list-all
Como operar em produção: versionamento, rollback e auditoria
Para nftables, versionar o arquivo /etc/nftables.conf simplifica auditoria e rollback. Use CI/CD com 'nft -c -f' para validar sintaxe antes do apply. No firewalld, mantenha playbooks idempotentes e exporte periodicamente a configuração permanente.
Teste em staging e valide acessos com health checks e logs. Reforce o perímetro com camadas complementares como bloqueio de força bruta e mitigação de volumetria.
Para picos de scans ou brute force, veja fail2ban com webhooks. Se sofre volumetria alta, complemente com mitigação DDoS em VPS.
- Staging antes de produção, com testes de conectividade.
- Sessão SSH extra e janela de rollback planejada.
- Coleta de logs e alertas para tentativas bloqueadas.
- Automação idempotente para evitar drift de configuração.
Erros comuns ao configurar firewall em VPS Ubuntu 22.04
Evitar armadilhas economiza tempo e incidentes. Revise os pontos abaixo antes de aplicar regras em produção. O comparativo: nftables vs firewalld para servidores Ubuntu 22.04 em VPS ajuda a planejar sem surpresas.
- Esquecer IPv6: proteja ip e ip6 de forma consistente.
- Bloquear SSH sem exceção segura ou console disponível.
- Não começar com política padrão restritiva (drop).
- Recarregar regras sem checagem de sintaxe e rollback planejado.
- Ignorar camadas complementares como fail2ban e limites.
- Não monitorar após mudanças: valide portas e tráfego real.
Perguntas frequentes
nftables substitui iptables no Ubuntu 22.04?
Sim. O kernel usa o subsistema nftables por padrão, e as CLIs iptables costumam apontar para o backend nft (iptables-nft). Para novas implantações, foque em nftables e sua sintaxe nativa.
firewalld usa nftables no Ubuntu 22.04?
Sim. No Ubuntu 22.04, o firewalld normalmente utiliza nftables como backend. O tráfego é decidido no kernel; o firewalld simplifica a gestão com zonas, serviços e API D‑Bus.
Qual tem melhor desempenho: nftables puro ou firewalld?
O desempenho de tráfego é essencialmente igual, pois ambos usam o mesmo dataplane do kernel. A diferença está na gestão e nos reloads, não no processamento de pacotes.
É seguro recarregar o firewall via SSH em produção?
Sim, desde que você mantenha uma segunda sessão aberta e tenha plano de rollback. Valide a sintaxe antes, aplique em janela controlada e teste conectividade logo após o reload.
Posso combinar firewalld e regras diretas em nftables?
Pode, mas prefira consistência. O firewalld já traduz para nftables; misturar ferramentas pode causar drift. Se adotar firewalld, use rich/direct rules dentro dele.
Como garantir cobertura IPv6 no firewall?
Defina políticas para IPv4 e IPv6. Em nftables, use 'table inet' com regras para ip e ip6; em firewalld, serviços e rich rules operam em ambas as famílias quando configurados.
Quer decidir entre nftables e firewalld e implantar com segurança?
Converse sobre requisitos, riscos e automação do firewall no seu Ubuntu 22.04 em VPS. Planeje política, testes e rollback para uma mudança segura.
Falar sobre o projetoVeja também
- Comparativo: ZFS vs LVM+LUKS em VPS com bancos de dados — snapshots, desempenho e recuperação após falha
- Análise prática — comparativo: Nginx Unit vs PHP‑FPM vs RoadRunner para executar monólitos PHP em containers — latência, throughput e consumo de memória
- Comparativo: Flyway vs Liquibase vs Sqitch para versionamento de banco de dados em projetos PHP/Laravel
- nftables vs iptables no Ubuntu 22.04: qual usar e exemplos práticos