Jak generować dane NetFlow w Linuksie

17

Posiadamy wiele serwerów Linux, dla których chciałbym przechwycić dane NetFlow do przetworzenia przez analizator NetFlow. Zepsuła mnie łatwość, z jaką routery Mikrotik pozwalają na generowanie danych netflow, ale nie udało mi się znaleźć narzędzia typu open source , które jest w stanie wygenerować dane netflow dla wielu interfejsów w systemie Linux.

Natknąłem się na fprobe, ale wydaje się dość wadliwy. Trzeba przyznać, że nie spędziłem z tym dużo czasu, ponieważ chciałbym również ocenić inne możliwości. Innym narzędziem, o którym wspominałem, jest nprobe , który wydaje się być GPL, ale nie jest dostępny do pobrania za darmo, ponieważ jest oferowany tylko za opłatą.

Serwery, na których planuję generować dane dotyczące przepływu sieciowego, to wszystkie systemy Gentoo, ale tak naprawdę nie powinno to mieć znaczenia. Co najwyżej oznacza to, że musiałbym ręcznie skompilować narzędzie ze źródła.

Podsumowanie: Szukam generatora netflow typu open source, który będzie działał w systemie Linux i umożliwia przechwytywanie przepływów dla wielu interfejsów.

Richard Keller
źródło

Odpowiedzi:

16

Powinieneś sprawdzić IPT-NETFLOW , wydaje się, że dokładnie to, co potrzebujesz zaimplementowane jako moduł jądra dla IPTABLES. Jest aktywnie utrzymywany i stosowany z powodzeniem u niektórych dostawców usług internetowych, więc powinien być wystarczająco dobry. Dokumentacja może być lepsza (zajrzyj do pliku README).

Ochoto
źródło
Nie podoba mi się pomysł kompilacji niestandardowych modułów jądra - może to mieć wpływ na stabilność, chyba że jest to bardzo dobrze przetestowany i stabilny moduł ...
Wim Kerkhoff
To nie jest freebsd, gdzie takie oprogramowanie można opracować w oparciu o już istniejące funkcje jądra, takie jak netgraph. Prawie żaden sposób na zrobienie tego bez niestandardowego modułu. Dobrą rzeczą (i dlatego komentuję) jest to, że źródła są teraz na github i teraz obsługuje także dkms. Wygląda całkiem nieźle. github.com/aabc/ipt-netflow
Florian Heigl
8

ntop zrobi to, ale prawdopodobnie nie jest najlepszym wyborem. Zdecydowanie sprawdź pmacct ; jest przeznaczony właśnie do tego. Z listy funkcji:

  • Zbiera dane poprzez libpcap, Netlink / ULOG, NetFlow v1 / v5 / v7 / v8 / - v9, sFlow v2 / v4 / v5 i IPFIX
  • Zapisuje dane do wielu backendów, w tym tabel pamięci, MySQL, PostgreSQL, SQLite i BerkeleyDB
  • Eksportuje dane do zdalnych kolektorów przez IPFIX, NetFlow v5 / v9 isFlow v5
  • Replikuje przychodzące pakiety IPFIX, NetFlow i sFlow do zdalnych kolektorów

Wśród wielu innych rzeczy.

Wim Kerkhoff
źródło
0

Zaletą fprobe jest to, że może on generować strumienie Netflow przy użyciu zwykłego libpcap lub ulogd .

jest nieco bardziej przestarzały i wydaje się być bardziej buggowy, ale może być użyteczny do bootowania paska instalacyjnego, ponieważ nie wymaga kompilacji modułu jądra (jak ipt-netflow ) i nie dostarcza żadnych dodatkowych funkcji (takich jak ntop lub pmacct ).

anarcat
źródło