ReferênciaFortinet

FortiGate diagnose debug flow

Ir para o conteúdo ↓

Utiliza o debug flow do FortiGate para seguir a forma como o tráfego é processado, encaminhado, sujeito a NAT, aceite ou negado pelo FortiOS.

Avançadorisco: MédioAtualFortiOS 7.4
Última verificação 2026-09-17 · Próxima revisão 2027-03-16
FortinetFortiGateReferência
01Antes de executar

Utiliza durante troubleshooting controlado. Regista primeiro o estado atual e garante que sabes como parar ou reverter a operação.

02Aplica-se a

FortiGate · FortiOS · 7.4

Quando utilizar este conteúdo

Utiliza esta referência quando precisares de inspecionar, validar ou explicar o estado atual de FortiGate durante troubleshooting operacional.

Artigo técnico

Visão geral

diagnose debug flow é uma das ferramentas de troubleshooting mais úteis do FortiGate quando o tráfego chega à firewall mas não se comporta como esperado.

Permite ver decisões de processamento de pacotes do FortiOS, como route lookup, criação de sessões, correspondência de policies, processamento de NAT e motivos de bloqueio.

É especialmente útil quando um packet capture simples confirma que existe tráfego, mas não explica porque é que o FortiGate tomou uma determinada decisão de encaminhamento.

O que faz

Um debug flow acompanha tráfego selecionado ao longo do processamento de pacotes do FortiOS.

O output pode revelar:

  • Interface de entrada
  • Endereços de origem e destino
  • Resultado do route lookup
  • Criação de sessão
  • Decisão da firewall policy
  • Source NAT ou destination NAT
  • Processamento local-in
  • Motivo de drop

A família de comandos não corresponde a um único comando. Um debug útil normalmente envolve:

  1. Limpar o estado de debug anterior.
  2. Aplicar um ou mais filtros.
  3. Opcionalmente ativar os nomes das funções.
  4. Iniciar um número limitado de traces.
  5. Ativar o output de debug.
  6. Gerar o tráfego que está a ser investigado.
  7. Parar e repor o debug.

Quando utilizar

Utiliza debug flow ao investigar situações como:

  • Um host chega ao FortiGate mas não ao destino.
  • O tráfego parece corresponder à firewall policy errada.
  • NAT está a ser aplicado inesperadamente.
  • Uma rota não é selecionada como esperado.
  • Tráfego inter-VLAN é negado.
  • O tráfego VPN chega ao FortiGate mas não é encaminhado corretamente.
  • Packet captures mostram tráfego a entrar mas não a sair pela interface esperada.

Não uses debug flow como primeiro passo para qualquer problema. Routing tables, estado das interfaces, configuração de policies, logs e um packet capture filtrado são muitas vezes formas mais rápidas de reduzir o âmbito do problema.

Pré-requisitos

  • Acesso CLI com permissões administrativas suficientes.
  • Uma origem, destino, porta ou protocolo claros para filtrar.
  • Conhecimento do VDOM ativo quando existem VDOMs.
  • Um teste controlado capaz de gerar tráfego repetível.

Em firewalls de produção com muito tráfego, evita sessões de debug amplas ou sem filtros.

Procedimento recomendado

Limpa o estado de debug existente:

bash
diagnose debug reset

Filtra por endereço IP:

bash
diagnose debug flow filter addr 10.1.10.20

Para testes mais precisos, utiliza filtros de origem e destino:

bash
diagnose debug flow filter saddr 10.1.10.20
diagnose debug flow filter daddr 10.2.20.10

Opcionalmente, filtra pela porta de destino:

bash
diagnose debug flow filter dport 443

Mostra os nomes das funções no output:

bash
diagnose debug flow show function-name enable

Limita o trace a um número definido de eventos:

bash
diagnose debug flow trace start 100

Ativa o output de debug:

bash
diagnose debug enable

Gera o tráfego necessário para reproduzir o problema.

Quando terminares:

bash
diagnose debug flow trace stop
diagnose debug disable
diagnose debug reset

Filtros comuns

Qualquer tráfego relacionado com um endereço

bash
diagnose debug flow filter addr 10.1.10.20

Endereço de origem

bash
diagnose debug flow filter saddr 10.1.10.20

Endereço de destino

bash
diagnose debug flow filter daddr 10.2.20.10

Porta TCP/UDP de destino

bash
diagnose debug flow filter dport 443

Protocolo

