50% de desconto todos os planos, por tempo limitado. A partir de $2.48/mo
14 min restante
Segurança e Rede

Listando e Deletando Regras Iptables Linux. Um Guia de Consulta Rápida para Iniciantes

Lílio Carnelo By Lílio Carnelo 14 min de leitura Atualizado em 18 de setembro de 2023
Guia para Listar e Deletar Regras Iptables

Acesso não autorizado e invasão de servidores são ameaças sérias. Por isso, você deve implementar um firewall como parte de sua estratégia de segurança de rede. Dominar as regras do Iptables é um dos conhecimentos fundamentais para reduzir esses riscos em sistemas Linux. Este guia o ajudará a familiarizar-se com conceitos básicos de firewall, como listar regras do iptables e removê-las em Ubuntu, permitindo executar comandos simples para atingir esse objetivo. Antes de discutir como listar ou deletar regras do iptables, vamos explicar o que são regras do iptables e por que as usamos.

O que é Iptables?

iptables é um utilitário de firewall de linha de comando que permite ou bloqueia tráfego via cadeias de políticas. Quando conexões tentam ser estabelecidas no seu sistema, iptables procura uma regra na lista que corresponda a elas, servindo como um assistente essencial na segurança de rede. Se não encontrar uma para a conexão, aplica a ação padrão.

iptables geralmente vem pré-instalado em qualquer Distribuição Linux. Você pode usar o seguinte comando para atualizá-lo ou instalá-lo:

sudo apt-get install iptables

Por que usar Iptables?

Como firewall de linha de comando em Linux, iptables permite que administradores de sistema controlem tráfego de entrada e saída através de regras de tabelas configuráveis. Iptables usa um conjunto de tabelas com cadeias contendo regras built-in ou definidas pelo usuário.

Como mencionado na seção anterior, iptables desempenha um papel essencial na segurança de rede para a maioria dos sistemas Linux. O resto deste artigo se concentra principalmente em descrever como listar todas as regras de iptables, incluindo conceitos como exibir iptables e remover regras de iptables.

Mais especificamente, este artigo discutirá algumas das tarefas essenciais de iptables para mostrar como listar regras, deletar contadores de pacotes e bytes, remover regra de iptables, limpar cadeias e deletar todas as cadeias e aceitar todo tráfego.

Guia completo de Iptables em Ubuntu

Antes de prosseguir com exibição de regras de iptables, observe que você deve estar usando um servidor Linux com o comando iptables instalado. Além desses requisitos, é essencial ter privilégios de sudo. Ao trabalhar com firewalls, tenha cuidado para não se bloquear do seu servidor ao bloquear tráfego SSH (porta: 22, por padrão). Se perder acesso por causa das configurações do seu firewall, pode ser necessário conectar-se a ele através de um console fora da banda para corrigi-lo.

Leia Também: Como Alterar a Porta SSH em Linux | Guia Passo a Passo para sua Porta SSH

Listando Regras por Especificação

Você pode ver suas regras ativas de iptables em uma tabela ou como uma lista de especificações de regra. Quase ambos os métodos fornecem as mesmas informações em formatos diferentes. Para listar todas as regras de iptables ativo por especificação, você precisa executar o comando iptables com a opção -S:

sudo iptables -S

Após executar este comando de exibição de regras de iptables, você verá um resultado como este:

resultado de execução da listagem de regras
resultado de execução da listagem de regras

Listando uma Cadeia Específica

Se você quiser limitar a saída de exibição de iptables para uma cadeia específica como INPUT, OUTPUT, ou TCP, pode especificar o nome da cadeia diretamente após a opção -S. Por exemplo, o seguinte comando de exibição de regras de iptables ajuda a especificar na cadeia TCP:

sudo iptables -S TCP

saída da listagem de uma cadeia especificada TCP
saída da listagem de uma cadeia especificada TCP

Como mencionamos antes, há outra forma de exibir as regras do iptables: visualizá-las como uma tabela. Vamos ver como funciona essa técnica.

Listando Regras como Tabelas

Usar um comando para exibir as regras do iptables em tabelas facilita a comparação entre várias regras. Você precisa executar o seguinte comando com a opção -L para exibir todas essas regras ativas em uma tabela:

sudo iptables -L

Este comando exibe todas as regras atuais organizadas por cadeias. Você pode limitar a saída para uma cadeia específica, como INPUT, OUTPUT, TCP, etc.; para isso, especifique o nome da cadeia logo após a opção -L. Veja um exemplo de como limitar as regras do iptables à cadeia INPUT:

sudo iptables -L INPUT

saída das regras do iptables limitadas à cadeia INPUT
saída das regras do iptables limitadas à cadeia INPUT

A primeira linha da saída acima mostra o nome da cadeia (INPUT, neste caso) e sua política padrão (DROP). A linha seguinte contém os cabeçalhos de cada coluna da tabela e as regras da cadeia. Vamos explicar cada um:

  • Target: Se um pacote corresponde à regra, o target determina o que fazer com ele. O pacote pode ser aceito, descartado, registrado ou enviado para outra cadeia para ser comparado contra mais regras.
  • prot: O protocolo (como TCP, udp, ICMP, ou all)
  • opt: indica opções IP (raramente usado)
  • source: mostra o endereço IP de origem ou sub-rede do tráfego 
  • destination: apresenta o endereço IP de destino ou sub-rede do tráfego

A coluna sem rótulo sugere as opções de uma regra, ou seja, qualquer parte da regra que não foi indicada nas colunas anteriores. Essas informações podem incluir portas de origem e destino até o estado de conexão do pacote.

Leia Também: Instalar OpenVPN no VPS – Configuração do Cliente OpenVPN 🔑

Como exibir contagens de pacotes e tamanho agregado?

Ao listar as regras do iptables, você pode exibir o número de pacotes e o tamanho total dos pacotes em bytes que correspondem a cada regra específica do iptables; isso geralmente ajuda a entender quais regras processam os pacotes. Para isso, use a -L e opções -v juntas para conseguir isto.

Veja um exemplo usando a cadeia INPUT novamente, com a opção -v:

sudo iptables -L INPUT -v

Exibindo Contagens de Pacotes e Tamanho Total
saída de Exibindo Contagens de Pacotes e Tamanho Total

Observe que nossa lista agora tem duas colunas adicionais chamadas pkts e bytes. Aprendemos várias formas de exibir todas as regras do iptables, e agora é hora de saber como redefinir as contagens de pacotes e tamanho total.

Como redefinir contagens de pacotes e tamanho agregado?

Use a opção -Z se quiser limpar ou zerar os contadores de pacotes e bytes das suas regras. Eles também são redefinidos se houver uma reinicialização, o que é útil se você quiser saber se o servidor está recebendo novo tráfego que corresponda às suas regras existentes.

Você pode limpar os contadores de todas as cadeias e regras usando a opção -Z por si só:

sudo iptables -Z

Para remover os contadores de todas as regras em uma cadeia específica, use a opção -Z e especifique a cadeia. Por exemplo, o seguinte comando limpa os contadores da cadeia INPUT:

sudo iptables -Z INPUT

Se você quiser remover os contadores de uma regra específica, mencione o nome da cadeia e o número da regra com precisão. Por exemplo, execute o seguinte comando para zerar os contadores da primeira regra na cadeia INPUT:

sudo iptables -Z INPUT 1

Além de conhecer os comandos para exibir todas as regras do iptables e as formas de redefinir os contadores de pacotes e bytes, é bom saber como remover uma regra do iptables.

Leia Também: Como instalar o servidor PPTP VPN no seu VPS

Como remover regras do iptables?

Existem vários comandos para remover regras do Iptables ou até apagar todas as regras em uma corrente. Vamos discutir esses métodos aqui.

Remover Regras por Especificação

Uma das formas de remover regras do iptables é fazer isso por especificação de regra. Isso permite que você execute o comando iptables com o opção -D e a especificação da regra. Se você quer remover regras usando essa técnica, pode usar a saída da listagem de regras, iptables -S, como referência.

Por exemplo, para deletar a regra que descarta pacotes de entrada inválidos (-A INPUT -m conntrack –ctstate INVALID -j DROP), execute o seguinte comando:

sudo iptables -D INPUT -m conntrack --ctstate INVALID -j DROP

Observe que a opção -A é para indicar a posição da regra no momento da criação e deve ser excluída aqui.

Remover regras por chain e número

Outro método para remover regras do iptables é usar a corrente e o número da linha. Digite o seguinte comando para obter o número da linha de uma regra, listar as regras em formato de tabela e adicionar a opção –line-numbers:

sudo iptables -L --line-numbers

Remover regras por chain e número
saída de Removendo regras por corrente e número

Após executar isso, todas as regras do iptables terão seu número de linha, mostrado no cabeçalho num.

