NetFlow no MikroTik: Por Que Todo Provedor Precisa
Se você opera um provedor de internet e não tem visibilidade do tráfego que passa pela sua rede, está pilotando no escuro. O NetFlow (chamado de Traffic Flow no RouterOS) é o protocolo que resolve isso: ele exporta metadados de cada fluxo de rede — origem, destino, portas, bytes, pacotes — para um coletor externo onde você analisa tudo.
Não confunda com captura de pacotes (packet sniffing). O NetFlow não captura conteúdo — ele registra quem falou com quem, quanto tráfego passou e por quanto tempo. É a diferença entre gravar uma ligação e registrar que a ligação aconteceu.
NetFlow vs IPFIX vs Syslog: Entenda as Diferenças
| Característica | NetFlow v5/v9 | IPFIX (NetFlow v10) | Syslog (NAT) |
|---|---|---|---|
| Tipo de dado | Fluxos de tráfego | Fluxos de tráfego (extensível) | Eventos (criação/destruição sessão NAT) |
| Uso principal | Análise de tráfego, billing | Análise avançada, templates customizados | Compliance Marco Civil, resposta a ofícios |
| Volume de dados | Alto (1 registro por fluxo) | Alto (customizável) | Muito alto (1 registro por sessão NAT) |
| Suporte MikroTik | Sim (v1, v5, v9, IPFIX) | Sim (RouterOS 6.x+) | Sim (via /system logging) |
| Para CGNAT compliance | Não recomendado sozinho | Possível com templates NAT | Padrão da indústria |
Resumo prático: NetFlow serve para análise de tráfego (quem está consumindo banda, para onde vai o tráfego, detecção de anomalias). Syslog serve para compliance de NAT/CGNAT (qual IP público e porta foram atribuídos a qual assinante). São complementares, não substitutos.
Passo a Passo: Habilitando Traffic Flow no RouterOS
1. Habilitar o Traffic Flow
No terminal do MikroTik (via SSH, Winbox ou WebFig):
/ip traffic-flow set enabled=yes
/ip traffic-flow set active-flow-timeout=1m
/ip traffic-flow set inactive-flow-timeout=15s
/ip traffic-flow set cache-entries=512k
Explicação dos parâmetros:
- active-flow-timeout=1m — Fluxos ativos são exportados a cada 1 minuto. Valores menores dão mais granularidade, mas geram mais dados. Para ISP, 1m é um bom equilíbrio.
- inactive-flow-timeout=15s — Fluxos sem tráfego por 15 segundos são considerados encerrados e exportados. O padrão de 15s funciona bem.
- cache-entries=512k — Em CCRs com muito tráfego, aumente para 512k ou 1M. O padrão (4k) é insuficiente para ISP — você vai perder fluxos.
2. Selecionar Interfaces para Monitorar
Por padrão, o Traffic Flow monitora todas as interfaces. Em um CCR de borda, você provavelmente quer monitorar apenas as interfaces de upstream e downstream:
/ip traffic-flow set interfaces=ether1-upstream,ether2-upstream,bridge-clientes
Se quiser monitorar tudo (cuidado com o volume):
/ip traffic-flow set interfaces=all
Dica: Em CCRs com PPPoE, monitorar a interface all-ppp captura todo o tráfego dos assinantes sem precisar listar cada interface <pppoe-user> individualmente.
3. Configurar o Coletor (Target)
Agora configure para onde os dados serão enviados. Você pode ter múltiplos targets:
/ip traffic-flow target
add dst-address=172.25.255.210:2055 version=9
add dst-address=172.25.255.210:4739 version=ipfix
Versões disponíveis no RouterOS:
- version=1 — Legado, não use.
- version=5 — Mais compatível, mas limitado (só IPv4, sem MPLS).
- version=9 — Recomendado. Suporta IPv6, MPLS, templates.
- version=ipfix — Padrão IETF (RFC 7011). Use se seu coletor suporta.
Resolva isso automaticamente com NATVault
NATVault recebe e armazena logs de NAT/CGNAT via Syslog — complementar ao NetFlow para compliance total. Teste grátis por 14 dias. Sem cartão de crédito.
Começar teste grátisColetores: NfSen, Akvorado e ntopng
NfSen + nfdump
Clássico do mundo ISP. Gratuito, leve, funciona bem em servidores modestos.
# Instalar nfdump + nfsen no Debian/Ubuntu
apt install nfdump nfsen
# Configurar source em /etc/nfsen/nfsen.conf
%sources = (
'ccr-borda' => { 'port' => '2055', 'col' => '#0000ff', 'type' => 'netflow' },
);
# Reiniciar
systemctl restart nfsen
O nfdump permite queries poderosas via CLI:
# Top 10 IPs por tráfego na última hora
nfdump -R /var/cache/nfsen/profiles-data/live/ccr-borda -s srcip/bytes -n 10 -t -1h
# Tráfego de um IP específico
nfdump -R /var/cache/nfsen/profiles-data/live/ccr-borda 'src ip 100.64.15.33' -t -24h
Akvorado
Ferramenta moderna (Go, ClickHouse), ideal para ISPs que querem dashboards bonitos e queries rápidas em grandes volumes:
# Docker compose básico
version: '3'
services:
akvorado:
image: ghcr.io/akvorado/akvorado:latest
ports:
- "127.0.0.1:8080:8080" # Web UI
- "0.0.0.0:2055:2055/udp" # NetFlow
- "0.0.0.0:4739:4739/udp" # IPFIX
volumes:
- ./akvorado.yaml:/etc/akvorado/config.yaml
Akvorado enriquece os fluxos com dados de SNMP (nomes de interface, descrições), GeoIP e AS numbers. Excelente para capacity planning.
ntopng
Interface web rica, detecção de anomalias integrada, mas consome mais recursos:
# Receber NetFlow no ntopng
ntopng -i tcp://127.0.0.1:5556 --zmq-collector-port=2055
A versão Community é gratuita. A versão Enterprise tem alertas avançados e integração com Telegram/Slack.
Casos de Uso para Provedores
Capacity Planning
Com dados de NetFlow, você identifica:
- Quais upstreams estão mais carregados e em quais horários
- Quanto tráfego vai para CDNs (Google, Netflix, Akamai) — vale a pena peer?
- Crescimento mensal de tráfego por região/POP
- Proporção upstream vs downstream (assimetria típica de ISP residencial é 1:8)
Detecção de DDoS
NetFlow é a forma mais eficiente de detectar ataques volumétricos:
# Detectar IPs recebendo mais de 1Gbps nos últimos 5 minutos
nfdump -R /var/cache/nfsen/profiles-data/live/ccr-borda \
-s dstip/bytes -n 20 -t -5m | awk '$NF > 625000000'
Ferramentas como FastNetMon consomem NetFlow em tempo real e disparam blackhole automaticamente via BGP quando detectam anomalias.
Verificação de Billing
Se você vende trânsito ou tem acordo de peering, NetFlow permite verificar independentemente os volumes reportados pelo upstream. Cruze com os dados do MRTG/Zabbix para validar.
Erros Comuns na Configuração
- cache-entries muito baixo — O padrão de 4096 é para roteadores domésticos. Em CCR de ISP, use no mínimo 128k. Se o cache enche, fluxos são descartados sem exportar.
- Firewall bloqueando UDP — O tráfego NetFlow vai do MikroTik para o coletor via UDP. Verifique se não há regra de drop no caminho.
- Monitorar interfaces erradas — Se você monitora a interface WAN e a LAN, cada fluxo aparece duas vezes (entrada + saída). Monitore só um lado ou configure o coletor para deduplicar.
- active-flow-timeout muito alto — Com timeout de 30 minutos (padrão), um download longo só aparece no coletor meia hora depois. Para NOC, 1-5 minutos é ideal.
- Não considerar o overhead — Em CCRs menores (hEX, RB4011), o Traffic Flow consome CPU. Monitore com
/system resource printapós habilitar.
NetFlow vs Syslog para Compliance CGNAT
Pergunta que aparece toda semana no NOC: "Posso usar NetFlow para compliance do Marco Civil no CGNAT?"
Resposta curta: Não é o ideal. O NetFlow registra fluxos de tráfego (IP origem, destino, portas, bytes). Para compliance CGNAT, você precisa do mapeamento NAT: qual IP privado + porta foi traduzido para qual IP público + porta, e quando.
O Syslog de eventos NAT (session-create/session-delete) é o padrão da indústria para isso. O NetFlow pode complementar, mas não substitui.
Use NetFlow para entender seu tráfego. Use Syslog para responder ofícios judiciais. Ambos são essenciais para operar um ISP profissional.
Configuração Completa de Referência
Resumo de tudo em um bloco de comandos para copiar e colar:
# === Traffic Flow (NetFlow) no MikroTik CCR ===
# Habilitar com parâmetros otimizados para ISP
/ip traffic-flow
set enabled=yes \
active-flow-timeout=1m \
inactive-flow-timeout=15s \
cache-entries=512k \
interfaces=all-ppp,ether1-upstream,ether2-upstream
# Adicionar coletor principal (Akvorado/NfSen)
/ip traffic-flow target
add dst-address=172.25.255.210:2055 version=9
# (Opcional) Segundo coletor para redundância
add dst-address=172.25.255.211:2055 version=9
# Verificar status
/ip traffic-flow print
/ip traffic-flow target print
Resolva isso automaticamente com NATVault
NetFlow cuida da análise de tráfego. NATVault cuida da compliance CGNAT. Juntos, seu provedor tem visibilidade total e conformidade legal. Teste grátis por 14 dias. Sem cartão de crédito.
Começar teste grátisPerguntas Frequentes
NetFlow consome muita CPU no MikroTik?
Em CCRs (CCR1036, CCR2004, CCR2216), o impacto é mínimo — menos de 2% de CPU adicional. Em equipamentos menores como hEX ou RB4011, pode chegar a 5-10% dependendo do volume de fluxos. Monitore com /system resource print após habilitar.
Qual a diferença entre NetFlow v5, v9 e IPFIX?
NetFlow v5 é o mais simples e compatível, mas só suporta IPv4. NetFlow v9 adiciona suporte a IPv6, MPLS e templates customizados. IPFIX (às vezes chamado de NetFlow v10) é o padrão IETF baseado no v9, com campos extensíveis. Para ISP em 2026, use v9 ou IPFIX.
Posso usar NetFlow para responder ofícios judiciais sobre CGNAT?
NetFlow sozinho não é suficiente para compliance CGNAT. Ele registra fluxos de tráfego, mas não o mapeamento NAT (qual IP privado foi traduzido para qual IP público + porta). Para isso, você precisa de logs Syslog de eventos NAT. O ideal é ter ambos: NetFlow para análise e Syslog para compliance.
Quanto espaço em disco os dados de NetFlow consomem?
Depende do número de fluxos. Um ISP com 5.000 assinantes gera aproximadamente 2-5 GB/dia de dados NetFlow comprimidos (nfdump comprime bem). Com retenção de 30 dias, reserve 150 GB. O Akvorado com ClickHouse comprime ainda mais — cerca de 1-2 GB/dia para o mesmo volume.
Posso enviar NetFlow de múltiplos MikroTiks para o mesmo coletor?
Sim, todos os coletores modernos (NfSen, Akvorado, ntopng) suportam múltiplas fontes. Cada fonte é identificada pelo IP de origem. Configure o mesmo target em todos os MikroTiks apontando para o mesmo coletor e porta UDP.