Como exportar NetStream em IPFIX ou NetFlow v9 de um Huawei NE40E/NE8000 para o EdgeWarden

NetStream no VRP8 passo a passo: modo da placa, IPFIX ou v9, taxa de amostragem anunciada, timeouts, IPv6 e conferência no NE e no EdgeWarden.

Por que NetStream em IPFIX

Nos Huawei NE40E e NetEngine 8000 com VRP8, a exportação de flow se chama NetStream. Ela sai em NetFlow v5, v9 ou IPFIX, mas só v9 e IPFIX trazem IPv6, BGP next-hop e índice de interface de 32 bits. É com esses campos que o EdgeWarden identifica o destino atacado, o protocolo e a porta por onde o ataque entra.

Você vai configurar o modo de processamento da placa, o formato, a origem e o coletor 192.0.2.10:2055, timeouts curtos, a amostragem com a taxa anunciada ao coletor, as interfaces de borda e o IPv6. Depois, vai conferir tudo no roteador e no EdgeWarden.

Os comandos seguem os guias de configuração do NE40E V800R022 e do NetEngine 8000 (V800R012 e V800R022). Onde há diferença entre modelos ou versões, o texto avisa.

Pré-requisitos

  • NE40E ou NetEngine 8000 com VRP8. A configuração usa dois estágios: nada vale até o commit.
  • Endereço de origem estável, de preferência a loopback (198.51.100.1 nos exemplos), com rota até o coletor pela rede de dados. Os flows saem pelas placas de interface; a porta de gerência da placa principal não encaminha esse tráfego.
  • SNMP v2c ou v3 liberado para 192.0.2.10: nome e capacidade das interfaces vêm por SNMP.
  • Porta 2055/UDP liberada no servidor do EdgeWarden.
  • Vaga na licença: cada IP de origem conta como um exportador (Starter 1, Professional 2, Enterprise 10). Acima da cota, os flows são descartados antes do parse, com aviso só no log do serviço.

Passo 1: modo de processamento na placa

Cada placa de interface com porta amostrada precisa saber quem monta e exporta os flows. No modo distribuído, a própria placa faz tudo:

VRP8: modo distribuído no slot 1
system-view
slot 1
 ip netstream sampler to slot self
 quit
commit

Repita para cada slot com interface amostrada. O ipv6 netstream sampler to slot tem a mesma função: configure só um deles ou, se configurar os dois, use o mesmo modo.

Se uma placa não processa a amostragem, os guias do NE40E e do NetEngine 8000 descrevem o modo centralizado, em que outra placa com suporte monta e exporta os flows (ip netstream sampler to slot <slot>). As placas aceitas variam por modelo e versão: no NE40E V800R022, só a LPUI-51-L aceita o modo centralizado, e o NE40E-X8AK não o suporta.

Para saber o número dos slots, use display device. No NE40E, o primeiro número do nome da interface é o slot (GigabitEthernet1/0/0 fica no slot 1, como nos exemplos); em outros modelos a numeração muda. No NetEngine 8000 M14/M8, o guia usa o slot 15 (placa que processa o NetStream) para a GigabitEthernet0/1/0.

Passo 2: formato, origem e coletor

VRP8: IPFIX para o EdgeWarden
ip netstream export version ipfix origin-as bgp-nexthop ttl
ip netstream export index-switch 32
ip netstream as-mode 32
ip netstream tcp-flag enable
ip netstream export source 198.51.100.1
ip netstream export host 192.0.2.10 2055
commit
  • origin-as exporta o AS que originou o prefixo. Com peer-as, os flows mostram o AS do vizinho BGP (o seu trânsito), e não o da origem.
  • ttl acrescenta o TTL ao registro. Sem ele, o detector de variação de TTL não tem dado. O EdgeWarden lê o TTL mínimo (IE 52) e avisa no log quando nenhum flow traz esse campo.
  • index-switch 32 aumenta o índice de interface exportado de 16 para 32 bits e faz o NE exportar o ifIndex do sistema, o mesmo do SNMP. No padrão de 16 bits, o índice é alocado pelo próprio NetStream e não bate com o SNMP. A Huawei só aceita a troca com v9 ou IPFIX, inclusive nos flows agregados, se houver.
  • as-mode 32 é necessário se a sua rede ou os seus vizinhos usam ASN de 4 bytes.
  • tcp-flag enable alimenta a detecção de SYN flood. A Huawei avisa que ele aumenta bastante o número de flows.
  • Se o coletor só é alcançável por uma VRF, acrescente vpn-instance <nome> ao final do export host.

