Entrar ou criar conta

ULC Lab · implementação reproduzível

Laboratório: Firewall Linux com Netfilter/iptables segmentando duas redes

Você terá um firewall Linux isolando duas redes privadas, controlando o tráfego entre elas e com acesso externo restrito. O laboratório leva cerca de 2 horas.

Firewall Linux do zero a ambientes protegidos
Ligado ao treinamento Firewall Linux do zero a ambientes protegidos
ULC-LAB-INFR-0003 · Status de validaçãoNão validado pela Upnetix: roteiro derivado da documentação oficial, para você executar e validar
Duração estimada
120 min
Passos
12
Validações
5
Versões da documentação consultada
iptables (Netfilter) a versão estável atual · iproute2 a versão estável atual
Objetivo

Demonstrar, na prática, como usar o Netfilter/iptables para segmentar redes, bloquear acessos indesejados e permitir apenas o tráfego autorizado entre segmentos internos e para a Internet. O foco é entender o fluxo dos pacotes, aplicar regras básicas e validar o isolamento e a liberação de serviços essenciais.

Topologia

Três máquinas virtuais: uma como firewall (duas interfaces), uma como estação interna (rede LAN1, 192.168.10.0/24) e uma como estação de DMZ (rede LAN2, 192.168.20.0/24). O firewall conecta ambas as redes e tem saída controlada para a Internet.

           [Internet]
                |
         [eth1] Firewall [eth2]
           |                 |
      192.168.10.1      192.168.20.1
           |                 |
    [LAN1: 192.168.10.2] [LAN2: 192.168.20.2]

Equipamentos e software

ItemRequisito, licença ou versão
VM Firewall1 vCPU, 512MB RAM, 2 interfaces de rede, Linux (Debian/Ubuntu/CentOS, kernel >=4.19)
VM LAN11 vCPU, 256MB RAM, 1 interface de rede, Linux
VM LAN21 vCPU, 256MB RAM, 1 interface de rede, Linux
iptables (Netfilter)GPLv2 · a versão estável atual
iproute2GPLv2 · a versão estável atual

