O Debug de Fluxo no FortiGate é uma ferramenta de diagnóstico essencial para profissionais de redes e segurança. Ela permite rastrear o caminho de pacotes de dados em tempo real, fornecendo uma visão detalhada de como o FortiGate processa o tráfego de rede.
O comando diagnose debug flow é a chave para essa análise. Ele nos permite seguir um pacote específico desde o momento em que ele chega à interface de entrada, passando por todas as decisões de segurança, roteamento e NAT, até a sua saída. Essa capacidade de visualização é fundamental para solucionar problemas complexos de conectividade e identificar a causa raiz de falhas em políticas de firewall ou NAT.
Neste tutorial, você aprenderá a usar essa ferramenta poderosa, passo a passo, com exemplos práticos, para que você possa diagnosticar e resolver problemas de rede de forma mais rápida e eficaz.
1. Configurar o Ambiente de Debug
Antes de começar, é fundamental limpar qualquer configuração de debug que possa estar ativa para evitar conflitos ou ruído nos logs.
diagnose debug reset
2. Definir os Filtros de Tráfego
Para garantir que você capture apenas o tráfego que interessa, use filtros específicos. Isso é crucial para não sobrecarregar o FortiGate com logs desnecessários e para tornar a análise mais fácil.
Filtrar por endereço IP de origem ou destino:
diagnose debug flow filter addr <IP_a_ser_filtrado>
Filtrar por protocolo:
diagnose debug flow filter proto <numero_do_protocolo>
(Ex: 6 para TCP, 17 para UDP, 1 para ICMP/ping)
Filtrar por porta:
diagnose debug flow filter port <numero_da_porta>
Exemplo: Para monitorar o tráfego de ICMP (ping) vindo do IP de documentação 192.0.2.1, os comandos seriam:
diagnose debug flow filter addr 192.0.2.1
diagnose debug flow filter proto 1
3. Configurar e Iniciar a Captura
Esses comandos preparam a exibição da saída do debug, adicionando detalhes que são cruciais para a análise.
Habilitar a exibição do nome das funções:
diagnose debug flow show function-name enable
Habilitar a marcação de tempo:
diagnose debug console timestamp enable
Iniciar a captura e definir um limite de pacotes:
diagnose debug flow trace start 100 (Este comando define que o debug parará após capturar 100 pacotes.)
4. Ativar o Debug
Agora que os filtros e a exibição estão configurados, este comando liga a captura de debug.
diagnose debug enable
A partir deste ponto, o debug será exibido na sua tela da CLI. Você pode agora realizar o teste (por exemplo, iniciar um ping) para gerar o tráfego que será capturado.
5. Exemplo de Saída e Interpretação
Depois de iniciar o debug, você verá uma saída na tela da CLI. Cada linha conta uma parte da jornada do pacote.
Abaixo, um exemplo de saída e a explicação detalhada de cada etapa:
vd-root:0 received a packet(proto=6, 198.51.100.1:12345->203.0.113.1:80) tun_id=0.0.0.0 from wan. flag [S], seq 123456789, ack 0, win 64240
allocate a new session-c9bbb3a7, tun_id=0.0.0.0
find DNAT: IP-192.0.2.1:80, port-8080
VIP-192.0.2.1:80, outdev-wan
find a route: flag=00000000 gw-192.0.2.1 via internal
Denied by forward policy check (policy 0)
Interpretação da Saída:
vd-root:0 received a packet...: O FortiGate recebeu um pacote do endereço de origem 198.51.100.1 na porta 12345, destinado ao IP 203.0.113.1 na porta 80. O pacote chegou pela interface wan e é do protocolo TCP (proto=6).
allocate a new session...: O FortiGate alocou uma nova sessão para este pacote.
find DNAT: IP-192.0.2.1:80, port-8080: O FortiGate encontrou uma regra de DNAT (Destination Network Address Translation) que traduz o IP de destino para 192.0.2.1 e a porta para 8080.
VIP-192.0.2.1:80, outdev-wan: O FortiGate identificou um VIP (Virtual IP) configurado. O VIP em 192.0.2.1:80 está associado à interface de saída wan.
find a route...: O FortiGate encontrou uma rota para o IP 192.2.0.1 via a interface internal.
Denied by forward policy check (policy 0): Esta é a linha mais importante. O pacote foi negado pela verificação da política de encaminhamento. O número policy 0 geralmente indica que não há uma política explícita permitindo este tráfego. O problema está na falta de uma regra de firewall que permita o tráfego de entrada com as condições atuais.
6. Desativar o Debug
É fundamental desativar o debug assim que você terminar a análise, pois ele consome recursos do FortiGate e pode impactar o desempenho da sua rede.
diagnose debug disable