Solución 1:
Debe verificar IPT-NETFLOW, parece exactamente lo que necesita implementar como un módulo de kernel para IPTABLES. Se mantiene activamente y se usa 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).
Solución 2:
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 funciones:
- 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 recopiladores remotos a través de IPFIX, NetFlow v5/v9 ysFlow v5
- Replica paquetes IPFIX, NetFlow y sFlow entrantes a recopiladores remotos
Entre muchas otras cosas.