Prefere NetFlow v9? Use ip netstream export version 9 origin-as bgp-nexthop ttl. Os formatos são mutuamente exclusivos, e o EdgeWarden recebe os dois na mesma porta 2055.

Passo 3: timeouts e templates

VRP8: timeouts, templates e anúncio da taxa
ip netstream timeout active interval-second 60
ip netstream timeout inactive 15
ip netstream export template timeout-rate 1
ip netstream export template option sampler
ip netstream export template option timeout-rate 1
commit

O active timeout define de quanto em quanto tempo um flow longo, como o de um ataque, é exportado, e se soma ao ciclo de análise do EdgeWarden (10 s por padrão). O padrão citado pela Huawei é de 30 minutos, tempo demais para detectar DDoS. 60 s é a recomendação comum; menos detecta mais cedo e gera mais exportação. A opção interval-second, em segundos, aparece nos guias do NE40E V800R022 e do NetEngine 8000 (V800R012 e V800R022). Se o ? da sua versão não a mostrar, use ip netstream timeout active 1: sem a opção, o valor é em minutos.

O timeout-rate dos templates é em minutos (o padrão citado pela Huawei é 30). Depois de um reinício do coletor, os dados v9 e IPFIX só são decodificados quando o template chega de novo; com 1 minuto, a espera é curta.

O option sampler envia ao coletor a taxa de amostragem de cada interface e direção. É com ele que o EdgeWarden mostra a taxa como detectado.

Passo 4: amostragem

VRP8: amostragem 1:1000 nas duas direções
ip netstream sampler fix-packets 1000 inbound
ip netstream sampler fix-packets 1000 outbound
commit

fix-packets 1000 amostra 1 de cada 1.000 pacotes; random-packets 1000 amostra em média 1 a cada 1.000, em posição aleatória. Os dois servem. Evite fix-time: ele amostra por tempo e não dá uma razão 1:N fixa para multiplicar o volume.

A taxa global vale para todas as interfaces; a configurada dentro de uma interface tem precedência. Use a mesma taxa nas duas direções: com taxas diferentes, uma direção vai bater com o SNMP e a outra não. O mínimo aceito depende da placa. No NetEngine 8000 X, confira com display netstream sampler lower-limit; nos demais, use o ? depois de fix-packets.

Passo 5: interfaces de borda

Habilite nas interfaces de trânsito, PTT e CDN. Para ver ataques saindo de clientes, inclua também as interfaces deles.

VRP8: NetStream IPv4 nas interfaces de borda
interface GigabitEthernet1/0/0
 ip netstream inbound
 ip netstream outbound
 quit
interface GigabitEthernet1/0/1.100
 ip netstream inbound
 ip netstream outbound
 quit
commit

NetStream habilitado na interface principal não coleta o tráfego das subinterfaces. Se o trânsito chega numa subinterface (GigabitEthernet1/0/1.100), habilite nela.

Passo 6: IPv6

O IPv6 tem comandos próprios e só sai em v9 ou IPFIX. Use a mesma origem IPv4: o EdgeWarden identifica o exportador pelo IP de origem, e assim o NE ocupa uma vaga da licença e um único cadastro.

VRP8: NetStream IPv6
ipv6 netstream export version ipfix origin-as bgp-nexthop ttl
ipv6 netstream export index-switch 32
ipv6 netstream as-mode 32
ipv6 netstream export source 198.51.100.1
ipv6 netstream export host 192.0.2.10 2055
ipv6 netstream timeout active interval-second 60
ipv6 netstream timeout inactive 15
ipv6 netstream export template timeout-rate 1
ipv6 netstream export template option sampler
ipv6 netstream export template option timeout-rate 1
ipv6 netstream tcp-flag enable
ipv6 netstream sampler fix-packets 1000 inbound
ipv6 netstream sampler fix-packets 1000 outbound
interface GigabitEthernet1/0/0
 ipv6 netstream inbound
 ipv6 netstream outbound
 quit
commit

O index-switch do IPv6 é configurado à parte: sem ipv6 netstream export index-switch 32, os flows IPv6 saem com o índice de 16 bits e as interfaces podem aparecer como if:N.

