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.

- 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
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
| Item | Requisito, licença ou versão |
|---|---|
| VM Firewall | 1 vCPU, 512MB RAM, 2 interfaces de rede, Linux (Debian/Ubuntu/CentOS, kernel >=4.19) |
| VM LAN1 | 1 vCPU, 256MB RAM, 1 interface de rede, Linux |
| VM LAN2 | 1 vCPU, 256MB RAM, 1 interface de rede, Linux |
| iptables (Netfilter) | GPLv2 · a versão estável atual |
| iproute2 | GPLv2 · a versão estável atual |
Roteiro
- 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.
- 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 eth2O que você deve ver: ifconfig ou ip addr mostra os IPs atribuídos.
- 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_forwardO que você deve ver: cat /proc/sys/net/ipv4/ip_forward retorna 1.
- 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 LAN2O que você deve ver: ip route mostra o gateway correto em cada estação.
- 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 LAN2O que você deve ver: Ping funciona entre todas as máquinas.
- Zerar regras existentes no firewall
Limpe todas as regras para garantir ambiente limpo.
sudo iptables -F sudo iptables -t nat -F sudo iptables -XO que você deve ver: iptables -L mostra chains vazias.
- 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 DROPO que você deve ver: iptables -L mostra policy DROP.
- 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 ACCEPTO que você deve ver: iptables -L mostra as regras aplicadas.
- 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 ACCEPTO que você deve ver: iptables -L mostra regras com ESTABLISHED,RELATED.
- 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.
- 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 MASQUERADEO que você deve ver: Acesso à Internet funciona a partir da LAN1.
- 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/UbuntuO que você deve ver: Arquivo salvo com as regras atuais.
Como saber que funcionou
| Teste | Comando | Critério |
|---|---|---|
| Ping entre LAN1 e LAN2 | ping 192.168.20.2 | Recebe resposta apenas se ICMP estiver liberado. |
| Acesso SSH ao firewall | ssh usuario@192.168.10.1 | Conexão estabelecida. |
| Acesso HTTP/HTTPS da LAN1 para Internet | curl http://example.com | Recebe conteúdo HTTP. |
| Bloqueio de portas não liberadas | telnet 192.168.20.2 80 | Conexão recusada ou timeout. |
| Persistência das regras após reboot | sudo reboot; sudo iptables -L | Regras permanecem após reiniciar. |
Troubleshooting
| Sintoma | Causa provável | Correção |
|---|---|---|
| Sem resposta de ping entre as redes | Regra ICMP ausente ou política DROP | Adicione regra para ICMP em FORWARD |
| Sem acesso à Internet da LAN1 | NAT não configurado ou gateway errado | Verifique masquerade e gateway da estação |
| SSH ao firewall bloqueado | Regra INPUT para porta 22 ausente | Adicione regra para INPUT tcp dport 22 |
| Regras somem após reboot | Regras não salvas corretamente | Use iptables-save/restore conforme documentação |
| Acesso inesperado entre LANs | Regras permissivas demais | Revise 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
- Netfilter/Iptables documentation · Projeto Netfilter (netfilter.org)
- 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