ICMP utiliza o número de protocolo 1:

bash
diagnose debug flow filter proto 1

TCP utiliza o número de protocolo 6 e UDP utiliza 17.

Como interpretar o output

Não leias o debug flow apenas como uma mensagem binária de sucesso/falha. Segue a sequência de processamento do pacote.

Pacote recebido

Uma linha a indicar que foi recebido um pacote confirma que o FortiGate viu efetivamente o tráfego de teste na interface indicada.

Route lookup

Procura output que indique que foi encontrada uma rota e confirma o gateway e a interface de saída.

Se for selecionada a rota errada, verifica:

bash
get router info routing-table all

Criação de sessão

Uma mensagem de nova sessão confirma que o FortiOS está a criar estado de sessão para o fluxo.

Firewall policy

Procura informação sobre policy matching ou deny. Confirma o policy ID face à firewall policy configurada.

NAT

Mensagens referentes a SNAT ou DNAT mostram que está a ser aplicada tradução de endereços. Confirma se isso é intencional para o fluxo testado.

Validação

Uma sessão de diagnóstico bem-sucedida deve permitir responder, pelo menos, a estas perguntas:

  1. O pacote entrou no FortiGate?
  2. Em que interface?
  3. Que rota foi selecionada?
  4. Que policy processou o tráfego?
  5. Foi aplicado NAT?
  6. O fluxo foi aceite ou descartado?
  7. Se foi descartado, em que fase ocorreu o drop?

Se o debug flow não responder à primeira pergunta, utiliza um packet sniffer para confirmar se o FortiGate vê o tráfego.

Riscos e considerações

Volume elevado de debug

Um debug sem filtros numa firewall com muito tráfego pode gerar muito output e tornar a análise difícil.

Filtra sempre de forma tão restritiva quanto possível e limita o número de traces.

Logging em FortiAnalyzer e FortiCloud

A Fortinet alerta que o output de debug flow pode ser registado como event log e encaminhado para serviços de logging associados. Não deixes o diagnóstico ativo mais tempo do que o necessário.

Tráfego com hardware offload

Tráfego offloaded para processadores NP6 ou NP7 pode não aparecer no output normal de debug flow. Se uma sessão ativa conhecida parecer invisível, considera hardware offload antes de concluir que o tráfego nunca passou pelo FortiGate.

Desativar hardware acceleration é uma ação intrusiva de diagnóstico e não deve ser feita de forma casual em produção.

Rollback / Stop

Utiliza os três comandos após uma sessão de troubleshooting:

bash
diagnose debug flow trace stop
diagnose debug disable
diagnose debug reset

diagnose debug reset é importante porque limpa filtros e estado de debug que poderiam afetar uma sessão posterior.

Troubleshooting do troubleshooting

Não aparece output

Confirma:

  • diagnose debug enable está ativo?
  • O tráfego de teste está realmente a ocorrer?
  • Os filtros são demasiado restritivos?
  • Estás no VDOM correto?
  • A sessão está em hardware offload?
  • Um packet sniffer consegue ver o tráfego?

O output é excessivo

Pára o debug e restringe os filtros usando endereço de origem, endereço de destino, protocolo e porta.

O tráfego é permitido, mas a aplicação continua a falhar

Uma decisão de allow na firewall prova apenas que o FortiGate permitiu o fluxo testado. Continua com packet capture, validação do return path, firewall do endpoint, listening ports do servidor e diagnóstico ao nível da aplicação.

Artigos relacionados

  • FortiGate packet sniffer
  • FortiGate routing table
  • FortiGate IPsec tunnel established but no traffic

Fontes

Consulta as referências oficiais da Fortinet indicadas nos metadados do artigo.

Aprendizagem guiada

Este artigo faz parte de um percurso

FortinetTroubleshooting de Tráfego em FortiGateEtapa 5/6 · seguinte: Aplicar o workflow a IPsec
Ver percurso →
Percurso técnico

Knowledge graph

Relações editoriais explícitas entre pré-requisitos, comandos, troubleshooting, Labs e próximos passos.

Comandos relacionadosComandos e referências operacionais úteis neste workflow.
2
Troubleshooting relacionadoPercursos de diagnóstico para falhas na mesma área.
1
Qualidade do conhecimento

Este artigo ajudou-te a resolver o problema?

Cada conta pode votar uma vez por artigo. Podes alterar o voto sem aumentar a contagem total.