Cómo generar datos de netflow en Linux

17

Tenemos varios servidores Linux para los que me gustaría capturar datos de flujo de red para que sean procesados ​​por un analizador de flujo de red. Me ha estropeado la facilidad con la que los enrutadores Mikrotik permiten la generación de datos de flujo de red, pero no he logrado encontrar una herramienta de código abierto que pueda generar datos de flujo de red para múltiples interfaces en un sistema Linux.

Me he encontrado con fprobe pero parece bastante defectuoso. Es cierto que todavía no he pasado mucho tiempo con él, ya que también me gustaría evaluar algunas otras posibilidades. La otra herramienta que he visto mencionada es nprobe , que parece ser GPL, pero no está disponible como descarga gratuita, ya que solo se ofrece por una tarifa.

Los servidores en los que planeo generar datos de flujo de red son todos sistemas Gentoo, pero esto realmente no debería hacer ninguna diferencia. A lo sumo, significa que tendría que compilar manualmente una herramienta desde la fuente.

Resumen: Estoy buscando un generador de flujo de red de código abierto que funcione en Linux y permita capturar flujos para múltiples interfaces.

Richard Keller
fuente

Respuestas:

16

Debe verificar IPT-NETFLOW , parece exactamente lo que necesita implementado como módulo de kernel para IPTABLES. Se mantiene activamente y se utiliza con éxito en algunos ISP, por lo que debería ser lo suficientemente bueno. Sin embargo, la documentación podría ser mejor (consulte el archivo README).

Ochoto
fuente
No me gusta la idea de tener que compilar los módulos del núcleo personalizados - que puede afectar a la estabilidad, a menos que de hecho es un módulo muy bien probado y estable ...
Wim Kerkhoff
Esto no es freebsd, donde dicho software puede desarrollarse contra características del núcleo ya existentes como netgraph. Casi ninguna forma de hacerlo sin un módulo personalizado. Lo bueno (y es por eso que estoy comentando) es que las fuentes ahora están en github y ahora también tiene soporte para dkms. Se ve bastante bien. github.com/aabc/ipt-netflow
Florian Heigl
8

ntop lo hará, pero probablemente no sea la mejor opción. Definitivamente echa un vistazo a pmacct ; Está diseñado exactamente para esto. De la lista de características:

  • Recopila datos a través de libpcap, Netlink / ULOG, NetFlow v1 / v5 / v7 / v8 / - v9, sFlow v2 / v4 / v5 e IPFIX
  • Guarda datos en varios backends, incluidas tablas de memoria, MySQL, PostgreSQL, SQLite y BerkeleyDB
  • Exporta datos a recolectores remotos a través de IPFIX, NetFlow v5 / v9 ysFlow v5
  • Replica los paquetes entrantes IPFIX, NetFlow y sFlow en recopiladores remotos

Entre muchas otras cosas.

Wim Kerkhoff
fuente
0

La ventaja de fprobe es que puede generar flujos de Netflow usando libpcap o ulogd .

está un poco más anticuado y parece más problemático, pero puede ser útil para iniciar una configuración, ya que no requiere compilar un módulo del núcleo (como ipt-netflow ) y no incluye características adicionales (como ntop o pmacct )

anarcat
fuente