Wydrukuj tę dokumentację Pokaż jako slajdy
Spis Treści
-
Konfiguracja moniforingu Netflows
- Włączenie netgraph w systemie
- Ręczna instalacja bibliotek, modułów oraz programów
- /boot/loader.conf
- Wgranie modułów ręcznie
- Zainstalowanie pakietów
- Zmiany w nfsen.conf
- Instalacja skryptów startowych
- Modyfikacja skryptów startowych
- Zmiany w rc.conf
- Wykonanie potrzebnych katalogów
- Rekonfiguracja nfsen
- Uruchomienie potrzebnych usług
- Uruchomienie panelu webowego
- Źródła w sieci internet
Konfiguracja moniforingu Netflows
System FreeBSD posiada możliwość monitorowania netflows za pomocą mechanizmu netgraph. Bardzo dobrze jest to wyjaśnione na forum FreeBSD.
Włączenie netgraph w systemie
Z konfiguracji do źródeł należy zablokować linie, które powodują pominięcie budowania netgraph:
##WITHOUT_NETGRAPH= true
Ręczna instalacja bibliotek, modułów oraz programów
Jeżeli nie została zablokowana opcja w pliku /etc/src.conf, to można ręcznie dograć potrzebne moduły, biblioteki do systemu:
cd /usr/src/lib/libnetgraph/
make all install
cd /usr/src/sys/modules/netgraph
make all install
cd /usr/src/usr.sbin/ngctl
make all install
Po zainstalowaniu wszystkich potrzebnych rzeczy, można przejść dalej do komnfigurowania systemu.
/boot/loader.conf
Odpowiednie moduły powinien już załadować skrypt startowy ng_netflow, ale można dopisać do konfiguracji bootowania:
# NetGraph
netgraph_load="YES"
ng_netflow_load="YES"
ng_ksocket_load="YES"
ng_ether_load="YES"
Wgranie modułów ręcznie
kldload netgraph ng_netflow ng_ksocket ng_ether
Zainstalowanie pakietów
Za pomocą własnego repozytorium pakietów należy zainstalować potrzebne pakiety (nfdump zostanie doinstalowany jako zależność)
pkg install -Uy nfsen
Zmiany w nfsen.conf
Ze względu na fakt, że syslog facility local3 jest wykorzystywany przez bazę PostgreSQL, zatem trzeba zmienić, aby mieć logi w /var/log/messages lub innym dedykowanym pliku.
diff -udp /usr/local/etc/nfsen-dist.conf /usr/local/etc/nfsen.conf
--- /usr/local/etc/nfsen-dist.conf 2018-07-11 22:14:08.000000000 +0200
+++ /usr/local/etc/nfsen.conf 2018-07-17 16:20:41.493438000 +0200
@@ -44,10 +44,10 @@ $DOCDIR="${HTMLDIR}/doc";
#
# Var space for NfSen
-$VARDIR="${BASEDIR}/var/nfsen";
+$VARDIR="/var/db/nfsen";
# directory for all pid files
-# $PIDDIR="$VARDIR/run";
+$PIDDIR="/var/run/nfsen";
#
# Filter directory
# FILTERDIR="${VARDIR}/filters";
@@ -166,9 +166,7 @@ $PROFILERS = 6;
# Ident strings must be 1 to 19 characters long only, containing characters [a-zA-Z0-9_].
%sources = (
- 'upstream1' => { 'port' => '9995', 'col' => '#0000ff', 'type' => 'netflow' },
- 'peer1' => { 'port' => '9996', 'IP' => '172.16.17.18' },
- 'peer2' => { 'port' => '9996', 'IP' => '172.16.17.19' },
+ 'freebsd' => { 'port' => '4444', 'col' => '#0000ff', 'type' => 'netflow' },
);
#
@@ -183,7 +181,7 @@ $low_water = 90;
# Note: nfsen is very chatty for level 'debug' and 'info'
# For normal operation, you may set the logging level in syslog.conf
# to warning or error unless you want to debug NfSen
-$syslog_facility = 'local3';
+$syslog_facility = 'local4';
#
# SYSLOG mess
@@ -239,7 +237,7 @@ $syslog_facility = 'local3';
#
# Alert module: email alerting:
# Use this from address
-$MAIL_FROM = 'your@from.example.net';
+$MAIL_FROM = 'root@bsdserwis.com';
# Use this SMTP server
$SMTP_SERVER = 'localhost';
Instalacja skryptów startowych
Za pomocą własnego repozytorium skryptów instalujemy skrypt startowy dla netgraph: /usr/local/etc/rc.d/ng_netflow
Modyfikacja skryptów startowych
Jeżeli zostały wykonane zmiany w nfsen.conf, to trzeba również poprawić skrypt startowy (powinna być zmienna deklarowana na początku i nic nie trzeba by zmieniać):
--- /usr/local/etc/rc.d/nfsen.orig 2018-06-10 18:08:03.000000000 +0200
+++ /usr/local/etc/rc.d/nfsen 2018-06-10 18:19:43.650752000 +0200
@@ -32,10 +32,10 @@ nfsen_start_precmd()
# the perl install script that we're bypassing.
# It also is better because you don't have to reinstall
# to get this file back
- if [ ! -e /usr/local/var/nfsen/profiles-stat/live/profile.dat ]; then
+ if [ ! -e /var/db/nfsen/profiles-stat/live/profile.dat ]; then
time=$(/bin/date +%s);
timeu=$(/bin/expr $time - 300);
- profile_dat=/usr/local/var/nfsen/profiles-stat/live/profile.dat
+ profile_dat=/var/db/nfsen/profiles-stat/live/profile.dat
/usr/bin/printf "name = live
group = .
tbegin = $time
Zmiany w rc.conf
ng_netgraph_enable="YES"
#ng_netgraph_iface="em0" # warto/s/c domy/slna
Dodatkowo za pomocą własnego repozytorium skryptów należy zainstalować konfigurację startową dla nfsen, albo też zmodyfikować sam plik /etc/rc.conf:
nfsen_enable="YES"
nfsen_chdir="/var/db/nfsen"
nfsen_user="www"
Wykonanie potrzebnych katalogów
su -m www -c "mkdir -p /var/db/nfsen/profiles-data/live/"
su -m www -c "mkdir -p /var/db/nfsen/profiles-stat/live/"
mkdir -p /var/run/nfsen
chown www:www /var/run/nfsen
Rekonfiguracja nfsen
Po wykonaniu zmian w pliku startowym dla nfsen, trzeba wykonać jego konfigurację:
nfsen reconfig
Uruchomienie potrzebnych usług
service ng_netflow start
service nfsen start
Uruchomienie panelu webowego
apache24
Za pomocą własnego repozytorium skryptów należy zainstalować plik konfiguracyjny 019-nfsen.conf. W konfiguracji globalnej lub danego wirtualnego hosta należy dodać konfigurację:
Alias /nfsen/ /usr/local/www/nfsen/
a następnie wykonać przeładowanie serwera httpd.
nginx
Za pomocą własnego repozytorium skryptów należy zainstalować plik konfiguracyjny 019-nfsen.conf, a następnie dołączyć go w konfiguracji wirtualnego serwera.
Ponieważ pakiet nfsen może doinstalować w ramach zależności moduł phpNN-sockets, zatem warto wykonać restart usług:
service php-fpm restart
service nginx restart
Modyfikacja pliku konfiguracyjnego
W pliku /usr/local/www/nfsen/conf.php należy zmienić ścieżkę:
$COMMSOCKET = "/var/run/nfsen/nfsen.comm"
Aktualizacja bazy dla pkg
Modyfikacja pliku startowego wymaga, aby poprawić bazę sum kontrolnych plików dla pkg:
pkg check -r nfsen
Źródła w sieci internet
Informacje dotyczące samego Netflow
http://elf11.github.io/2015/09/10/NetFlows-data-generation.html
https://blog.webernetz.net/using-netflow-with-nprobe-for-ntopng/
(c) 2004 - 2026 BSD Serwis Krzysztof Stryjek. W przypadku błędów, poprawek proszę kontaktować się z administratorem wiki.

url4
Gdy trzeba dołączyć inną (pod)stronę https://moinmo.in/HelpOnMacros/Include https://moinmo.in/HelpOnParsers
Nieprawidłowe argumenty "pagename, heading, level, from="regex", to="regex", sort=ascending|descending, items=n, skipitems=n, titlesonly, editlink"!