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.1nos 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:
system-view
slot 1
ip netstream sampler to slot self
quit
commitRepita 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
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
commitorigin-asexporta o AS que originou o prefixo. Compeer-as, os flows mostram o AS do vizinho BGP (o seu trânsito), e não o da origem.ttlacrescenta 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 32aumenta 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 enablealimenta 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 doexport 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
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
commitO 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
ip netstream sampler fix-packets 1000 inbound
ip netstream sampler fix-packets 1000 outbound
commitfix-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.
interface GigabitEthernet1/0/0
ip netstream inbound
ip netstream outbound
quit
interface GigabitEthernet1/0/1.100
ip netstream inbound
ip netstream outbound
quit
commitNetStream 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.
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
commitO 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
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 globalmostra a configuração global de NetStream em vigor.- Os contadores de
statisticsprecisam crescer entre duas execuções. cache originlista os flows ainda na placa, com interfaces, ASNs e next-hop. Se estiver vazio, o slot ou a interface não está amostrando.- O
ifindexdodisplay interfaceé o número que aparece no flow depois doindex-switch 32.
Conferência no EdgeWarden
No servidor, confirme primeiro que os pacotes chegam da origem certa:
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- Em Configurações → Rede → Dispositivos, cadastre o NE com Endereço IP
198.51.100.1(oexport source), Taxa de Amostragem de Flow1000e os dados de SNMP. - Na lista, a coluna SNMP deve mostrar Online e a coluna Tráfego atual deve sair do traço.
- Com o
option sampler, a coluna Amostragem passa a detectado quando o template de opções chega, e esse valor vence o cadastro. Se aparecercadastro: 1:N (ignorado), corrija o cadastro para o valor anunciado. - 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. - 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 oindex-switch 32(no IPv6, oipv6 netstream export index-switch 32) e o índice do flow não bate com o SNMP. - ASN errado nos flows:
peer-asno lugar deorigin-as. Refaça os doisexport version(IPv4 e IPv6) comorigin-ase confira comdisplay 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 slotnã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
ttlnoexport 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.