No ipv6 netstream sampler, use o mesmo modo e o mesmo valor do IPv4: o EdgeWarden aplica uma taxa por exportador, e o NE exporta os dois pela mesma origem.

Conferência no roteador

VRP8: estado do NetStream
display netstream global
display ip netstream statistics slot 1
display ipv6 netstream statistics slot 1
display ip netstream cache origin slot 1
display interface GigabitEthernet1/0/0
GigabitEthernet1/0/0 current state : UP (ifindex: 7)
  • display netstream global mostra a configuração global de NetStream em vigor.
  • Os contadores de statistics precisam crescer entre duas execuções.
  • cache origin lista os flows ainda na placa, com interfaces, ASNs e next-hop. Se estiver vazio, o slot ou a interface não está amostrando.
  • O ifindex do display interface é o número que aparece no flow depois do index-switch 32.

Conferência no EdgeWarden

No servidor, confirme primeiro que os pacotes chegam da origem certa:

Servidor EdgeWarden: pacotes do NE
sudo tcpdump -i any -n -c 5 udp port 2055 and host 198.51.100.1
10:15:02.481233 ens18 In  IP 198.51.100.1.50123 > 192.0.2.10.2055: UDP, length 1380
sudo journalctl -u flowspec-core -f
  1. Em Configurações → Rede → Dispositivos, cadastre o NE com Endereço IP 198.51.100.1 (o export source), Taxa de Amostragem de Flow 1000 e os dados de SNMP.
  2. Na lista, a coluna SNMP deve mostrar Online e a coluna Tráfego atual deve sair do traço.
  3. Com o option sampler, a coluna Amostragem passa a detectado quando o template de opções chega, e esse valor vence o cadastro. Se aparecer cadastro: 1:N (ignorado), corrija o cadastro para o valor anunciado.
  4. Em 1 a 2 minutos os flows aparecem na tela Flows. Filtre por Exporter IP 198.51.100.1. Os valores já vêm multiplicados pela taxa.
  5. Valide a taxa no painel Fluxo × SNMP nas interfaces, da tela Análise do instante: 1/N do SNMP indica taxa faltando; N×, taxa aplicada duas vezes.

Armadilhas comuns

  • Interfaces como if:N: a origem exportada difere do IP cadastrado, ou falta o index-switch 32 (no IPv6, o ipv6 netstream export index-switch 32) e o índice do flow não bate com o SNMP.
  • ASN errado nos flows: peer-as no lugar de origin-as. Refaça os dois export version (IPv4 e IPv6) com origin-as e confira com display current-configuration | include netstream.
  • Next-hop zerado durante a mitigação: os guias do NE40E e do NetEngine 8000 X avisam que, com BGP FlowSpec ou redirecionamento por ACL para túnel, a amostragem de entrada exporta next-hop e BGP next-hop como 0.0.0.0 (ou ::) e o AS de destino como 0.
  • Exportação pela gerência: coletor alcançável só pela interface de gerência não recebe nada; ajuste a rota ou use vpn-instance.
  • Slot esquecido: interface numa placa sem ip netstream sampler to slot não gera flow.
  • Só IPv4 na tela: faltaram os comandos ipv6 netstream, globais ou na interface.
  • Detector inerte: o EdgeWarden avisa no log quando um campo não chega. Sem ttl no export version, o detector de variação de TTL fica sem dado; alguns NE não exportam os campos de fragmentação, e o detector de Fragment Flood fica cego.

Quem alcança a 2055/UDP pode injetar flows forjados e envenenar a detecção. Restrinja a porta aos IPs dos roteadores, por exemplo com sudo ufw allow from 198.51.100.1 to any port 2055 proto udp, sem deixar uma regra aberta como ufw allow 2055/udp.

Próximos passos

Se algum passo falhar, siga o checklist Nenhum flow aparece no EdgeWarden?. Para calibrar taxa e timeouts, leia Amostragem e timeouts de NetFlow e IPFIX sem perder ataques. Tem Juniper na mesma borda? Veja IPFIX no Juniper MX. Revise portas e buffers no guia de instalação e veja em Recursos como o EdgeWarden usa esses flows para detectar ataques.

Artigos relacionados

Todos os artigos

Quer ver esses flows no EdgeWarden?

Peça uma demonstração com a exportação da sua própria rede, ou siga o guia de instalação para subir o coletor.