Quando você souber qual regra quer deletar, tenha em mente sua corrente e número de linha. Você deve usar o comando iptables -D com a corrente e o número da regra. Por exemplo, se você quer deletar a regra de entrada que descarta pacotes inválidos, você verá que é a regra 3 da corrente INPUT. Então execute este comando:

sudo iptables -D INPUT 3

Como limpar chains?

Existe uma forma de remover todas as regras do Iptables em uma corrente, que chamamos de limpar uma cadeia. Vamos cobrir os vários métodos para fazer isso. Antes de prosseguir, observe que não deve ficar bloqueado do servidor via SSH ao limpar uma corrente com uma política padrão drop ou deny. Se isso acontecer, você pode precisar se conectar via console para restaurar seu acesso.

Limpar uma Corrente Única

Para limpar uma corrente específica, ou seja, deletar todas as regras na corrente, você pode usar a -F ou o equivalente opção –flush e o nome da corrente selecionada. Digamos que você quer remover todas as regras da corrente INPUT. Como fazer? Simples, execute o seguinte comando:

sudo iptables -F INPUT

Limpar Todas as Correntes

Para remover todas as correntes ou limpá-las, você pode usar a opção -F ou a equivalente –flush sozinha:

sudo iptables -F

Como Limpar Todas as Regras, Deletar Todas as Chains e Aceitar Tudo?

Neste ponto, vamos descrever como limpar todas as regras, tabelas e correntes do firewall e permitir todo o tráfego de rede. Observe que esse processo vai efetivamente desabilitar o firewall. Portanto, você deve seguir esta seção apenas se quiser começar do zero com sua configuração de firewall.

Primeiro você precisa definir as políticas padrão para cada uma das correntes integradas como ACCEPT. O motivo principal para fazer isso é garantir que você não fique bloqueado do servidor via SSH:

sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT

Depois você precisa limpar as tabelas nat e mangle, limpar todas as correntes (-F)e deletar todas as correntes não-padrão (-X) assim:

sudo iptables -t nat -F
sudo iptables -t mangle -F
sudo iptables -F
sudo iptables -X

Após executar os comandos anteriores, o firewall permitirá todo o tráfego de rede. Se você quiser listar suas regras agora, verá que não há nenhuma. Apenas as três correntes padrão como INPUT, FORWARD e OUTPUT permanecem.

Como configurar iptables em Ubuntu?

Como em qualquer comportamento básico de firewall, as regras do iptables são lidas na ordem listada em cada corrente, o que significa que você precisa definir as regras na ordem correta. Quando você adiciona novas regras, elas são adicionadas ao final da lista de regras. Você pode adicionar novas regras em uma posição específica inserindo-as usando iptables -I <index> -command. O <index> é o número de ordem em que você quer inserir a regra neste comando. Você pode usar o seguinte comando para entender qual número de index deve inserir:

sudo iptables -L --line-numbers

O número no início de cada linha de regra mostra a posição na cadeia. Para adicionar uma nova regra acima de uma regra existente específica, você deve usar o número de índice dessa regra. Por exemplo, se você quiser adicionar uma nova regra no topo da cadeia, execute o comando a seguir com o número de índice 1:

sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT

Qual é a diferença entre iptables e firewalld?

iptables e firewalld são ferramentas práticas para gerenciar firewalls em vários sistemas Linux projetados especificamente para filtragem de pacotes (filtragem estática). A filtragem de pacotes é uma estratégia de firewall que permite aos usuários controlar o acesso a uma rede específica gerenciando pacotes de informações de entrada e saída. Eles podem permitir que passem ou bloqueá-los com base em regras de firewall pré-configuradas sobre seus protocolos de origem e destino, portas e endereços IP. Essas regras oferecem mecanismos de segurança muito eficientes, tornando a filtragem de pacotes de informação uma ótima defesa contra dispositivos roteados fora da LAN (Rede de Área Local) do sistema.

Note que firewalld foi inicialmente apresentado como software para gerenciar iptables e facilitar a navegação para o usuário. Com essa introdução de firewalld e iptables, vamos compará-los em mais detalhes.

iptables vs firewalld: Configuração do sistema

Firewalld e iptables usam configurações diferentes e configurações de armazenamento padrão diferentes. Com iptables, toda alteração significa descartar todas as regras antigas e ler as novas, então o sistema precisa reiniciar. No entanto, com firewalld, as regras não são recriadas; em vez disso, as diferenças e modificações feitas são aplicadas para alterar as regras existentes, permitindo que você as veja entrando em efeito em tempo real.