Roteiro

  1. Preparar as máquinas virtuais e redes

    Crie três VMs. Configure as redes conforme a topologia. O firewall precisa de duas interfaces (eth1 e eth2).

    O que você deve ver: As VMs se comunicam conforme a topologia, sem firewall ainda.

  2. Configurar IPs nas interfaces

    Atribua IPs estáticos nas interfaces das VMs. O firewall terá 192.168.10.1/24 (eth1) e 192.168.20.1/24 (eth2).

    sudo ip addr add 192.168.10.1/24 dev eth1
    sudo ip addr add 192.168.20.1/24 dev eth2

    O que você deve ver: ifconfig ou ip addr mostra os IPs atribuídos.

  3. Configurar roteamento no firewall

    Habilite o encaminhamento de pacotes para que o firewall possa rotear entre as redes.

    echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward

    O que você deve ver: cat /proc/sys/net/ipv4/ip_forward retorna 1.

  4. Configurar gateway nas estações

    Defina o firewall como gateway padrão nas VMs LAN1 e LAN2.

    sudo ip route add default via 192.168.10.1 # na LAN1
    sudo ip route add default via 192.168.20.1 # na LAN2

    O que você deve ver: ip route mostra o gateway correto em cada estação.

  5. Testar conectividade sem firewall

    Antes de aplicar regras, teste ping entre as estações e para o firewall.

    ping 192.168.20.2 # da LAN1 para LAN2

    O que você deve ver: Ping funciona entre todas as máquinas.

  6. Zerar regras existentes no firewall

    Limpe todas as regras para garantir ambiente limpo.

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

    O que você deve ver: iptables -L mostra chains vazias.

  7. Bloquear todo o tráfego por padrão

    Implemente política default DROP para INPUT, FORWARD e OUTPUT.

    sudo iptables -P INPUT DROP
    sudo iptables -P FORWARD DROP
    sudo iptables -P OUTPUT DROP

    O que você deve ver: iptables -L mostra policy DROP.

  8. Liberar tráfego essencial

    Permita SSH no firewall, DNS e ICMP (ping) entre as redes. Permita saída HTTP/HTTPS da LAN1 para Internet.

    sudo iptables -A INPUT -i lo -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    sudo iptables -A FORWARD -p icmp -j ACCEPT
    sudo iptables -A FORWARD -p tcp --dport 53 -j ACCEPT
    sudo iptables -A FORWARD -p udp --dport 53 -j ACCEPT
    sudo iptables -A FORWARD -s 192.168.10.0/24 -o eth1 -p tcp -m multiport --dports 80,443 -j ACCEPT

    O que você deve ver: iptables -L mostra as regras aplicadas.

  9. Permitir resposta de conexões estabelecidas

    Permita pacotes de retorno para conexões já estabelecidas.

    sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    sudo iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

    O que você deve ver: iptables -L mostra regras com ESTABLISHED,RELATED.

  10. Testar isolamento entre as redes

    Tente pingar e acessar serviços entre as redes. Só o que foi liberado deve funcionar.

    O que você deve ver: Ping funciona, mas acesso a portas não liberadas é bloqueado.

  11. Habilitar NAT para saída à Internet

    Implemente masquerade para permitir que LAN1 acesse a Internet usando o IP do firewall.

    sudo iptables -t nat -A POSTROUTING -o eth1 -s 192.168.10.0/24 -j MASQUERADE

    O que você deve ver: Acesso à Internet funciona a partir da LAN1.

  12. Salvar as regras

    Salve as regras para que persistam após reboot (consulte a documentação para o seu sistema).

    sudo iptables-save > /etc/iptables/rules.v4 # exemplo Debian/Ubuntu

    O que você deve ver: Arquivo salvo com as regras atuais.

Como saber que funcionou

TesteComandoCritério
Ping entre LAN1 e LAN2ping 192.168.20.2Recebe resposta apenas se ICMP estiver liberado.
Acesso SSH ao firewallssh usuario@192.168.10.1Conexão estabelecida.
Acesso HTTP/HTTPS da LAN1 para Internetcurl http://example.comRecebe conteúdo HTTP.
Bloqueio de portas não liberadastelnet 192.168.20.2 80Conexão recusada ou timeout.
Persistência das regras após rebootsudo reboot; sudo iptables -LRegras permanecem após reiniciar.

Troubleshooting

SintomaCausa provávelCorreção
Sem resposta de ping entre as redesRegra ICMP ausente ou política DROPAdicione regra para ICMP em FORWARD
Sem acesso à Internet da LAN1NAT não configurado ou gateway erradoVerifique masquerade e gateway da estação
SSH ao firewall bloqueadoRegra INPUT para porta 22 ausenteAdicione regra para INPUT tcp dport 22
Regras somem após rebootRegras não salvas corretamenteUse iptables-save/restore conforme documentação
Acesso inesperado entre LANsRegras permissivas demaisRevise as regras e restrinja o necessário

Segurança e hardening

  • Nunca deixe política default ACCEPT em produção
  • Permita apenas serviços essenciais no firewall
  • Restrinja acesso SSH por IP se possível
  • Monitore logs de iptables para tentativas suspeitas
  • Atualize o sistema e o iptables regularmente

Checklist final

Referências

  1. Netfilter/Iptables documentation · Projeto Netfilter (netfilter.org)
Verificação editorial
Publicado
09/09/2026
Última revisão
09/09/2026
Versão do conteúdo
1.0
Referências
1 oficiais
Revisão técnica
redação e revisão por IA, URLs conferidas na publicação
Status
Atual
Encontrou um erro? Escreva para comercial@upnetix.com.br com o endereço da página. A revisão semestral por IA nunca altera comandos ou configurações sem passar pela fila de revisão.