iptables vs firewalld: Interface do usuário

Firewalld usa uma Interface Gráfica do Usuário (GUI). Já iptables utiliza uma Interface de Linha de Comando (CLI), o que pode ser desafiador para algumas pessoas acessarem as regras de firewall do kernel Linux usando iptables, tornando firewalld uma opção mais direta. Considere que iptables tem um tempo de resposta mais curto, já que você usa apenas comandos breves. Apesar disso, ambas têm seus casos de uso, então escolha a que você se sente mais confortável em trabalhar.

Considerações finais: exibir regras de iptables

iptables é um utilitário de firewall altamente flexível criado especificamente para sistemas operacionais Linux. Não importa se você é iniciante ou um administrador de sistema profissional; há maneiras de que as regras de iptables possam ser úteis para você. Este artigo apresentou principalmente comandos básicos para este utilitário de firewall, incluindo exibir regras de iptables e remover regras de iptables, visando revisar brevemente os recursos do Linux. Além disso, você pode usar nossas soluções de hospedagem Linux VPS para aproveitar todo o potencial deste excelente sistema operacional. Na Cloudzy, oferecemos vários planos Linux VPS baseados em KVM adequados para vários casos de uso, como hospedagem de sites, implantação de aplicativos web ou até configuração de um ambiente para desenvolver, testar e automatizar código.

Perguntas Frequentes

Como listar todas as regras de iptables em Linux por especificação?

Se você quiser listar todas as regras de iptables ativas no momento por sua especificação ou funcionalidade, pode fazer isso com o comando iptables seguido de bandeira -S. Preste atenção ao usar a sudo palavra-chave neste caso:

sudo iptables -S

Como remover regras de iptables?

Para remover uma cadeia específica, o que excluirá todas as regras na cadeia, você deve usar a opção -F ou –flush e o nome da cadeia. Digamos que queremos excluir todas as regras na cadeia OUTPUT, o que fazer? Bem, você precisa executar este comando:

 sudo iptables -F OUTPUT

Como funciona iptables em Ubuntu?

O firewall iptables compara o tráfego de rede com um conjunto de regras. As regras de iptables especificam as características de um pacote para corresponder à regra e qual ação deve ser tomada se os pacotes corresponderem. É claro que existem muitas opções para definir quais pacotes correspondem a uma regra específica.

As regras de iptables entram em vigor imediatamente? Por quê?

Sim, as regras de iptables entram em efeito instantaneamente, pois seu script está anexando às cadeias INPUT e OUTPUT, e suas regras estão sendo adicionadas ao final dessas cadeias.

Compartilhar

Mais do blog

Continue lendo.

Uma imagem de título Cloudzy para um guia de VPN L2TP MikroTik, mostrando um laptop conectado a um rack de servidores por um túnel digital brilhante em azul e ouro com ícones de escudo.
Segurança e Rede

Configuração MikroTik L2TP VPN (com IPsec): Guia RouterOS (2026)

Nesta configuração MikroTik L2TP VPN, o L2TP cuida do tunelamento enquanto o IPsec cuida da criptografia e integridade; combinar os dois oferece compatibilidade nativa com clientes sem depender de ferramentas de terceiros

Rexa CyrusRexa Cyrus 9 min de leitura
Janela de terminal exibindo mensagem de aviso SSH sobre alteração na identificação do host remoto, com título Guia de Solução e marca Cloudzy em fundo azul-piscina escuro.
Segurança e Rede

Aviso: Identificação do Host Remoto Foi Alterada e Como Corrigir

SSH é um protocolo de rede seguro que cria um túnel criptografado entre sistemas. Continua popular entre desenvolvedores que precisam de acesso remoto a computadores sem necessidade de interface gráfica

Rexa CyrusRexa Cyrus 10 min de leitura
Ilustração do guia de solução de problemas do servidor DNS com símbolos de aviso e servidor azul em fundo escuro para erros de resolução de nomes Linux
Segurança e Rede

Falha Temporária na Resolução de Nome: O Que Significa e Como Corrigir?

Ao usar Linux, você pode encontrar um erro de falha temporária na resolução de nomes ao tentar acessar sites, atualizar pacotes ou executar tarefas que exigem conexão com a internet

Rexa CyrusRexa Cyrus 12 min de leitura

Pronto para fazer o deploy? A partir de $2,48/mês.

Cloud independente, desde 2008. AMD EPYC, NVMe, 40 Gbps. Reembolso em 14 dias.